From 7935724516cb699835da888d59cd5b7bec5c6049 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 九月 2024 12:07:29 +0800
Subject: [PATCH] 完成业主功能的优化

---
 service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 108 insertions(+), 12 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java b/service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java
index 9b7438f..981c0c2 100755
--- a/service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java
+++ b/service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java
@@ -3,20 +3,32 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.dto.businessDatabus.BusinessDatabusDto;
-import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
-import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
-import com.java110.entity.order.Business;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.data.DatabusQueueDataDto;
+import com.java110.dto.log.LogSystemErrorDto;
+import com.java110.dto.system.BusinessDatabusDto;
+import com.java110.dto.data.DatabusDataDto;
+import com.java110.dto.machine.CarInoutDto;
+import com.java110.dto.machine.MachineDto;
+import com.java110.dto.fee.TempCarPayOrderDto;
+import com.java110.dto.system.Business;
 import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.job.adapt.IDatabusAdapt;
+import com.java110.job.adapt.hcIot.http.ISendIot;
+import com.java110.job.databus.DatabusDataQueue;
+import com.java110.po.log.LogSystemErrorPo;
+import com.java110.service.smo.ISaveSystemErrorSMO;
 import com.java110.utils.cache.DatabusCache;
 import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.utils.util.ExceptionUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -39,6 +51,11 @@
     public static final String DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL = "notifyTempCarFeeOrderAdapt";//閲嶆柊閫佹暟鎹�
     public static final String DEFAULT_DEFAULT_SEND_MACHINE_RECORD = "defaultSendMachineRecordAdapt";//榛樿璁惧璁板綍閫傞厤鍣�
 
+    @Autowired
+    private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
+
+    @Autowired
+    private ISendIot sendIotImpl;
 
     @Override
     public boolean exchange(@RequestBody List<Business> businesses) {
@@ -46,13 +63,20 @@
         for (Business business : businesses) {
             doExchange(business, businesses, databusDtos);
         }
-        return false;
+        return true;
     }
 
     @Override
     public ResultVo openDoor(@RequestBody JSONObject reqJson) {
         IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
         return databusAdaptImpl.openDoor(reqJson);
+
+    }
+
+    @Override
+    public ResultVo closeDoor(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.closeDoor(reqJson);
 
     }
 
@@ -68,6 +92,19 @@
         IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
         return databusAdaptImpl.customCarInOut(reqJson);
     }
+
+    @Override
+    public ResultVo payVideo(@RequestBody MachineDto machineDto) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.payVideo(machineDto);
+    }
+
+    @Override
+    public ResultVo heartbeatVideo(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.heartbeatVideo(reqJson);
+    }
+
 
     @Override
     public ResultVo restartMachine(@RequestBody JSONObject reqJson) {
@@ -90,6 +127,32 @@
     }
 
     @Override
+    public ResultVo updateCarInoutCarNum(@RequestBody CarInoutDto carInoutDto) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.updateCarInoutCarNum(carInoutDto);
+    }
+
+    @Override
+    public ResultVo getManualOpenDoorLogs(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.getManualOpenDoorLogs(reqJson);
+    }
+
+    @Override
+    public ResultVo tempCarAuth(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.tempCarAuth(reqJson);
+    }
+
+    @Override
+    public ResultVo getTempCarAuths(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.getTempCarAuths(reqJson);
+    }
+
+
+
+    @Override
     public ResultVo notifyTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto) {
         IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
         return databusAdaptImpl.notifyTempCarFeeOrder(tempCarPayOrderDto);
@@ -98,23 +161,43 @@
     /**
      * 闂ㄧ寮�闂ㄨ褰�
      *
-     * @param customBusinessDatabusDto
+     * @param databusDataDto
      * @return
      */
     @Override
-    public void customExchange(@RequestBody CustomBusinessDatabusDto customBusinessDatabusDto) {
-        IDatabusAdapt databusAdaptImpl = null;
+    public boolean databusData(@RequestBody DatabusDataDto databusDataDto) {
+        // IDatabusAdapt databusAdaptImpl = null;
         List<BusinessDatabusDto> databusDtos = DatabusCache.getDatabuss();
+        Business business = null;
+        List<Business> businesses = null;
+        DatabusQueueDataDto databusQueueDataDto = null;
+        String dataId = "";
         for (BusinessDatabusDto databusDto : databusDtos) {
+            dataId = GenerateCodeFactory.getUUID();
             try {
-                if (customBusinessDatabusDto.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
-                    databusAdaptImpl = ApplicationContextFactory.getBean(databusDto.getBeanName(), IDatabusAdapt.class);
-                    databusAdaptImpl.customExchange(customBusinessDatabusDto);
+                if (!databusDataDto.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
+                    continue;
                 }
+                businesses = new ArrayList<>();
+                business = new Business();
+                business.setData(databusDataDto.getData());
+                business.setBusinessTypeCd(databusDataDto.getBusinessTypeCd());
+                businesses.add(business);
+                databusQueueDataDto = new DatabusQueueDataDto(databusDto.getBeanName(), business, businesses);
+                databusQueueDataDto.setDataId(dataId);
+
+                //todo 瀛樻斁闃熷垪涓�
+                DatabusDataQueue.addMsg(databusQueueDataDto);
+
+//                databusAdaptImpl = ApplicationContextFactory.getBean(databusDto.getBeanName(), IDatabusAdapt.class);
+//                databusAdaptImpl.customExchange(customBusinessDatabusDto);
             } catch (Exception e) {
                 logger.error("鎵цdatabus澶辫触", e);
             }
         }
+
+        return true;
+
     }
 
 
@@ -129,12 +212,25 @@
         IDatabusAdapt databusAdaptImpl = null;
         for (BusinessDatabusDto databusDto : databusDtos) {
             try {
-                if (business.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
+                if (!business.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
+                    continue;
+                }
+                //todo 鏀舵嵁鍚屾鍘绘墦鍗板鐞嗭紝涓嶇劧鍓嶅彴绛変笉鍙�
+                if ("payFeeReceiptAdapt".equals(databusDto.getBeanName())) {
                     databusAdaptImpl = ApplicationContextFactory.getBean(databusDto.getBeanName(), IDatabusAdapt.class);
                     databusAdaptImpl.execute(business, businesses);
+                    continue;
                 }
+                //todo 瀛樻斁闃熷垪涓�
+                DatabusDataQueue.addMsg(new DatabusQueueDataDto(databusDto.getBeanName(), business, businesses));
+
             } catch (Exception e) {
                 logger.error("鎵цdatabus澶辫触", e);
+                LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_DATABUS);
+                logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
             }
         }
     }

--
Gitblit v1.8.0