|
@@ -39,38 +39,27 @@ public class WechatCheckinDataServiceImpl extends ServiceImpl<WechatCheckinDataM
|
|
public void getCheckinData() {
|
|
public void getCheckinData() {
|
|
try {
|
|
try {
|
|
Map<String, Object> qywxAccessToken = tokenService.getOAAccessToken();
|
|
Map<String, Object> qywxAccessToken = tokenService.getOAAccessToken();
|
|
- System.err.println(qywxAccessToken);
|
|
|
|
if ((Integer) qywxAccessToken.get("code") != 0) {
|
|
if ((Integer) qywxAccessToken.get("code") != 0) {
|
|
log.error("企业微信获取token失败,返回信息:{}", qywxAccessToken.get("message"));
|
|
log.error("企业微信获取token失败,返回信息:{}", qywxAccessToken.get("message"));
|
|
throw new Exception("企业微信获取token失败");
|
|
throw new Exception("企业微信获取token失败");
|
|
}
|
|
}
|
|
-
|
|
|
|
List<WechatUserList> list = userListService.list();
|
|
List<WechatUserList> list = userListService.list();
|
|
if (Check.isNull(list)) {
|
|
if (Check.isNull(list)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- // params.put("access_token", (String) qywxAccessToken.get("accessToken"));
|
|
|
|
for (WechatUserList userList : list) {
|
|
for (WechatUserList userList : list) {
|
|
- // params.remove("useridlist");
|
|
|
|
JSONObject params = new JSONObject();
|
|
JSONObject params = new JSONObject();
|
|
-
|
|
|
|
String userId = userList.getUserId();
|
|
String userId = userList.getUserId();
|
|
String departId = userList.getDepartId();
|
|
String departId = userList.getDepartId();
|
|
params.put("opencheckindatatype", 3);
|
|
params.put("opencheckindatatype", 3);
|
|
-
|
|
|
|
JSONArray userArr = new JSONArray();
|
|
JSONArray userArr = new JSONArray();
|
|
-
|
|
|
|
userArr.add(userId);
|
|
userArr.add(userId);
|
|
params.put("useridlist", userArr);
|
|
params.put("useridlist", userArr);
|
|
params.put("starttime", 1598889600);
|
|
params.put("starttime", 1598889600);
|
|
params.put("endtime", 1600099200);
|
|
params.put("endtime", 1600099200);
|
|
-
|
|
|
|
-
|
|
|
|
String resultStr = HttpUtils.httpPostRequestTest(QYWxConstant.QYWX_CHECKIN_DATA + "?access_token=" + qywxAccessToken.get("accessToken"), params.toJSONString(), null);
|
|
String resultStr = HttpUtils.httpPostRequestTest(QYWxConstant.QYWX_CHECKIN_DATA + "?access_token=" + qywxAccessToken.get("accessToken"), params.toJSONString(), null);
|
|
JSONObject resultJson = JSONObject.parseObject(resultStr);
|
|
JSONObject resultJson = JSONObject.parseObject(resultStr);
|
|
- System.err.println(resultJson);
|
|
|
|
Integer errcode = resultJson.getInteger("errcode");
|
|
Integer errcode = resultJson.getInteger("errcode");
|
|
if (errcode == 0) {
|
|
if (errcode == 0) {
|
|
JSONArray checkindata = resultJson.getJSONArray("checkindata");
|
|
JSONArray checkindata = resultJson.getJSONArray("checkindata");
|
|
@@ -81,31 +70,37 @@ public class WechatCheckinDataServiceImpl extends ServiceImpl<WechatCheckinDataM
|
|
WechatCheckinData checkinData = new WechatCheckinData();
|
|
WechatCheckinData checkinData = new WechatCheckinData();
|
|
checkinData.setDepartId(departId);
|
|
checkinData.setDepartId(departId);
|
|
checkinData.setUserId(userId);
|
|
checkinData.setUserId(userId);
|
|
- java.util.Date checkDate = DateUtils.stampToTime(jsonObject.getLong("checkin_time"));
|
|
|
|
|
|
+ checkinData.setCheckinType(jsonObject.getString("checkin_type"));
|
|
|
|
+ Long checkinTimeStamp = jsonObject.getLong("checkin_time"); //下班打卡时间
|
|
|
|
+ java.util.Date checkDate = DateUtils.stampToTime(checkinTimeStamp);
|
|
checkinData.setCheckinTime(checkDate);
|
|
checkinData.setCheckinTime(checkDate);
|
|
|
|
+ String dateStr = DateUtils.formatDate(checkDate) + " 21:30:00";
|
|
|
|
+ Long dateStamp = DateUtils.timeToStamp(dateStr); // 每天九点半时间戳
|
|
|
|
+ if (checkinTimeStamp >= dateStamp) {
|
|
|
|
+ checkinData.setOvertimeOrNot(1);
|
|
|
|
+ String overtimeStr = DateUtils.formatDate(checkDate) + " 19:00:00";
|
|
|
|
+ Long overtimeStamp = DateUtils.timeToStamp(overtimeStr); // 每天九点半时间戳
|
|
|
|
+ Double overtime = Double.valueOf(checkinTimeStamp - overtimeStamp) / 3600;
|
|
|
|
+ checkinData.setOvertime(overtime);
|
|
|
|
+ }
|
|
checkinData.setWifiname(jsonObject.getString("wifiname"));
|
|
checkinData.setWifiname(jsonObject.getString("wifiname"));
|
|
checkinData.setNotes(jsonObject.getString("notes"));
|
|
checkinData.setNotes(jsonObject.getString("notes"));
|
|
checkinData.setLat(jsonObject.getString("lng"));
|
|
checkinData.setLat(jsonObject.getString("lng"));
|
|
checkinData.setLocationDetail(jsonObject.getString("location_detail"));
|
|
checkinData.setLocationDetail(jsonObject.getString("location_detail"));
|
|
checkinData.setGroupName(jsonObject.getString("groupname"));
|
|
checkinData.setGroupName(jsonObject.getString("groupname"));
|
|
checkinData.setDeviceid(jsonObject.getString("deviceid"));
|
|
checkinData.setDeviceid(jsonObject.getString("deviceid"));
|
|
- checkinData.setCheckinType(jsonObject.getString("checkin_type"));
|
|
|
|
checkinData.setExceptionType(jsonObject.getString("exception_type"));
|
|
checkinData.setExceptionType(jsonObject.getString("exception_type"));
|
|
checkinData.setLocationTitle(jsonObject.getString("location_title"));
|
|
checkinData.setLocationTitle(jsonObject.getString("location_title"));
|
|
checkinData.setWifimac(jsonObject.getString("wifimac"));
|
|
checkinData.setWifimac(jsonObject.getString("wifimac"));
|
|
checkinData.setMediaids(jsonObject.getJSONArray("mediaids").toJSONString());
|
|
checkinData.setMediaids(jsonObject.getJSONArray("mediaids").toJSONString());
|
|
checkinData.setLat(jsonObject.getString("lat"));
|
|
checkinData.setLat(jsonObject.getString("lat"));
|
|
this.save(checkinData);
|
|
this.save(checkinData);
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
- // throw new Exception("企业微信获取部门列表");
|
|
|
|
-
|
|
|
|
|
|
+ log.error("获取打卡数据异常");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|