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;
@Component
@Slf4j
@Order(1)
@Profile({"default", "develop", "test"})
@Profile({"default", "develop", "test1"})
public class WebLogAspect {
@Pointcut("execution(public * com.mortals..*Controller.*(..))")
public void webLog() {
......
package com.mortals.xhx.daemon.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.PageUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest;
......@@ -65,58 +66,68 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService {
doorEventReq.setStartTime(todayStart);
doorEventReq.setEndTime(todayEnd);
doorEventReq.setPageNo(1);
doorEventReq.setPageSize(1000);
doorEventReq.setPageSize(1);
Rest<DoorEventDataInfo> doorEventsRest = hikDoorService.getDoorEvents(doorEventReq);
log.info("doorEventsRest:{}",doorEventsRest.getCode());
log.info("doorEventsRest:{} msg:{}", doorEventsRest.getCode(), doorEventsRest.getMsg());
if (doorEventsRest.getCode() == YesNoEnum.YES.getValue()) {
//同步当前考勤数据
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(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);
//分页获取考勤数据
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);
}
}
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{
private String doorName;
private String orgIndexCode;
private String doorIndexCode;
private int eventType;
private Integer eventType;
private String devIndexCode;
private String identityCardUri;
private String readerDevName;
......@@ -26,7 +26,7 @@ public class DoorEventInfo{
private String readerDevIndexCode;
private String certNo;
private String doorRegionIndexCode;
private int inAndOutType;
private Integer inAndOutType;
private String picUri;
private String jobNo;
@JSONField(format = "yyyy-MM-dd'T'HH:mm:ssXXX")
......
......@@ -36,12 +36,13 @@ public class HikDoorServiceImpl extends AbstractHikService implements IHikDoorSe
try {
log.info("door events req=>{}", JSON.toJSONString(doorEventReq));
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>>() {
});
if(rest.getCode()=="0"){
log.info("door events resp=>{}", rest.getCode());
if ("0".equals(rest.getCode())) {
return Rest.ok(rest.getData());
}else{
} else {
return Rest.fail(rest.getMsg());
}
} catch (Exception e) {
......
......@@ -38,7 +38,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(personReq), null, null, "application/json");
HikApiRest<PersonDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<PersonDataInfo>>() {
});
if (rest.getCode() == "0") {
if ("0".equals(rest.getCode())) {
return Rest.ok(rest.getData());
} else {
log.info("person error resp=>{}", respJson);
......@@ -74,7 +74,7 @@ public class HikPersonServiceImpl extends AbstractHikService implements IHikPers
String respJson = ArtemisHttpUtil.doPostStringArtemis(config, path, JSON.toJSONString(orgListReq), null, null, "application/json");
HikApiRest<OrgDataInfo> rest = JSON.parseObject(respJson, new TypeReference<HikApiRest<OrgDataInfo>>() {
});
if (rest.getCode() == "0") {
if ("0".equals(rest.getCode())) {
return Rest.ok(rest.getData());
} else {
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