From 2d34613f07deabbbe7e5065c13eec61cfe2a4dcf Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 22 四月 2024 11:32:11 +0800
Subject: [PATCH] 最新版本
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 64 ++++++++++++++++++++++++--------
1 files changed, 48 insertions(+), 16 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index d872e52..a68cbb0 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.config.DataSyncConfig;
import com.doumee.config.SpringContextUtil;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest;
@@ -55,6 +56,10 @@
private DeviceEventMapper deviceEventMapper;
@Autowired
private MemberMapper memberMapper;
+ @Autowired
+ private DeviceMapper deviceMapper;
+ @Autowired
+ private DataSyncConfig dataSyncConfig;
@Autowired
private CarEventMapper carEventMapper;
@Autowired
@@ -110,7 +115,7 @@
}catch (Exception e) {
log.error("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========澶辫触=======锛歕n" + e.getMessage());
}finally {
- saveInterfaceLog(param,"/business/hksync/push/acs",result);
+ saveInterfaceLog(param,"/business/hksync/push/acs",result,false);//涓嶈鏃ュ織
}
return null;
@@ -129,8 +134,12 @@
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getHkId,userNo).last("limit 1"));
if(member !=null){
//濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
+ Device d = deviceMapper.selectOne(new QueryWrapper<Device>().lambda()
+ .eq(Device::getDoorId,request.getSrcIndex())
+ .eq(Device::getIsdeleted,Constants.ZERO)
+ .last("limit 1" ));
delRetentionLis.add(member.getId());
- if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){
+ if(!(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){
//濡傛灉鏄繘闂紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
retentionList.add(getRetentionModelByRequest(member,request));
}
@@ -225,7 +234,7 @@
private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request) {
Retention retention = new Retention();
retention.setIsdeleted(Constants.ZERO);
- retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getData().getExtReceiveTime()));
+ retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
retention.setClasses(member.getClasses());
retention.setCode(member.getCode());
retention.setIdcardNo(member.getIdcardNo());
@@ -236,7 +245,7 @@
retention.setCompanyId(member.getCompanyId());
retention.setCompanyName(member.getCompanyName());
retention.setEventCode(request.getData().getExtEventCode()+"");
- retention.setEventDate(DateUtil.getISO8601DateByStr(request.getData().getExtReceiveTime()));
+ retention.setEventDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
retention.setFaceImg(member.getFaceImg());
retention.setImgurl(member.getImgurl());
retention.setPhone(member.getPhone());
@@ -297,7 +306,7 @@
log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========澶辫触=======锛歕n"+e.getMessage());
}
- saveInterfaceLog(param,"/business/hksync/push/visit",result);
+ saveInterfaceLog(param,"/business/hksync/push/visit",result,true);
return null;
}
@@ -317,6 +326,10 @@
if(visits !=null){
//濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
delRetentionLis.add(visits.getMemberId());
+ if(dataSyncConfig.getOrgUserDataOrigin() == DataSyncConfig.origin.hk){
+ //濡傛灉鏄紛鍒╁ぇ灞忛」鐩紝涓嶅仛澶勭悊
+ return;
+ }
Visits updateVistis = new Visits();
updateVistis.setId(visits.getId());
if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_IN.getKey()){
@@ -326,6 +339,11 @@
updateVistis.setStatus(Constants.VisitStatus.signin);
updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime()));
+ //鏇存柊鏈�鏂版潵璁挎椂闂�
+ Member member = new Member();
+ member.setLastVisitDate(updateVistis.getInDate());
+ member.setId(visits.getMemberId());
+ memberMapper.updateById(member);
}else {
//濡傛灉鏄瀹㈢绂讳簨浠�
updateVistis.setStatus(Constants.VisitStatus.signout);
@@ -403,14 +421,14 @@
retention.setType(visits.getMemberType());
retention.setCompanyId(visits.getCompanyId());
retention.setCompanyName(visits.getCompanyName());
- retention.setEventCode(request.getEventType()+"");
+ retention.setEventCode(request.getSrcType()+"");
retention.setEventDate(retention.getCreateDate());
retention.setFaceImg(visits.getFaceImg());
retention.setImgurl(visits.getImgurl());
retention.setPhone(visits.getPhone());
retention.setMemberId(visits.getMemberId());
- retention.setDeviceName(request.getSrcName());
- retention.setDeviceIndex(request.getSrcIndex());
+// retention.setDeviceName(request.getSrcName());
+// retention.setDeviceIndex(request.getSrcIndex());
return retention;
}
@@ -460,7 +478,7 @@
log.error("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========澶辫触=======锛歕n"+e.getMessage());
}
- saveInterfaceLog(param,"/business/hksync/push/parks",result);
+ saveInterfaceLog(param,"/business/hksync/push/parks",result,false);
return null;
}
@@ -523,14 +541,25 @@
event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
}
if(StringUtils.isNotBlank(event.getPlateNos())){
- ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
- .eq(ParkBook::getCarCode,event.getPlateNos())
- .eq(ParkBook::getIsdeleted,Constants.ONE )
+ ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
+ .eq(ParkBook::getCarCode,event.getPlateNos())
+ .eq(ParkBook::getIsdeleted,Constants.ZERO )
+ .last("limit 1" ));
+ if(cars!=null){
+ event.setMemberId(cars.getMemberId());
+ }else{
+ Visits visits = visitsMapper.selectOne(new QueryWrapper<Visits>().lambda()
+ .eq(Visits::getCarNos,event.getPlateNos())
+ .eq(Visits::getIsdeleted,Constants.ZERO )
+ .in(Visits::getStatus,Constants.VisitStatus.signin,Constants.VisitStatus.signout)//鏈�杩戜竴涓凡鍒拌揪鎴栬�呭凡绛剧
+ .isNull(Visits::getParentId)
+ .orderByDesc(Visits::getId)
.last("limit 1" ));
- if(cars!=null){
- event.setMemberId(cars.getMemberId());
+ if(visits!=null){
+ //鏈�杩戜娇鐢ㄨ杞︾殑鐢宠浜猴紙宸插埌杈撅級
+ event.setMemberId(visits.getMemberId());
}
-
+ }
if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
//濡傛灉鏄叆鍘傛斁琛�
delRetentionList.add(event.getPlateNos());
@@ -557,7 +586,10 @@
return retention;
}
- private void saveInterfaceLog(Object param, String path,String result) {
+ private void saveInterfaceLog(Object param, String path,String result,boolean need) {
+ if(!need){
+ return;
+ }
InterfaceLog hkMonitoryLogDO=new InterfaceLog();
hkMonitoryLogDO.setType(1);
hkMonitoryLogDO.setCreateDate(new Date());
--
Gitblit v1.9.3