From 1a9da0b5ef171300a5f7968a8ce09b30f9d2f793 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期日, 29 九月 2024 15:50:12 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |  127 ++++++++++++++++++++++++++++++++----------
 1 files changed, 96 insertions(+), 31 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..f7e8781 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
@@ -886,7 +892,10 @@
                         if(StringUtils.isBlank(status.getPlateNo())){
                             continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
                         }
-                        PlatformJob job = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
+                        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 )
@@ -1039,62 +1048,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