Commit 9168439b authored by daijunxiong's avatar daijunxiong

Merge remote-tracking branch 'origin/master'

parents af2038d0 25386115
...@@ -34,7 +34,7 @@ import java.util.Map; ...@@ -34,7 +34,7 @@ import java.util.Map;
@Component @Component
@Slf4j @Slf4j
@Order(1) @Order(1)
@Profile({"default", "develop", "test"}) @Profile({"default", "develop", "test1"})
public class WebLogAspect { public class WebLogAspect {
@Pointcut("execution(public * com.mortals..*Controller.*(..))") @Pointcut("execution(public * com.mortals..*Controller.*(..))")
public void webLog() { public void webLog() {
......
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,58 +66,68 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService { ...@@ -65,58 +66,68 @@ 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:{}",doorEventsRest.getCode());
if (doorEventsRest.getCode() == YesNoEnum.YES.getValue()) { if (doorEventsRest.getCode() == YesNoEnum.YES.getValue()) {
//分页获取考勤数据
//同步当前考勤数据 Integer total = doorEventsRest.getData().getTotal();
List<AttendanceRecordHikEntity> attRecords = doorEventsRest.getData().getList().stream().map(item -> { int pageCount = PageUtil.totalPage(total, 1000);
AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity(); for (int i = 1; i <= pageCount; i++) {
recordHikEntity.initAttrValue(); doorEventReq.setPageNo(i);
StaffEntity staffCache = staffService.getExtCache(item.getJobNo()); doorEventReq.setPageSize(1000);
if (ObjectUtils.isEmpty(staffCache)) return null; doorEventsRest = hikDoorService.getDoorEvents(doorEventReq);
log.info("doorEventsRest:{} msg:{},page:{}", doorEventsRest.getCode(), doorEventsRest.getMsg(),doorEventReq.getPageNo());
recordHikEntity.setStaffId(staffCache.getId()); getDoorEvents( doorEventsRest);
recordHikEntity.setStaffName(staffCache.getName());
recordHikEntity.setWorkNum(staffCache.getWorkNum());
recordHikEntity.setDeptId(staffCache.getDeptId());
recordHikEntity.setDeptName(staffCache.getDeptName());
recordHikEntity.setPositionId(staffCache.getPositionId());
recordHikEntity.setPositionName(staffCache.getPositionName());
recordHikEntity.setAttendanceDate(item.getEventTime());
recordHikEntity.setAttendanceAddress(item.getDoorName());
recordHikEntity.setEventSource("门禁点");
recordHikEntity.setRemark(item.getEventId());
recordHikEntity.setCreateTime(new Date());
recordHikEntity.setCreateUserName("system");
recordHikEntity.setCreateUserId(1L);
return recordHikEntity;
}).collect(Collectors.toList());
log.info("attRecords size:{}",attRecords.size());
List<String> eventIds = attRecords.parallelStream().map(i -> i.getRemark()).collect(Collectors.toList());
//查询当天考勤记录是否有重复的 有的 则不添加
AttendanceRecordHikQuery recordHikQuery = new AttendanceRecordHikQuery();
recordHikQuery.setAttendanceDateStart(DateUtil.format(todayStart, "yyyy-MM-dd"));
recordHikQuery.setAttendanceDateEnd(DateUtil.format(todayStart, "yyyy-MM-dd"));
recordHikQuery.setRemarkList(eventIds);
Set<String> eventIdSet = recordHikService.find(recordHikQuery).parallelStream().map(i -> i.getRemark()).collect(Collectors.toSet());
List<AttendanceRecordHikEntity> saveRecordList = attRecords.stream().filter(f -> !eventIdSet.contains(f.getRemark())).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(saveRecordList)) {
recordHikService.save(saveRecordList);
} }
}
log.info("saveRecordList size:{}",saveRecordList.size()); }
private void getDoorEvents( Rest<DoorEventDataInfo> doorEventsRest) {
//同步当前考勤数据
List<AttendanceRecordHikEntity> attRecords = doorEventsRest.getData().getList().stream().map(item -> {
AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity();
recordHikEntity.initAttrValue();
StaffEntity staffCache = staffService.getExtCache(item.getJobNo());
if (ObjectUtils.isEmpty(staffCache)) return null;
recordHikEntity.setStaffId(staffCache.getId());
recordHikEntity.setStaffName(staffCache.getName());
recordHikEntity.setWorkNum(staffCache.getWorkNum());
recordHikEntity.setDeptId(staffCache.getDeptId());
recordHikEntity.setDeptName(staffCache.getDeptName());
recordHikEntity.setPositionId(staffCache.getPositionId());
recordHikEntity.setPositionName(staffCache.getPositionName());
recordHikEntity.setAttendanceDate(item.getEventTime());
recordHikEntity.setAttendanceAddress(item.getDoorName());
recordHikEntity.setEventSource("门禁点");
recordHikEntity.setRemark(item.getEventId());
recordHikEntity.setCreateTime(new Date());
recordHikEntity.setCreateUserName("system");
recordHikEntity.setCreateUserId(1L);
return recordHikEntity;
}).collect(Collectors.toList());
log.info("attRecords size:{}", attRecords.size());
List<String> eventIds = attRecords.parallelStream().map(i -> i.getRemark()).collect(Collectors.toList());
//查询当天考勤记录是否有重复的 有的 则不添加
AttendanceRecordHikQuery recordHikQuery = new AttendanceRecordHikQuery();
recordHikQuery.setAttendanceDateStart(DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd"));
recordHikQuery.setAttendanceDateEnd(DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd"));
recordHikQuery.setRemarkList(eventIds);
Set<String> eventIdSet = recordHikService.find(recordHikQuery).parallelStream().map(i -> i.getRemark()).collect(Collectors.toSet());
List<AttendanceRecordHikEntity> saveRecordList = attRecords.stream().filter(f -> !eventIdSet.contains(f.getRemark())).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(saveRecordList)) {
recordHikService.save(saveRecordList);
} }
log.info("saveRecordList size:{}", saveRecordList.size());
} }
......
...@@ -13,7 +13,7 @@ public class DoorEventInfo{ ...@@ -13,7 +13,7 @@ public class DoorEventInfo{
private String doorName; private String doorName;
private String orgIndexCode; private String orgIndexCode;
private String doorIndexCode; private String doorIndexCode;
private int eventType; private Integer eventType;
private String devIndexCode; private String devIndexCode;
private String identityCardUri; private String identityCardUri;
private String readerDevName; private String readerDevName;
...@@ -26,7 +26,7 @@ public class DoorEventInfo{ ...@@ -26,7 +26,7 @@ public class DoorEventInfo{
private String readerDevIndexCode; private String readerDevIndexCode;
private String certNo; private String certNo;
private String doorRegionIndexCode; private String doorRegionIndexCode;
private int inAndOutType; private Integer inAndOutType;
private String picUri; private String picUri;
private String jobNo; private String jobNo;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX") @JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
......
...@@ -36,12 +36,13 @@ public class HikDoorServiceImpl extends AbstractHikService implements IHikDoorSe ...@@ -36,12 +36,13 @@ public class HikDoorServiceImpl extends AbstractHikService implements IHikDoorSe
try { try {
log.info("door events req=>{}", JSON.toJSONString(doorEventReq)); log.info("door events req=>{}", JSON.toJSONString(doorEventReq));
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(doorEventReq), null, null, "application/json"); String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(doorEventReq), null, null, "application/json");
log.info("door events error resp=>{}", respJson); // log.info("door events error resp=>{}", respJson);
HikApiRest<DoorEventDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<DoorEventDataInfo>>() { HikApiRest<DoorEventDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<DoorEventDataInfo>>() {
}); });
if(rest.getCode()=="0"){ log.info("door events resp=>{}", rest.getCode());
if ("0".equals(rest.getCode())) {
return Rest.ok(rest.getData()); return Rest.ok(rest.getData());
}else{ } else {
return Rest.fail(rest.getMsg()); return Rest.fail(rest.getMsg());
} }
} catch (Exception e) { } catch (Exception e) {
......
...@@ -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