From 3a63bde28d2802c818adef25e47b8c98f3ab4b6c Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 22 三月 2021 16:07:36 +0800
Subject: [PATCH] 加入手工送databus 功能

---
 service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java                             |    9 +++
 service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java             |   24 ++++++++
 java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java                        |   12 ++++
 service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java                          |   10 +++
 java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java              |   11 +++
 java110-bean/src/main/java/com/java110/dto/businessDatabus/CustomBusinessDatabusDto.java       |   50 ++++++++++++++++
 java110-utils/src/main/java/com/java110/utils/constant/BusinessTypeConstant.java               |    5 +
 service-common/src/main/java/com/java110/common/bmo/machine/impl/SaveMachineRecordBMOImpl.java |   17 ++++-
 8 files changed, 134 insertions(+), 4 deletions(-)

diff --git a/java110-bean/src/main/java/com/java110/dto/businessDatabus/CustomBusinessDatabusDto.java b/java110-bean/src/main/java/com/java110/dto/businessDatabus/CustomBusinessDatabusDto.java
new file mode 100644
index 0000000..70960cb
--- /dev/null
+++ b/java110-bean/src/main/java/com/java110/dto/businessDatabus/CustomBusinessDatabusDto.java
@@ -0,0 +1,50 @@
+package com.java110.dto.businessDatabus;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.PageDto;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName 鑷畾涔塪atabus
+ * @Description 涓氬姟鏁版嵁鍚屾鏁版嵁灞傚皝瑁�
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+public class CustomBusinessDatabusDto extends PageDto implements Serializable {
+
+    private String businessTypeCd;
+
+    private JSONObject data;
+
+    public CustomBusinessDatabusDto() {
+    }
+
+    public CustomBusinessDatabusDto(String businessTypeCd, JSONObject data) {
+        this.businessTypeCd = businessTypeCd;
+        this.data = data;
+    }
+
+    public static CustomBusinessDatabusDto getInstance(String businessTypeCd, JSONObject data) {
+        return new CustomBusinessDatabusDto(businessTypeCd, data);
+    }
+
+
+    public String getBusinessTypeCd() {
+        return businessTypeCd;
+    }
+
+    public void setBusinessTypeCd(String businessTypeCd) {
+        this.businessTypeCd = businessTypeCd;
+    }
+
+    public JSONObject getData() {
+        return data;
+    }
+
+    public void setData(JSONObject data) {
+        this.data = data;
+    }
+}
diff --git a/java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java b/java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java
index 717562e..2e41261 100644
--- a/java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java
+++ b/java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java
@@ -2,8 +2,10 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
+import com.java110.po.machine.MachineRecordPo;
 import com.java110.vo.ResultVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -72,4 +74,13 @@
 
     @RequestMapping(value = "/notifyTempCarFeeOrder", method = RequestMethod.POST)
     ResultVo notifyTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto);
+
+
+    /**
+     * 鑷畾涔塪atabus 鏁版嵁 浼犺緭
+     * @param customBusinessDatabusDto
+     * @return
+     */
+    @RequestMapping(value = "/customExchange", method = RequestMethod.POST)
+    void customExchange(@RequestBody CustomBusinessDatabusDto customBusinessDatabusDto);
 }
diff --git a/java110-utils/src/main/java/com/java110/utils/constant/BusinessTypeConstant.java b/java110-utils/src/main/java/com/java110/utils/constant/BusinessTypeConstant.java
index 6cf1eb4..24fd70c 100644
--- a/java110-utils/src/main/java/com/java110/utils/constant/BusinessTypeConstant.java
+++ b/java110-utils/src/main/java/com/java110/utils/constant/BusinessTypeConstant.java
@@ -1427,6 +1427,9 @@
      */
     public static final String BUSINESS_TYPE_DELETE_MACHINE_AUTH="661100050004";
 
-
+    /**
+     * 寮�闂ㄨ褰� 閫乨atabus
+     */
+    public static final String BUSINESS_TYPE_DATABUS_SEND_OPEN_LOG = "990000060001";
 
 }
diff --git a/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java b/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
index b554b43..a71daa2 100644
--- a/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
@@ -1,6 +1,7 @@
 package com.java110.utils.util;
 
 
+import com.alibaba.fastjson.JSONObject;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.beanutils.ConvertUtils;
 import org.apache.commons.beanutils.Converter;
@@ -169,6 +170,17 @@
         return map;
     }
 
+    /**
+     * bean杞崲涓簃ap瀵硅薄
+     *
+     * @param orgBean 鍘熷bean
+     * @return map瀵硅薄
+     */
+    public static JSONObject beanCovertJson(Object orgBean) {
+
+        return JSONObject.parseObject(JSONObject.toJSONString(orgBean));
+    }
+
 
     /**
      * bean闆嗗悎杞崲涓簃ap瀵硅薄闆嗗悎
diff --git a/service-common/src/main/java/com/java110/common/bmo/machine/impl/SaveMachineRecordBMOImpl.java b/service-common/src/main/java/com/java110/common/bmo/machine/impl/SaveMachineRecordBMOImpl.java
index 4979325..48ffa3f 100644
--- a/service-common/src/main/java/com/java110/common/bmo/machine/impl/SaveMachineRecordBMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/bmo/machine/impl/SaveMachineRecordBMOImpl.java
@@ -15,8 +15,10 @@
  */
 package com.java110.common.bmo.machine.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.common.bmo.machine.ISaveMachineRecordBMO;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
 import com.java110.dto.file.FileDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.machine.MachineRecordDto;
@@ -24,8 +26,10 @@
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.common.IMachineRecordInnerServiceSMO;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.po.file.FileRelPo;
 import com.java110.po.machine.MachineRecordPo;
+import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
@@ -57,6 +61,10 @@
 
     @Autowired
     private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
+
+    @Autowired
+    private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
+
 
     @Override
     public ResponseEntity<String> saveRecord(MachineRecordDto machineRecordDto) {
@@ -97,9 +105,12 @@
 
         int count = machineRecordInnerServiceSMOImpl.saveMachineRecords(machineRecordPos);
 
-        if (count > 0) {
-            return ResultVo.success();
+        if (count < 1) {
+            return ResultVo.error("涓婁紶璁板綍澶辫触");
         }
-        return ResultVo.error("涓婁紶璁板綍澶辫触");
+        //浼犻�乨atabus
+        dataBusInnerServiceSMOImpl.customExchange(CustomBusinessDatabusDto.getInstance(
+                BusinessTypeConstant.BUSINESS_TYPE_DATABUS_SEND_OPEN_LOG, BeanConvertUtil.beanCovertJson(machineRecordPo)));
+        return ResultVo.success();
     }
 }
diff --git a/service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java b/service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java
index bbdbf8f..e922534 100644
--- a/service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java
+++ b/service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java
@@ -17,9 +17,11 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.client.RestTemplate;
+import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
 import com.java110.job.adapt.hcIot.GetToken;
+import com.java110.po.machine.MachineRecordPo;
 import com.java110.vo.ResultVo;
 import org.springframework.http.HttpHeaders;
 
@@ -86,6 +88,7 @@
     public ResultVo getTempCarFeeOrder(TempCarPayOrderDto tempCarPayOrderDto) {
         return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
     }
+
     /**
      * 鏌ヨ 涓存椂杞﹀緟鏀粯璁㈠崟
      *
@@ -108,4 +111,11 @@
     public void execute(Business business, List<Business> businesses) throws Exception {
 
     }
+    /**
+     * 鎵嬪伐 閫佹暟鎹�
+     * @param customBusinessDatabusDto
+     */
+    public void customExchange(CustomBusinessDatabusDto customBusinessDatabusDto){
+
+    }
 }
diff --git a/service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java b/service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java
index 9c04bdd..9a6a30f 100644
--- a/service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java
@@ -16,8 +16,10 @@
 package com.java110.job.adapt;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
+import com.java110.po.machine.MachineRecordPo;
 import com.java110.vo.ResultVo;
 
 import java.util.List;
@@ -58,4 +60,11 @@
     ResultVo getTempCarFeeOrder(TempCarPayOrderDto tempCarPayOrderDto);
 
     ResultVo notifyTempCarFeeOrder(TempCarPayOrderDto tempCarPayOrderDto);
+
+
+    /**
+     * 鎵嬪伐 閫佹暟鎹�
+     * @param customBusinessDatabusDto
+     */
+    void customExchange(CustomBusinessDatabusDto customBusinessDatabusDto);
 }
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 d7fe044..4427eb7 100644
--- 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
@@ -4,6 +4,7 @@
 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;
@@ -35,6 +36,7 @@
     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
@@ -80,6 +82,28 @@
     }
 
     /**
+     * 闂ㄧ寮�闂ㄨ褰�
+     *
+     * @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    褰撳墠涓氬姟

--
Gitblit v1.8.0