From d937205d5824dc44ab1567cf6f84fbfa817baa92 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 17 一月 2022 17:56:13 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 114 insertions(+), 0 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
old mode 100644
new mode 100755
index 421e44a..9b7438f
--- 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
@@ -1,9 +1,19 @@
 package com.java110.job.smo.impl;
 
 
+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.intf.job.IDataBusInnerServiceSMO;
+import com.java110.job.adapt.IDatabusAdapt;
+import com.java110.utils.cache.DatabusCache;
+import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -19,9 +29,113 @@
  **/
 @RestController
 public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataBusInnerServiceSMO {
+    private static final Logger logger = LoggerFactory.getLogger(DataBusInnerServiceSMOImpl.class);
+
+    public static final String DEFAULT_OPEN_DOOR_PROTOCOL = "openDoorAdapt";//鍚稿ⅷ闂ㄧ
+    public static final String DEFAULT_GET_QRCODE_PROTOCOL = "getMachineQrCodeAdapt";//鑾峰彇浜岀淮鐮�
+    public static final String DEFAULT_START_MACHINE_PROTOCOL = "restartMachineAdapt";//鍚稿ⅷ闂ㄧ
+    public static final String DEFAULT_RESEND_IOT_PROTOCOL = "reSendIotAdapt";//閲嶆柊閫佹暟鎹�
+    public static final String DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL = "getTempCarFeeOrderAdapt";//閲嶆柊閫佹暟鎹�
+    public static final String DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL = "notifyTempCarFeeOrderAdapt";//閲嶆柊閫佹暟鎹�
+    public static final String DEFAULT_DEFAULT_SEND_MACHINE_RECORD = "defaultSendMachineRecordAdapt";//榛樿璁惧璁板綍閫傞厤鍣�
+
 
     @Override
     public boolean exchange(@RequestBody List<Business> businesses) {
+        List<BusinessDatabusDto> databusDtos = DatabusCache.getDatabuss();
+        for (Business business : businesses) {
+            doExchange(business, businesses, databusDtos);
+        }
         return false;
     }
+
+    @Override
+    public ResultVo openDoor(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.openDoor(reqJson);
+
+    }
+
+
+    @Override
+    public ResultVo getQRcode(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_GET_QRCODE_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.getQRcode(reqJson);
+    }
+
+    @Override
+    public ResultVo customCarInOut(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.customCarInOut(reqJson);
+    }
+
+    @Override
+    public ResultVo restartMachine(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_START_MACHINE_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.restartMachine(reqJson);
+
+    }
+
+    @Override
+    public ResultVo resendIot(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_RESEND_IOT_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.reSendToIot(reqJson);
+
+    }
+
+    @Override
+    public ResultVo getTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.getTempCarFeeOrder(tempCarPayOrderDto);
+    }
+
+    @Override
+    public ResultVo notifyTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.notifyTempCarFeeOrder(tempCarPayOrderDto);
+    }
+
+    /**
+     * 闂ㄧ寮�闂ㄨ褰�
+     *
+     * @param customBusinessDatabusDto
+     * @return
+     */
+    @Override
+    public void customExchange(@RequestBody CustomBusinessDatabusDto customBusinessDatabusDto) {
+        IDatabusAdapt databusAdaptImpl = null;
+        List<BusinessDatabusDto> databusDtos = DatabusCache.getDatabuss();
+        for (BusinessDatabusDto databusDto : databusDtos) {
+            try {
+                if (customBusinessDatabusDto.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
+                    databusAdaptImpl = ApplicationContextFactory.getBean(databusDto.getBeanName(), IDatabusAdapt.class);
+                    databusAdaptImpl.customExchange(customBusinessDatabusDto);
+                }
+            } catch (Exception e) {
+                logger.error("鎵цdatabus澶辫触", e);
+            }
+        }
+    }
+
+
+    /**
+     * 澶勭悊涓氬姟绫�
+     *
+     * @param business    褰撳墠涓氬姟
+     * @param businesses  鍏ㄩ儴涓氬姟
+     * @param databusDtos databus
+     */
+    private void doExchange(Business business, List<Business> businesses, List<BusinessDatabusDto> databusDtos) {
+        IDatabusAdapt databusAdaptImpl = null;
+        for (BusinessDatabusDto databusDto : databusDtos) {
+            try {
+                if (business.getBusinessTypeCd().equals(databusDto.getBusinessTypeCd())) {
+                    databusAdaptImpl = ApplicationContextFactory.getBean(databusDto.getBeanName(), IDatabusAdapt.class);
+                    databusAdaptImpl.execute(business, businesses);
+                }
+            } catch (Exception e) {
+                logger.error("鎵цdatabus澶辫触", e);
+            }
+        }
+    }
 }

--
Gitblit v1.8.0