From 2e151e042c8dea956c267976db9c1b21f0bb487b Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 30 九月 2024 17:22:18 +0800
Subject: [PATCH] 代码初始化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 433 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 406 insertions(+), 27 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 b190e72..8189e92 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
@@ -3,32 +3,30 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.DataSyncConfig;
-import com.doumee.config.SpringContextUtil;
-import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
import com.doumee.core.haikang.model.param.request.event.acs.EventDeviceDataRequest;
-import com.doumee.core.haikang.model.param.request.event.parks.EventParkInfoRequest;
-import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
+import com.doumee.core.haikang.model.param.request.event.parks.*;
import com.doumee.core.haikang.model.param.request.event.visit.*;
+import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DESUtil;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
-import com.doumee.dao.system.model.SystemUser;
-import com.doumee.service.business.DeviceEventService;
-import com.doumee.service.business.InterfaceLogService;
-import com.doumee.service.business.MemberService;
-import com.github.yulichang.interfaces.MPJBaseJoin;
+import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
+import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
@@ -66,6 +64,24 @@
private VisitsJoinMapper visitsMapper;
@Autowired
private RetentionMapper retentionMapper;
+ @Autowired
+ private PlatformMapper platformMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private PlatformDeviceMapper platformDeviceMapper;
+ @Autowired
+ private PlatformBroadcastLogMapper platformBroadcastLogMapper;
+ @Autowired
+ private PlatformJobMapper platformJobMapper;
+ @Autowired
+ private PlatformWmsDetailMapper platformWmsDetailMapper;
+ @Autowired
+ private PlatformEventMapper platformEventMapper;
+ @Autowired
+ private PlatformLogMapper platformLogMapper;
+ @Autowired
+ private PlatformWarnEventServiceImpl platformWarnEventService;
/**
* 娴峰悍闂ㄧ浜嬩欢鎺ㄩ��
* @param param
@@ -109,7 +125,7 @@
//鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
retentionMapper.insert(retentionList);
}
- log.error("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========鎴愬姛=======");
+ log.info("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========鎴愬姛=======");
}catch (Exception e) {
log.error("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========澶辫触=======锛歕n" + e.getMessage());
}finally {
@@ -137,7 +153,7 @@
.eq(Device::getIsdeleted,Constants.ZERO)
.last("limit 1" ));
delRetentionLis.add(member.getId());
- if(!(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){
+ if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){
//濡傛灉鏄繘闂紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
retentionList.add(getRetentionModelByRequest(member,request));
}
@@ -299,7 +315,7 @@
//鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
retentionMapper.insert(retentionList);
}
- log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========鎴愬姛=======");
+ log.info("銆愭捣搴疯瀹簨浠舵帹閫併��========鎴愬姛=======");
}catch (Exception e){
log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========澶辫触=======锛歕n"+e.getMessage());
@@ -308,6 +324,7 @@
return null;
}
+
/**
* 娴峰悍璁垮浜嬩欢鎺ㄩ��
* @param param
@@ -315,7 +332,7 @@
* @return
*/
@Override
- public String dealVisitEventIccm(EventVisitIccmRequest param, HttpServletResponse response){
+ public String dealVisitEventIccm(EventVisitIccmRequest param, HttpServletResponse response){
log.info("銆愭捣搴疯瀹簨浠舵帹閫併��==========寮�濮�=======锛歕n"+JSONObject.toJSONString(param));
String result = null;
try {
@@ -335,7 +352,8 @@
continue;
}
//娴峰悍璁垮璁板綍缂栫爜
- dealVisitDataByRequstIccm(request,delRetentionLis,retentionList,list);
+ dealVisitDataByRequstIccm(request,delRetentionLis,retentionList);
+ list.add(getVisitEventModelByRequestIccm(request,request.getData().getVisitorInformationList().get(0)));
}
if(list.size()>0){
//鎻掑叆闂ㄧ璁板綍
@@ -351,7 +369,7 @@
//鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
retentionMapper.insert(retentionList);
}
- log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========鎴愬姛=======");
+ log.info("銆愭捣搴疯瀹簨浠舵帹閫併��========鎴愬姛=======");
}catch (Exception e){
log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========澶辫触=======锛歕n"+e.getMessage());
}
@@ -363,14 +381,14 @@
/**
* 鏍规嵁璁垮鎺ㄩ�佽瀹㈣褰曠紪鐮侊紝澶勭悊璁垮璁板綍銆佸湪鍦轰汉鍛樼瓑淇℃伅
*/
- private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList,List<VisitEvent> list) {
+ private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList ) {
EventVisitIccmDataRequest model = request.getData();
EventVisitIccmInvoiceParamRequest data = request.getData().getVisitorInvoices();
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Visits.class);
queryWrapper.selectAs(Member::getType,Visits::getMemberType);
- queryWrapper.eq(Visits::getHkId,model.getVisitorInvoices().getInvoicesId() );//璁垮鍗曞彿
+ queryWrapper.eq(Visits::getHkId,model.getVisitorInvoices().getInvoicesNo() );//璁垮鍗曞彿
queryWrapper.leftJoin(Member.class,Member::getId,Visits::getMemberId );
queryWrapper.last("limit 1");
Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper);
@@ -408,6 +426,7 @@
updateVistis.setEditDate(new Date());
//鏇存柊璁垮鏉ヨ鎴栬�呯绂绘椂闂翠俊鎭�
visitsMapper.updateById(updateVistis) ;
+
}
}
private Retention getRetentionModelByVisitRequest(Visits visits, String happentTime,String srcType) {
@@ -434,13 +453,19 @@
return retention;
}
- private VisitEvent getVisitEventModelByRequest(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) {
+ private VisitEvent getVisitEventModelByRequestIccm(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) {
if(request.getData().getTargetPerson() ==null){
request.getData().setTargetPerson(new EventVisitIccmTargetParamRequest());
}
+ if(request.getData().getVisitorInvoices() == null){
+ request.getData().setVisitorInvoices(new EventVisitIccmInvoiceParamRequest());
+ }
VisitEvent event = new VisitEvent();
event.setIsdeleted(Constants.ZERO);
- event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
+ event.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime()));
+ if(event.getCreateDate() == null){
+ event.setCreateDate(new Date());
+ }
event.setVisitorWorkUint(detail.getUnit());
event.setVisitorId(detail.getVisitorId());
event.setVisitorCode(detail.getAppointmentCode());
@@ -464,7 +489,7 @@
event.setPhotoUrl(getHkImgUrl(detail.getFacePic()));
event.setPersonName(detail.getVisitorName());
event.setCarNo(detail.getPlateNo());
-
+ event.setInvoicesNo(request.getData().getVisitorInvoices().getInvoicesNo());//璁垮鍗曞彿
event.setIdType(detail.getCertType());
String idnum = detail.getCertNo();
if(StringUtils.isNotBlank(idnum)){
@@ -553,6 +578,7 @@
event.setPhotoUrl(getHkImgUrl(request.getData().getPhotoUrl()));
event.setPersonName(request.getData().getPersonName());
event.setCarNo(request.getData().getCarNo());
+ event.setInvoicesNo(request.getData().getVisitorId());
event.setCaptureUrl(request.getData().getCaptureUrl());
if(StringUtils.isNotBlank(request.getData().getCaptureUrl())){
event.setCaptureUrl(HKConstants.IMG_INDEX+request.getData().getCaptureUrl());
@@ -595,7 +621,6 @@
retention.setMemberId(visits.getMemberId());
// retention.setDeviceName(request.getSrcName());
// retention.setDeviceIndex(request.getSrcIndex());
-
return retention;
}
@@ -639,7 +664,7 @@
//鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
retentionMapper.insert(retentionList);
}
- log.error("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========鎴愬姛=======");
+ log.info("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========鎴愬姛=======");
}catch (Exception e){
log.error("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========澶辫触=======锛歕n"+e.getMessage());
@@ -700,7 +725,6 @@
event.setReleaseResult(request.getData().getInResult().getRlsResult().getReleaseResult());
event.setReleaseResultEx(request.getData().getInResult().getRlsResult().getReleaseResultEx());
}
-
if(request.getData().getPicUrl()!=null){
//杞﹁締鍜屽拰杞︾墝鐓х墖
event.setVehiclePicUrl(getHkImgUrl(request.getData().getPicUrl().getVehiclePicUrl()));
@@ -735,9 +759,7 @@
delRetentionList.add(event.getPlateNos());
}
}
-
return event;
-
}
private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
@@ -748,7 +770,6 @@
retention.setType(Constants.THREE);
// retention.setDeviceName(request.getSrcName());
// retention.setDeviceIndex(request.getSrcIndex());
-
return retention;
}
@@ -769,5 +790,363 @@
interfaceLogMapper.insert(hkMonitoryLogDO);
}
+ /**
+ * 澶勭悊鏈堝彴宸ヤ綔鐘舵�佷簨浠惰闃呭悗鎺ㄩ�佹暟鎹�昏緫閫昏緫
+ * @param param
+ * @param response
+ * @return
+ */
+ @Override
+ public String dealPlatformStatusEvent(EventPlatformRequest param, HttpServletResponse response){
+ log.info("銆愭捣搴锋湀鍙板伐浣滅姸鎬佷簨浠舵帹閫併��========寮�濮�=========锛歕n"+JSONObject.toJSONString(param));
+ String result = null;
+ try {
+ if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
+ return null;
+ }
+ //闂ㄧ浜嬩欢闆嗗悎
+ List<EventPlatformInfoRequest> events = param.getParams().getEvents();
+ List<Platform> list = new ArrayList<>();
+ for(EventPlatformInfoRequest request : events){
+ EventPlatformDataRequest data = request.getData();
+ if(data ==null ){
+ continue;
+ }
+ Integer workStatus = 0;
+ if( data.getHPWorkingStatus() ==null || data.getHPWorkingStatus().size() ==0){
+ 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){
+ continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
+ }
+ //鍚勮溅閬撹溅杈嗙姸鎬�
+ for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){
+ }
+ }
+ result = "鎴愬姛";
+ log.info("銆愭捣搴锋湀鍙板伐浣滅姸鎬佷簨浠舵帹閫併��========鎴愬姛=======");
+ }catch (Exception e) {
+ result = "澶辫触"+e.getMessage();
+ log.error("銆愭捣搴锋湀鍙板伐浣滅姸鎬佷簨浠舵帹閫併��========澶辫触=======锛歕n" + e.getMessage());
+ }finally {
+ saveInterfaceLog(param,"/business/hksync/push/platform/workstatus",result,false);//涓嶈鏃ュ織
+ }
+ return null;
+ }
+ /**
+ * 澶勭悊鏈堝彴杞﹁締鐘舵�佷簨浠惰闃呭悗鎺ㄩ�佹暟鎹�昏緫閫昏緫
+ * @param param
+ * @param response
+ * @return
+ */
+ @Override
+ public String dealPlatformCarsEvent(EventPlatformCarsRequest param, HttpServletResponse response){
+ log.info("銆愭捣搴锋湀鍙拌溅杈嗙姸鎬佷簨浠舵帹閫併��========寮�濮�=========锛歕n"+JSONObject.toJSONString(param));
+ String result = null;
+ try {
+ if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
+ return null;
+ }
+ //闂ㄧ浜嬩欢闆嗗悎
+ List<EventPlatformCarsInfoRequest> events = param.getParams().getEvents();
+ List<PlatformEvent> eventList = new ArrayList<>();
+ for(EventPlatformCarsInfoRequest request : events){
+ if( request.getData() ==null ){
+ continue;
+ }
+ Integer workStatus = 0;
+ EventPlatformCarsDataRequest data = request.getData();
+ if( data.getHPVehicleStatus() ==null ){
+ 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){
+ continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
+
+ }
+ //鍚勮溅閬撹溅杈嗙姸鎬�
+ EventPlatformCarsStatusInfoRequest status = data.getHPVehicleStatus();
+ eventList.add(initPlatformEventModel(request,data,status));//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+ if(StringUtils.isBlank(status.getPlateNo())){
+ continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
+ }
+ 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(PlatformJob::getIsdeleted,Constants.ZERO )
+ .last("limit 1 "));
+ 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())){
+ continue;//濡傛灉娌℃煡鍒板搴旂殑浣滀笟鎴栬�呬綔涓氬苟闈炰綔涓氫腑锛屼笉鍋氫笟鍔″鐞�
+ }
+ if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){
+ //濡傛灉鏄痺ms鎺ㄩ�佺殑澶栧崗杞﹁締澶栧崗杞﹁締
+ if(platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda()
+ .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsDetail::getJobId,job.getId())
+ .ne(PlatformWmsDetail::getLockStatus,Constants.ONE)) >0){
+ continue;//濡傛灉澶栧崗浠诲姟浣滀笟锛屽悎鍚屽彿鏈夋湭涓婇攣鐨勬儏鍐碉紝涓嶅仛鑷姩瀹屾垚浣滀笟閫昏緫澶勭悊锛岃烦杩囦笉澶勭悊
+ }
+ }
+ //濡傛灉鏄鍦ㄤ綔涓氱殑鐘舵�侊紝鏍囪浣滀笟宸插畬鎴�
+ update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//浣滀笟宸插畬鎴�
+ update.setDoneDate(update.getEditDate());*/
+ }else if(StringUtils.equals(status.getMotionStatus(),"enter")){
+ //濡傛灉鏄溅杈嗚繘鍏�
+ if(job ==null || !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
+ //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
+ dealCarsInErrorPlatformBiz(job,status);
+ }
+ if(job.getStartDate() == null){
+ update.setStartDate(update.getEditDate());
+ }
+ update.setStatus(Constants.PlatformJobStatus.WORKING.getKey());//寮�濮嬩綔涓�
+ }else{
+ continue;//鍏朵粬鐘舵�佷笉澶勭悊锛岃烦杩�
+ }
+ //鏆傛椂涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
+// dealPlatformJobLogBiz(update,status);//璁板綍浣滀笟鏃ュ織
+ }
+ if(eventList.size()>0){
+ //鐢熸垚浜嬩欢
+ platformEventMapper.insert(eventList);
+ }
+ result = "鎴愬姛";
+ log.info("銆愭捣搴锋湀鍙拌溅杈嗙姸鎬佷簨浠舵帹閫併��========鎴愬姛=======");
+ }catch (Exception e) {
+ result = "澶辫触"+e.getMessage();
+ log.error("銆愭捣搴锋湀鍙拌溅杈嗙姸鎬佷簨浠舵帹閫併��========澶辫触=======锛歕n" + e.getMessage());
+ }finally {
+ saveInterfaceLog(param,"/business/hksync/push/platform/workstatus",result,false);//涓嶈鏃ュ織
+ }
+ return null;
+ }
+
+ private PlatformEvent initPlatformEventModel(EventPlatformCarsInfoRequest request, EventPlatformCarsDataRequest data, EventPlatformCarsStatusInfoRequest status) {
+ PlatformEvent model = new PlatformEvent();
+ model.setCreateDate(new Date());
+ model.setIsdeleted(Constants.ZERO);
+ model.setEditDate(model.getCreateDate());
+ model.setEventId(request.getEventId());
+// model.setRemark(JSONObject.toJSONString(request));
+ model.setEventType(request.getEventType());
+ model.setDataEventType(data.getEventType());
+ model.setHappenTime(request.getHappenTime());
+ model.setSrcIndex(request.getSrcIndex());
+ model.setSrcType(request.getSrcType());
+ model.setStatus(request.getStatus());
+ model.setTimeout(request.getTimeout());
+ model.setDateTime(data.getDateTime());
+ model.setDataType(data.getDataType());
+ model.setSendTime(data.getSendTime());
+ model.setIpAddress(data.getIpAddress());
+ model.setIpv6Address(data.getIpv6Address());
+ model.setPortNo(data.getPortNo());
+ model.setMacAddress(data.getMacAddress());
+ model.setProtocol(data.getProtocol());
+ model.setChannelId(data.getChannelID());
+ model.setChannelName(data.getChannelName());
+ model.setEventState(data.getEventState());
+ model.setActivePostCount(data.getActivePostCount());
+ model.setEventDescription(data.getEventDescription());
+ model.setDeviceId(data.getDeviceID());
+ model.setHpno(status.getHPNo());
+ model.setMotionStatus(status.getMotionStatus());
+ model.setPlateNo(status.getPlateNo());
+ model.setVehicleDoorStatus(status.getVehicleDoorStatus());
+ model.setStockStatus(status.getStockStatus());
+ model.setBackgroundImageContent(status.getBackgroundImage()!=null?status.getBackgroundImage().getResourcesContent():null);
+ model.setPlateScore(status.getPlateScore());
+ model.setPlatePictureContent(status.getPlatePicture()!=null?status.getPlatePicture().getResourcesContent():null);
+ return model;
+ }
+
+ /**
+ * 璁板綍鏈堝彴浣滀笟鏃ュ織
+ * @param job
+ * @param status
+ */
+ @Transactional
+ private void dealPlatformJobLogBiz(PlatformJob job,EventPlatformCarsStatusInfoRequest status) {
+ platformJobMapper.updateById(job);//鏇存柊浣滀笟鐘舵��
+ PlatformLog log = new PlatformLog();
+ log.setIsdeleted(Constants.ZERO);
+ log.setCreateDate(new Date());
+ log.setEditDate(log.getCreateDate());
+ log.setJobId(job.getId());
+ log.setObjId(job.getId()+"");
+ if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
+ //濡傛灉鏄綔涓氬畬鎴�
+ log.setObjType(Constants.PlatformJobLogType.DONE.getKey());
+ log.setTitle(Constants.PlatformJobLogType.DONE.getName());
+ log.setContent(Constants.PlatformJobLogType.DONE.getInfo());
+ //鏌ヨ鏈�鍚庝竴娆″紑濮嬩綔涓氱殑鏃ュ織
+ PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
+ .eq(PlatformLog::getIsdeleted,Constants.ZERO)
+ .eq(PlatformLog::getObjType,Constants.PlatformJobLogType.WORKING.getKey())
+ .eq(PlatformLog::getJobId,job.getId())
+ .orderByDesc(PlatformLog::getCreateDate)
+ .last(" limit 1"));
+ String v = Long.toString(job.getDoneDate().getTime() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
+ lastBeginPlatform.setRemark(job.getPlatformId().toString());
+ lastBeginPlatform.setParam3(v);
+ lastBeginPlatform.setParam2(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
+ platformLogMapper.updateById(lastBeginPlatform);//鏇存柊涓婁竴娆′綔涓氱殑瀹屾垚鏃堕棿鍜屼綔涓氭椂闀�
+ }else{
+ //濡傛灉鏄綔涓氫腑
+ log.setObjType(Constants.PlatformJobLogType.WORKING.getKey());
+ log.setTitle(Constants.PlatformJobLogType.WORKING.getName());
+ log.setContent(Constants.PlatformJobLogType.WORKING.getInfo());
+ log.setParam1(DateUtil.getDate(log.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
+ }
+ platformLogMapper.insert(log);
+ }
+
+ /**
+ * 澶勭悊杞﹁締杩涘叆閿欒鏈堝彴涓氬姟閫昏緫
+ * @param model (鏈堝彴璁惧鍏宠仈淇℃伅锛�
+ * @param status
+ */
+ private void dealCarsInErrorPlatformBiz( PlatformJob model,EventPlatformCarsStatusInfoRequest status) {
+ //澶勭悊杞﹁締杩涘叆閿欒鏈堝彴涓氬姟閫昏緫
+ SavePlatformWarnEventDTO savePlatformWarnEventDTO = new SavePlatformWarnEventDTO();
+ savePlatformWarnEventDTO.setPlatformJobId(model.getId());
+ savePlatformWarnEventDTO.setPlatformId(model.getPlatformId());
+ savePlatformWarnEventDTO.setCarCode(model.getCarCodeFront());
+ savePlatformWarnEventDTO.setEventType(Constants.PlatformWarnEvent.STOP_ERROR.getKey());
+ platformWarnEventService.savePlatformWarnEvent(savePlatformWarnEventDTO);
+
+ int speed = 13;
+ try {
+ speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
+ }catch (Exception e){
+
+ }
+ List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda()
+ .eq(PlatformDevice::getPlatformId,model.getPlatformId())
+ .eq(PlatformDevice::getIsdeleted,Constants.ZERO));
+ if(deviceList ==null || deviceList.size() == 0){
+ return;
+ }
+ String content =Constants.PlatformLedContent.WRONG_IN.getInfo();
+ content = content.replace("${param}",model.getPlatformName());
+ content = content.replace("${param2}",model.getCarCodeFront());
+ 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())){
+ continue;
+ }
+ if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
+ //濡傛灉鏄疞ED
+ PlatformBroadcastLog log = new PlatformBroadcastLog();
+ log.setCreateDate(new Date());
+ log.setBizType(Constants.ONE);
+ log.setHkDate(new Date());
+ log.setObjType(Constants.ONE);
+ log.setIds(device.getHkNo());
+ log.setRemark(device.getName());
+ log.setInfo(content);
+ log.setNum(Constants.ONE);
+ BaseResponse response = dealLedContentBiz(device.getHkNo(),content,speed,1);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ log.setHkInfo("璇锋眰澶辫触锛�"+JSONObject.toJSONString(response));
+ log.setHkStatus(Constants.THREE);
+ }else{
+ log.setHkInfo("璇锋眰鎴愬姛");
+ log.setHkStatus(Constants.TWO);
+ }
+ log.setDeviceType(Constants.ONE);
+ log.setName("璁剧疆LED灞忔樉鍐呭");
+ logList.add(log);
+ ledList.add(device.getHkId());
+ }else if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
+ //濡傛灉鏄箍鎾偣
+ bNames += device.getName()+";";
+ broadcastList.add(device.getHkId());
+ }
+ }
+
+ if(broadcastList.size()>0){
+ String content1 =Constants.PlatformBroadcastContent.WRONG_IN.getInfo();
+ content1 = content1.replace("${param}",model.getCarCodeFront());
+ PlatformBroadcastLog log = new PlatformBroadcastLog();
+ log.setCreateDate(new Date());
+ log.setBizType(Constants.ONE);
+ log.setHkDate(new Date());
+ log.setObjType(Constants.ONE);
+ log.setInfo(content1);
+ log.setRemark(bNames);
+ log.setNum(Constants.ONE);
+ log.setIds(String.join(",",broadcastList));
+ CustomBroadcastRequest request = new CustomBroadcastRequest();
+ request.setAudioPointIndexCode(broadcastList);
+ request.setPlayDuration(15);//鍗曚綅绉�
+ request.setBroadCastMode("tts");
+ request.setPriority(1);
+ request.setState(1);//鎾斁/鍋滄鏍囪瘑 1-鎾斁锛�0-鍋滄
+ request.setPlayTtsContent(content1);
+ BaseResponse response = HKService.customBroadcast(request);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ log.setHkInfo("璇锋眰澶辫触锛�"+JSONObject.toJSONString(response));
+ log.setHkStatus(Constants.THREE);
+ }else{
+ log.setHkInfo("璇锋眰鎴愬姛");
+ log.setHkStatus(Constants.TWO);
+ }
+ log.setDeviceType(Constants.ONE);
+ log.setName("鍙戦�佸箍鎾挱鎶ュ唴瀹�");
+ logList.add(log);
+ }
+ if(logList.size()>0){
+ platformBroadcastLogMapper.insert(logList);
+ }
+ }
+
+ public static BaseResponse dealLedContentBiz(String hkNo, String content,int speed,int color) {
+ TransparentChannelBodyRequest body = new TransparentChannelBodyRequest();
+ TransparentChannelHeadRequest head = new TransparentChannelHeadRequest();
+ TransparentChannelBodyParamRequest request = new TransparentChannelBodyParamRequest();
+ TransparentChannelBodyRegionRequest regions = new TransparentChannelBodyRegionRequest();
+ head.setAbility("cld");//鍥哄畾鍊�
+ head.setTreatyType("haixuan_led_net");//鍥哄畾鍊�
+ head.setDeviceIndexCode(hkNo);
+ body.setMethod("ControlLedGereral");//鍥哄畾鍊�
+ request.setIndexCode(hkNo);
+ request.setOperationType(219);//鍥哄畾鍊�
+ regions.setActionType(32);
+ regions.setContent(content);
+ regions.setRegionNo(1);
+ regions.setRegionType(14);
+ regions.setFontColor(color>0?color:1);
+ regions.setCircleTimes(1);//寰幆娆℃暟
+ regions.setFontSize(32);//
+ regions.setStayTime(1);//鍗曚綅锛燂紵
+ regions.setRegionLeftTopXPos(0);
+ regions.setRegionLeftTopYPos(0);
+ regions.setRegionRightBottomXPos(255);
+ regions.setRegionRightBottomYPos(31);
+ request.setRegions(new ArrayList<>());
+ request.getRegions().add(regions);
+ regions.setSpeed(speed>0?speed:13);
+ body.setParams(request);
+ return HKService.transparentchannel(head,body);
+ }
}
--
Gitblit v1.9.3