Commit 25386115 authored by 赵啸非's avatar 赵啸非

添加每日接口同步考勤数据

parent 767dd507
package com.mortals.xhx.daemon.task; package com.mortals.xhx.daemon.task;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.PageUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
...@@ -65,13 +66,26 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService { ...@@ -65,13 +66,26 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
doorEventReq.setStartTime(todayStart); doorEventReq.setStartTime(todayStart);
doorEventReq.setEndTime(todayEnd); doorEventReq.setEndTime(todayEnd);
doorEventReq.setPageNo(1); doorEventReq.setPageNo(1);
doorEventReq.setPageSize(1000); doorEventReq.setPageSize(1);
Rest<DoorEventDataInfo> doorEventsRest = hikDoorService.getDoorEvents(doorEventReq); Rest<DoorEventDataInfo> doorEventsRest = hikDoorService.getDoorEvents(doorEventReq);
log.info("doorEventsRest:{} msg:{}", doorEventsRest.getCode(), doorEventsRest.getMsg()); log.info("doorEventsRest:{} msg:{}", doorEventsRest.getCode(), doorEventsRest.getMsg());
if (doorEventsRest.getCode() == YesNoEnum.YES.getValue()) { if (doorEventsRest.getCode() == YesNoEnum.YES.getValue()) {
//分页获取考勤数据
Integer total = doorEventsRest.getData().getTotal();
int pageCount = PageUtil.totalPage(total, 1000);
for (int i = 1; i <= pageCount; i++) {
doorEventReq.setPageNo(i);
doorEventReq.setPageSize(1000);
doorEventsRest = hikDoorService.getDoorEvents(doorEventReq);
log.info("doorEventsRest:{} msg:{},page:{}", doorEventsRest.getCode(), doorEventsRest.getMsg(),doorEventReq.getPageNo());
getDoorEvents( doorEventsRest);
}
}
}
private void getDoorEvents( Rest<DoorEventDataInfo> doorEventsRest) {
//同步当前考勤数据 //同步当前考勤数据
List<AttendanceRecordHikEntity> attRecords = doorEventsRest.getData().getList().stream().map(item -> { List<AttendanceRecordHikEntity> attRecords = doorEventsRest.getData().getList().stream().map(item -> {
AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity(); AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity();
...@@ -103,8 +117,8 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService { ...@@ -103,8 +117,8 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
//查询当天考勤记录是否有重复的 有的 则不添加 //查询当天考勤记录是否有重复的 有的 则不添加
AttendanceRecordHikQuery recordHikQuery = new AttendanceRecordHikQuery(); AttendanceRecordHikQuery recordHikQuery = new AttendanceRecordHikQuery();
recordHikQuery.setAttendanceDateStart(DateUtil.format(todayStart, "yyyy-MM-dd")); recordHikQuery.setAttendanceDateStart(DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd"));
recordHikQuery.setAttendanceDateEnd(DateUtil.format(todayStart, "yyyy-MM-dd")); recordHikQuery.setAttendanceDateEnd(DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd"));
recordHikQuery.setRemarkList(eventIds); recordHikQuery.setRemarkList(eventIds);
Set<String> eventIdSet = recordHikService.find(recordHikQuery).parallelStream().map(i -> i.getRemark()).collect(Collectors.toSet()); Set<String> eventIdSet = recordHikService.find(recordHikQuery).parallelStream().map(i -> i.getRemark()).collect(Collectors.toSet());
...@@ -114,9 +128,6 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService { ...@@ -114,9 +128,6 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
} }
log.info("saveRecordList size:{}", saveRecordList.size()); log.info("saveRecordList size:{}", saveRecordList.size());
}
} }
......
...@@ -38,7 +38,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers ...@@ -38,7 +38,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(personReq), null, null, "application/json"); String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(personReq), null, null, "application/json");
HikApiRest<PersonDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<PersonDataInfo>>() { HikApiRest<PersonDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<PersonDataInfo>>() {
}); });
if (rest.getCode() == "0") { if ("0".equals(rest.getCode())) {
return Rest.ok(rest.getData()); return Rest.ok(rest.getData());
} else { } else {
log.info("person error resp=>{}", respJson); log.info("person error resp=>{}", respJson);
...@@ -74,7 +74,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers ...@@ -74,7 +74,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(orgListReq), null, null, "application/json"); String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(orgListReq), null, null, "application/json");
HikApiRest<OrgDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<OrgDataInfo>>() { HikApiRest<OrgDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<OrgDataInfo>>() {
}); });
if (rest.getCode() == "0") { if ("0".equals(rest.getCode())) {
return Rest.ok(rest.getData()); return Rest.ok(rest.getData());
} else { } else {
log.info("org list error resp=>{}", respJson); log.info("org list error resp=>{}", respJson);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment