From 3d6cc6bf2bdad1714c98c820dc1805b89d594141 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期六, 12 十月 2024 16:27:02 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 77 insertions(+), 30 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index c98d012..0e353d4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -394,8 +394,6 @@
queryWrapper.last("limit 1");
Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper);
if(visits !=null){
- //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
- delRetentionLis.add(visits.getMemberId());
if(dataSyncConfig.getOrgUserDataOrigin() == DataSyncConfig.origin.hk){
//濡傛灉鏄紛鍒╁ぇ灞忛」鐩紝涓嶅仛澶勭悊
return;
@@ -404,7 +402,7 @@
updateVistis.setId(visits.getId());
if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_IN.getKey()) {
//濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
- retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
+// retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
//鏉ヨ鏃堕棿
updateVistis.setStatus(Constants.VisitStatus.signin);
updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
@@ -414,7 +412,7 @@
member.setLastVisitDate(updateVistis.getInDate());
member.setId(visits.getMemberId());
memberMapper.updateById(member);
- }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey()) {
+ }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey()) {
//濡傛灉鏄瀹㈢绂讳簨浠�
updateVistis.setStatus(Constants.VisitStatus.signout);
updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
@@ -422,12 +420,23 @@
updateVistis.setOutType(Constants.ZERO);
updateVistis.setOutInfo("璁垮姝e父绛剧");
}else{
+ //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垏鏄瀹㈤�氳锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
+ delRetentionLis.add(visits.getMemberId());
//濡傛灉鏄瀹㈤�氳
+ if(request.getData()!=null&&request.getData().getParamValues()!=null &&
+ StringUtils.equals(request.getData().getParamValues().getInOrOut(),"1")){
+ //濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
+ Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType());
+ r.setCarNo(request.getData().getParamValues().getPlateNos());
+ r.setAccessType(request.getData().getParamValues().getAccessType());
+ r.setDeviceName(request.getData().getParamValues().getSrcName());
+ r.setDeviceIndex(request.getData().getParamValues().getSrcIndex());
+ retentionList.add(r);
+ }
}
updateVistis.setEditDate(new Date());
//鏇存柊璁垮鏉ヨ鎴栬�呯绂绘椂闂翠俊鎭�
visitsMapper.updateById(updateVistis) ;
-
}
}
private Retention getRetentionModelByVisitRequest(Visits visits, String happentTime,String srcType) {
@@ -865,34 +874,44 @@
if( data.getHPVehicleStatus() ==null ){
continue;//濡備綍鎺ㄩ�佺姸鎬侀泦鍚堜负绌猴紝涓嶅鐞嗚烦杩�
}
+ //鍚勮溅閬撹溅杈嗙姸鎬�
+ EventPlatformCarsStatusInfoRequest status = data.getHPVehicleStatus();
+ PlatformEvent event = initPlatformEventModel(request,data,status);
+ if(StringUtils.isBlank(status.getPlateNo())){
+ eventList.add(event);//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+ continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
+ }
PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
.eq(PlatformDevice::getDeviceId,request.getSrcIndex())
.eq(PlatformDevice::getIsdeleted,Constants.ZERO)
.last("limit 1"));
if(model ==null){
+ eventList.add(event);//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
-
}
- //鍚勮溅閬撹溅杈嗙姸鎬�
- EventPlatformCarsStatusInfoRequest status = data.getHPVehicleStatus();
- eventList.add(initPlatformEventModel(request,data,status));//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
- if(StringUtils.isBlank(status.getPlateNo())){
- continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
- }
+ event.setPlatformId(model.getPlatformId());//鏈堝彴缂栫爜
+ eventList.add(event);//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+ //鎴帀绗竴涓鑹叉眽瀛�,鍘绘帀鈥滄寕鈥濆瓧
+ status.setPlateNo(status.getPlateNo().substring(1,status.getPlateNo().length()).replace("鎸�",""));
PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
.selectAll(PlatformJob.class)
.selectAs(Platform::getName,PlatformJob::getPlatformName)
.leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
- .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//鍓嶈溅鐗屽彿
- .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//鍚庤溅鐗屽彿
+// .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//鍓嶈溅鐗屽彿
+// .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//鍚庤溅鐗屽彿
.eq(PlatformJob::getIsdeleted,Constants.ZERO )
+ .eq(PlatformJob::getPlatformId,model.getPlatformId() )
+ .orderByDesc(PlatformJob::getCallDate)
.last("limit 1 "));
+ if(job == null){
+ continue;//濡傛灉浣滀笟涓虹┖锛岃烦杩囧鐞�
+ }
PlatformJob update = new PlatformJob();
update.setId(job.getId());
update.setEditDate(new Date());
if(StringUtils.equals(status.getMotionStatus(),"leave")){
//濡傛灉鏄溅杈嗙寮�,涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
- /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
+ /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
continue;//濡傛灉娌℃煡鍒板搴旂殑浣滀笟鎴栬�呬綔涓氬苟闈炰綔涓氫腑锛屼笉鍋氫笟鍔″鐞�
}
if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){
@@ -907,16 +926,36 @@
//濡傛灉鏄鍦ㄤ綔涓氱殑鐘舵�侊紝鏍囪浣滀笟宸插畬鎴�
update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//浣滀笟宸插畬鎴�
update.setDoneDate(update.getEditDate());*/
+ if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) ||
+ Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+ if(((StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeFront(),status.getPlateNo()))
+ ||(!StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeBack(),status.getPlateNo()))
+ )){
+ //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
+// dealCarsInErrorPlatformBiz(job,status);
+ update.setInOut(Constants.ZERO);//杞﹁締宸茬粡绂诲紑
+ platformJobMapper.updateById(update);
+ }
+ }
}else if(StringUtils.equals(status.getMotionStatus(),"enter")){
//濡傛灉鏄溅杈嗚繘鍏�
- if(job ==null || !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
- //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
- dealCarsInErrorPlatformBiz(job,status);
+ if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
+ if(!((StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeFront(),status.getPlateNo()))
+ ||(!StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeBack(),status.getPlateNo()))
+ )){
+ //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
+ dealCarsInErrorPlatformBiz(job,status);
+ }else{
+ //杞﹁締宸茬粡杩涘叆
+ update.setInOut(Constants.ONE);//杞﹁締宸茬粡杩涘叆
+ platformJobMapper.updateById(update);
+ }
}
- if(job.getStartDate() == null){
+ /*if(job.getStartDate() == null){
update.setStartDate(update.getEditDate());
}
update.setStatus(Constants.PlatformJobStatus.WORKING.getKey());//寮�濮嬩綔涓�
+ */
}else{
continue;//鍏朵粬鐘舵�佷笉澶勭悊锛岃烦杩�
}
@@ -1045,29 +1084,29 @@
return;
}
String content =Constants.PlatformLedContent.WRONG_IN.getInfo();
- content = content.replace("${param}",model.getPlatformName());
- content = content.replace("${param2}",model.getCarCodeFront());
+ content = content.replace("${param2}",model.getPlatformName());
+ content = content.replace("${param}",status.getPlateNo());
List<String> broadcastList = new ArrayList<>();
List<String> ledList = new ArrayList<>();
String bNames = "";
List<PlatformBroadcastLog> logList = new ArrayList<>();
for(PlatformDevice device : deviceList){
- if(StringUtils.isNotBlank(device.getHkId())){
+ if(StringUtils.isBlank(device.getHkId())){
continue;
}
if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
//濡傛灉鏄疞ED
- PlatformBroadcastLog log = dealLedContentBiz(device.getHkNo(),device.getName(),content,speed,1);
+ PlatformBroadcastLog log = dealLedContentBiz(model.getId(),device.getHkNo(),device.getName(),content,speed,1);
logList.add(log);
ledList.add(device.getHkId());
- }else if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
+ }else if(Constants.equalsInteger(device.getType(),Constants.TWO)){
//濡傛灉鏄箍鎾偣
bNames += device.getName()+";";
broadcastList.add(device.getHkId());
}
}
if(broadcastList.size()>0){
- PlatformBroadcastLog log = dealBroadcastBiz(model,broadcastList,bNames);
+ PlatformBroadcastLog log = dealBroadcastBiz(model,broadcastList,bNames,Constants.PlatformBroadcastContent.WRONG_IN.getInfo().replace("${param}",status.getPlateNo()));
logList.add(log);
}
if(logList.size()>0){
@@ -1075,11 +1114,18 @@
}
}
- private PlatformBroadcastLog dealBroadcastBiz(PlatformJob model, List<String> broadcastList,String bNames) {
+ /**
+ * 骞挎挱閫氱煡
+ * @param model
+ * @param broadcastList
+ * @param bNames
+ * @param content1
+ * @return
+ */
+ public static PlatformBroadcastLog dealBroadcastBiz(PlatformJob model, List<String> broadcastList,String bNames , String content1) {
PlatformBroadcastLog log = new PlatformBroadcastLog();
- String content1 =Constants.PlatformBroadcastContent.WRONG_IN.getInfo();
content1 = content1.replace("${param}",model.getCarCodeFront());
-
+ log.setObjId(model.getId().toString());
log.setCreateDate(new Date());
log.setBizType(Constants.ONE);
log.setHkDate(new Date());
@@ -1103,12 +1149,12 @@
log.setHkInfo("璇锋眰鎴愬姛");
log.setHkStatus(Constants.TWO);
}
- log.setDeviceType(Constants.ONE);
+ log.setDeviceType(Constants.ZERO);
log.setName("鍙戦�佸箍鎾挱鎶ュ唴瀹�");
return log;
}
- public static PlatformBroadcastLog dealLedContentBiz(String hkNo,String hkName, String content,int speed,int color) {
+ public static PlatformBroadcastLog dealLedContentBiz(Integer platformId,String hkNo,String hkName, String content,int speed,int color) {
PlatformBroadcastLog log = new PlatformBroadcastLog();
log.setCreateDate(new Date());
log.setBizType(Constants.ONE);
@@ -1118,6 +1164,7 @@
log.setRemark(hkName);
log.setInfo(content);
log.setNum(Constants.ONE);
+ log.setObjId(platformId.toString());
TransparentChannelBodyRequest body = new TransparentChannelBodyRequest();
TransparentChannelHeadRequest head = new TransparentChannelHeadRequest();
--
Gitblit v1.9.3