From 8ed7183c1d062263a9564169f3190070b514b0a1 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期日, 29 九月 2024 18:41:22 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 238 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 150 insertions(+), 88 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 1b26bdc..1ccf736 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,10 +3,12 @@ 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.exception.BusinessException; 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; @@ -75,7 +77,11 @@ @Autowired private PlatformMapper platformMapper; @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Autowired private PlatformDeviceMapper platformDeviceMapper; + @Autowired + private PlatformBroadcastLogMapper platformBroadcastLogMapper; @Autowired private PlatformJobMapper platformJobMapper; @Autowired @@ -864,71 +870,71 @@ List<EventPlatformCarsInfoRequest> events = param.getParams().getEvents(); List<PlatformEvent> eventList = new ArrayList<>(); for(EventPlatformCarsInfoRequest request : events){ - if( request.getData() ==null || request.getData().size()==0){ + if( request.getData() ==null ){ continue; } Integer workStatus = 0; - for(EventPlatformCarsDataRequest data : request.getData()){ - if( data.getHPVehicleStatus() ==null || data.getHPVehicleStatus().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;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞� + 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;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞� - } + } //鍚勮溅閬撹溅杈嗙姸鎬� - for(EventPlatformCarsStatusInfoRequest status : data.getHPVehicleStatus()){ - eventList.add(initPlatformEventModel(request,data,status));//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級 - if(StringUtils.isBlank(status.getPlateNo())){ - continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃 - } - PlatformJob job = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda() - .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;//鍏朵粬鐘舵�佷笉澶勭悊锛岃烦杩� - } + 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);//璁板綍浣滀笟鏃ュ織 - } - break;//鍙鐞嗙涓�涓暟鎹姸鎬� - } } if(eventList.size()>0){ //鐢熸垚浜嬩欢 @@ -1039,62 +1045,118 @@ 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 ="杞﹁締"+model.getCarCodeFront()+"鍋滈敊鏈堝彴浜�"; + 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<>(); + List<PlatformBroadcastLog> logList = new ArrayList<>(); for(PlatformDevice device : deviceList){ if(StringUtils.isNotBlank(device.getHkId())){ continue; } if(Constants.equalsInteger(device.getType(),Constants.ZERO)){ //濡傛灉鏄疞ED - 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(device.getHkId()); - body.setMethod("ControlLedGereral");//鍥哄畾鍊� - request.setIndexCode(device.getHkId()); - request.setOperationType(219);//鍥哄畾鍊� - regions.setActionType(32); - regions.setContent(content); - regions.setRegionNo(1); - regions.setRegionType(14); - regions.setFontColor(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(13); - body.setParams(request); - HKService.transparentchannel(head,body); + 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.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)){ //濡傛灉鏄箍鎾偣 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.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(content); - HKService.customBroadcast(request); + 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