Parcourir la source

加入databus 功能

java110 il y a 5 ans
Parent
commit
f27cb0d1c5
24 fichiers modifiés avec 1016 ajouts et 65 suppressions
  1. 69 0
      java110-bean/src/main/java/com/java110/dto/businessDatabus/BusinessDatabusDto.java
  2. 54 0
      java110-bean/src/main/java/com/java110/po/businessDatabus/BusinessDatabusPo.java
  3. 1 0
      java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
  4. 92 0
      java110-db/src/main/resources/mapper/job/BusinessDatabusServiceDaoImplMapper.xml
  5. 17 12
      java110-generator/src/main/resources/newBack/template_1.json
  6. 52 0
      java110-interface/src/main/java/com/java110/intf/job/IBusinessDatabusInnerServiceSMO.java
  7. 34 0
      java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java
  8. 1 1
      java110-interface/src/main/resources/config/center_event.properties
  9. 2 0
      java110-utils/src/main/java/com/java110/utils/cache/MappingCache.java
  10. 107 0
      service-job/src/main/java/com/java110/job/Api/BusinessDatabusApi.java
  11. 17 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/IDeleteBusinessDatabusBMO.java
  12. 19 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/IGetBusinessDatabusBMO.java
  13. 19 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/ISaveBusinessDatabusBMO.java
  14. 19 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/IUpdateBusinessDatabusBMO.java
  15. 34 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/DeleteBusinessDatabusBMOImpl.java
  16. 44 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/GetBusinessDatabusBMOImpl.java
  17. 38 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/SaveBusinessDatabusBMOImpl.java
  18. 34 0
      service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/UpdateBusinessDatabusBMOImpl.java
  19. 61 0
      service-job/src/main/java/com/java110/job/dao/IBusinessDatabusServiceDao.java
  20. 98 0
      service-job/src/main/java/com/java110/job/dao/impl/BusinessDatabusServiceDaoImpl.java
  21. 83 0
      service-job/src/main/java/com/java110/job/smo/impl/BusinessDatabusInnerServiceSMOImpl.java
  22. 27 0
      service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java
  23. 94 0
      service-order/src/main/java/com/java110/order/listener/TransactionOrderInfoToDataBusListener.java
  24. 0 52
      service-order/src/main/java/com/java110/order/listener/TransactionOrderInfoToKafkaListener.java

+ 69 - 0
java110-bean/src/main/java/com/java110/dto/businessDatabus/BusinessDatabusDto.java

@@ -0,0 +1,69 @@
+package com.java110.dto.businessDatabus;
+
+import com.java110.dto.PageDto;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName FloorDto
+ * @Description 业务数据同步数据层封装
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+public class BusinessDatabusDto extends PageDto implements Serializable {
+
+    private String businessTypeCd;
+private String databusId;
+private String beanName;
+private String seq;
+
+
+    private Date createTime;
+
+    private String statusCd = "0";
+
+
+    public String getBusinessTypeCd() {
+        return businessTypeCd;
+    }
+public void setBusinessTypeCd(String businessTypeCd) {
+        this.businessTypeCd = businessTypeCd;
+    }
+public String getDatabusId() {
+        return databusId;
+    }
+public void setDatabusId(String databusId) {
+        this.databusId = databusId;
+    }
+public String getBeanName() {
+        return beanName;
+    }
+public void setBeanName(String beanName) {
+        this.beanName = beanName;
+    }
+public String getSeq() {
+        return seq;
+    }
+public void setSeq(String seq) {
+        this.seq = seq;
+    }
+
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatusCd() {
+        return statusCd;
+    }
+
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+}

+ 54 - 0
java110-bean/src/main/java/com/java110/po/businessDatabus/BusinessDatabusPo.java

@@ -0,0 +1,54 @@
+package com.java110.po.businessDatabus;
+
+import java.io.Serializable;
+
+public class BusinessDatabusPo implements Serializable {
+
+    private String businessTypeCd;
+    private String databusId;
+    private String beanName;
+    private String statusCd = "0";
+    private String seq;
+
+    public String getBusinessTypeCd() {
+        return businessTypeCd;
+    }
+
+    public void setBusinessTypeCd(String businessTypeCd) {
+        this.businessTypeCd = businessTypeCd;
+    }
+
+    public String getDatabusId() {
+        return databusId;
+    }
+
+    public void setDatabusId(String databusId) {
+        this.databusId = databusId;
+    }
+
+    public String getBeanName() {
+        return beanName;
+    }
+
+    public void setBeanName(String beanName) {
+        this.beanName = beanName;
+    }
+
+    public String getStatusCd() {
+        return statusCd;
+    }
+
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+
+    public String getSeq() {
+        return seq;
+    }
+
+    public void setSeq(String seq) {
+        this.seq = seq;
+    }
+
+
+}

+ 1 - 0
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java

@@ -174,6 +174,7 @@ public class GenerateCodeFactory {
     public static final String CODE_PREFIX_detailDiscountId = "15";
     public static final String CODE_PREFIX_errId = "10";
     public static final String CODE_PREFIX_IfdId = "11";
+    public static final String CODE_PREFIX_databusId = "12";
 
 
     /**

+ 92 - 0
java110-db/src/main/resources/mapper/job/BusinessDatabusServiceDaoImplMapper.xml

@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="businessDatabusServiceDaoImpl">
+
+    <!-- 保存业务数据同步信息 add by wuxw 2018-07-03 -->
+    <insert id="saveBusinessDatabusInfo" parameterType="Map">
+        insert into c_business_databus(
+        business_type_cd,databus_id,bean_name,seq
+        ) values (
+        #{businessTypeCd},#{databusId},#{beanName},#{seq}
+        )
+    </insert>
+
+
+    <!-- 查询业务数据同步信息 add by wuxw 2018-07-03 -->
+    <select id="getBusinessDatabusInfo" parameterType="Map" resultType="Map">
+        select t.business_type_cd,t.business_type_cd businessTypeCd,t.databus_id,t.databus_id
+        databusId,t.bean_name,t.bean_name beanName,t.status_cd,t.status_cd statusCd,t.seq
+        from c_business_databus t
+        where 1 =1
+        <if test="businessTypeCd !=null and businessTypeCd != ''">
+            and t.business_type_cd= #{businessTypeCd}
+        </if>
+        <if test="databusId !=null and databusId != ''">
+            and t.databus_id= #{databusId}
+        </if>
+        <if test="beanName !=null and beanName != ''">
+            and t.bean_name= #{beanName}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="seq !=null and seq != ''">
+            and t.seq= #{seq}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+
+    </select>
+
+
+    <!-- 修改业务数据同步信息 add by wuxw 2018-07-03 -->
+    <update id="updateBusinessDatabusInfo" parameterType="Map">
+        update c_business_databus t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="businessTypeCd !=null and businessTypeCd != ''">
+            , t.business_type_cd= #{businessTypeCd}
+        </if>
+        <if test="beanName !=null and beanName != ''">
+            , t.bean_name= #{beanName}
+        </if>
+        <if test="seq !=null and seq != ''">
+            , t.seq= #{seq}
+        </if>
+        where 1=1
+        <if test="databusId !=null and databusId != ''">
+            and t.databus_id= #{databusId}
+        </if>
+
+    </update>
+
+    <!-- 查询业务数据同步数量 add by wuxw 2018-07-03 -->
+    <select id="queryBusinessDatabussCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from c_business_databus t
+        where 1 =1
+        <if test="businessTypeCd !=null and businessTypeCd != ''">
+            and t.business_type_cd= #{businessTypeCd}
+        </if>
+        <if test="databusId !=null and databusId != ''">
+            and t.databus_id= #{databusId}
+        </if>
+        <if test="beanName !=null and beanName != ''">
+            and t.bean_name= #{beanName}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="seq !=null and seq != ''">
+            and t.seq= #{seq}
+        </if>
+
+
+    </select>
+
+</mapper>

+ 17 - 12
java110-generator/src/main/resources/newBack/template_1.json

@@ -1,22 +1,27 @@
 {
   "autoMove": true,
-  "id": "errId",
-  "name": "logSystemError",
-  "desc": "系统异常",
-  "shareParam": "errId",
-  "shareColumn": "errId",
-  "shareName": "common",
-  "tableName": "log_system_error",
+  "id": "databusId",
+  "name": "businessDatabus",
+  "desc": "业务数据同步",
+  "shareParam": "databusId",
+  "shareColumn": "databus_id",
+  "shareName": "job",
+  "tableName": "c_business_databus",
   "param": {
-    "errId": "err_id",
-    "errType": "err_type",
-    "msg": "msg",
+    "databusId": "databus_id",
+    "businessTypeCd": "business_type_cd",
+    "beanName": "bean_name",
+    "seq": "seq",
     "statusCd": "status_cd"
   },
   "required": [
     {
-      "code": "errType",
-      "msg": "异常不能为空"
+      "code": "businessTypeCd",
+      "msg": "业务类型不能为空"
+    },
+    {
+      "code": "beanName",
+      "msg": "适配器不能为空"
     }
   ]
 }

+ 52 - 0
java110-interface/src/main/java/com/java110/intf/job/IBusinessDatabusInnerServiceSMO.java

@@ -0,0 +1,52 @@
+package com.java110.intf;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.businessDatabus.BusinessDatabusDto;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * @ClassName IBusinessDatabusInnerServiceSMO
+ * @Description 业务数据同步接口类
+ * @Author wuxw
+ * @Date 2019/4/24 9:04
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@FeignClient(name = "job-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/businessDatabusApi")
+public interface IBusinessDatabusInnerServiceSMO {
+
+
+    @RequestMapping(value = "/saveBusinessDatabus", method = RequestMethod.POST)
+    public int saveBusinessDatabus(@RequestBody BusinessDatabusPo businessDatabusPo);
+
+    @RequestMapping(value = "/updateBusinessDatabus", method = RequestMethod.POST)
+    public int updateBusinessDatabus(@RequestBody BusinessDatabusPo businessDatabusPo);
+
+    @RequestMapping(value = "/deleteBusinessDatabus", method = RequestMethod.POST)
+    public int deleteBusinessDatabus(@RequestBody BusinessDatabusPo businessDatabusPo);
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     * @param businessDatabusDto 数据对象分享
+     * @return BusinessDatabusDto 对象数据
+     */
+    @RequestMapping(value = "/queryBusinessDatabuss", method = RequestMethod.POST)
+    List<BusinessDatabusDto> queryBusinessDatabuss(@RequestBody BusinessDatabusDto businessDatabusDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param businessDatabusDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/queryBusinessDatabussCount", method = RequestMethod.POST)
+    int queryBusinessDatabussCount(@RequestBody BusinessDatabusDto businessDatabusDto);
+}

+ 34 - 0
java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java

@@ -0,0 +1,34 @@
+package com.java110.intf.job;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.task.TaskDto;
+import com.java110.entity.order.Business;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * @ClassName ITaskInnerServiceSMO
+ * @Description dataBus统一处理类
+ * @Author wuxw
+ * @Date 2019/4/24 9:04
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@FeignClient(name = "job-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/dataBusApi")
+public interface IDataBusInnerServiceSMO {
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     * @param businesses 业务
+     * @return TaskDto 对象数据
+     */
+    @RequestMapping(value = "/exchange", method = RequestMethod.POST)
+    boolean exchange(@RequestBody List<Business> businesses);
+
+}

+ 1 - 1
java110-interface/src/main/resources/config/center_event.properties

@@ -1,3 +1,3 @@
 java110.event.properties.centerServiceListener=\
   dealUserIdListener,\
-  transactionOrderInfoToKafkaListener
+  transactionOrderInfoToDataBusListener

+ 2 - 0
java110-utils/src/main/java/com/java110/utils/cache/MappingCache.java

@@ -17,6 +17,8 @@ public class MappingCache extends BaseCache {
     public final static String _SUFFIX_MAPPING = "_SUFFIX_MAPPING";
     //日志
     public final static String LOG_SERVICE_CODE = "LOG_SERVICE_CODE";
+
+
     /**
      * 获取值
      *

+ 107 - 0
service-job/src/main/java/com/java110/job/Api/BusinessDatabusApi.java

@@ -0,0 +1,107 @@
+package com.java110.job.Api;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.businessDatabus.BusinessDatabusDto;
+import com.java110.job.bmo.businessDatabus.IDeleteBusinessDatabusBMO;
+import com.java110.job.bmo.businessDatabus.IGetBusinessDatabusBMO;
+import com.java110.job.bmo.businessDatabus.ISaveBusinessDatabusBMO;
+import com.java110.job.bmo.businessDatabus.IUpdateBusinessDatabusBMO;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+
+@RestController
+@RequestMapping(value = "/businessDatabus")
+public class BusinessDatabusApi {
+
+    @Autowired
+    private ISaveBusinessDatabusBMO saveBusinessDatabusBMOImpl;
+    @Autowired
+    private IUpdateBusinessDatabusBMO updateBusinessDatabusBMOImpl;
+    @Autowired
+    private IDeleteBusinessDatabusBMO deleteBusinessDatabusBMOImpl;
+
+    @Autowired
+    private IGetBusinessDatabusBMO getBusinessDatabusBMOImpl;
+
+    /**
+     * 微信保存消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /businessDatabus/saveBusinessDatabus
+     * @path /app/businessDatabus/saveBusinessDatabus
+     */
+    @RequestMapping(value = "/saveBusinessDatabus", method = RequestMethod.POST)
+    public ResponseEntity<String> saveBusinessDatabus(@RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "businessTypeCd", "请求报文中未包含businessTypeCd");
+        Assert.hasKeyAndValue(reqJson, "beanName", "请求报文中未包含beanName");
+
+
+        BusinessDatabusPo businessDatabusPo = BeanConvertUtil.covertBean(reqJson, BusinessDatabusPo.class);
+        return saveBusinessDatabusBMOImpl.save(businessDatabusPo);
+    }
+
+    /**
+     * 微信修改消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /businessDatabus/updateBusinessDatabus
+     * @path /app/businessDatabus/updateBusinessDatabus
+     */
+    @RequestMapping(value = "/updateBusinessDatabus", method = RequestMethod.POST)
+    public ResponseEntity<String> updateBusinessDatabus(@RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "businessTypeCd", "请求报文中未包含businessTypeCd");
+        Assert.hasKeyAndValue(reqJson, "beanName", "请求报文中未包含beanName");
+        Assert.hasKeyAndValue(reqJson, "databusId", "databusId不能为空");
+
+
+        BusinessDatabusPo businessDatabusPo = BeanConvertUtil.covertBean(reqJson, BusinessDatabusPo.class);
+        return updateBusinessDatabusBMOImpl.update(businessDatabusPo);
+    }
+
+    /**
+     * 微信删除消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /businessDatabus/deleteBusinessDatabus
+     * @path /app/businessDatabus/deleteBusinessDatabus
+     */
+    @RequestMapping(value = "/deleteBusinessDatabus", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteBusinessDatabus(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
+
+        Assert.hasKeyAndValue(reqJson, "databusId", "databusId不能为空");
+
+
+        BusinessDatabusPo businessDatabusPo = BeanConvertUtil.covertBean(reqJson, BusinessDatabusPo.class);
+        return deleteBusinessDatabusBMOImpl.delete(businessDatabusPo);
+    }
+
+    /**
+     * 微信删除消息模板
+     *
+     * @param businessTypeCd 小区ID
+     * @return
+     * @serviceCode /businessDatabus/queryBusinessDatabus
+     * @path /app/businessDatabus/queryBusinessDatabus
+     */
+    @RequestMapping(value = "/queryBusinessDatabus", method = RequestMethod.GET)
+    public ResponseEntity<String> queryBusinessDatabus(@RequestParam(value = "businessTypeCd", required = false) String businessTypeCd,
+                                                       @RequestParam(value = "page") int page,
+                                                       @RequestParam(value = "row") int row) {
+        BusinessDatabusDto businessDatabusDto = new BusinessDatabusDto();
+        businessDatabusDto.setPage(page);
+        businessDatabusDto.setRow(row);
+        businessDatabusDto.setBusinessTypeCd(businessTypeCd);
+        return getBusinessDatabusBMOImpl.get(businessDatabusDto);
+    }
+}

+ 17 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/IDeleteBusinessDatabusBMO.java

@@ -0,0 +1,17 @@
+package com.java110.job.bmo.businessDatabus;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IDeleteBusinessDatabusBMO {
+
+
+    /**
+     * 修改业务数据同步
+     * add by wuxw
+     * @param businessDatabusPo
+     * @return
+     */
+    ResponseEntity<String> delete(BusinessDatabusPo businessDatabusPo);
+
+
+}

+ 19 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/IGetBusinessDatabusBMO.java

@@ -0,0 +1,19 @@
+package com.java110.job.bmo.businessDatabus;
+
+import com.java110.dto.businessDatabus.BusinessDatabusDto;
+import org.springframework.http.ResponseEntity;
+
+public interface IGetBusinessDatabusBMO {
+
+
+    /**
+     * 查询业务数据同步
+     * add by wuxw
+     *
+     * @param businessDatabusDto
+     * @return
+     */
+    ResponseEntity<String> get(BusinessDatabusDto businessDatabusDto);
+
+
+}

+ 19 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/ISaveBusinessDatabusBMO.java

@@ -0,0 +1,19 @@
+package com.java110.job.bmo.businessDatabus;
+
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import org.springframework.http.ResponseEntity;
+
+public interface ISaveBusinessDatabusBMO {
+
+
+    /**
+     * 添加业务数据同步
+     * add by wuxw
+     *
+     * @param businessDatabusPo
+     * @return
+     */
+    ResponseEntity<String> save(BusinessDatabusPo businessDatabusPo);
+
+
+}

+ 19 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/IUpdateBusinessDatabusBMO.java

@@ -0,0 +1,19 @@
+package com.java110.job.bmo.businessDatabus;
+
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IUpdateBusinessDatabusBMO {
+
+
+    /**
+     * 修改业务数据同步
+     * add by wuxw
+     *
+     * @param businessDatabusPo
+     * @return
+     */
+    ResponseEntity<String> update(BusinessDatabusPo businessDatabusPo);
+
+
+}

+ 34 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/DeleteBusinessDatabusBMOImpl.java

@@ -0,0 +1,34 @@
+package com.java110.job.bmo.businessDatabus.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.IBusinessDatabusInnerServiceSMO;
+import com.java110.job.bmo.businessDatabus.IDeleteBusinessDatabusBMO;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("deleteBusinessDatabusBMOImpl")
+public class DeleteBusinessDatabusBMOImpl implements IDeleteBusinessDatabusBMO {
+
+    @Autowired
+    private IBusinessDatabusInnerServiceSMO businessDatabusInnerServiceSMOImpl;
+
+    /**
+     * @param businessDatabusPo 数据
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> delete(BusinessDatabusPo businessDatabusPo) {
+
+        int flag = businessDatabusInnerServiceSMOImpl.deleteBusinessDatabus(businessDatabusPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 44 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/GetBusinessDatabusBMOImpl.java

@@ -0,0 +1,44 @@
+package com.java110.job.bmo.businessDatabus.impl;
+
+import com.java110.dto.businessDatabus.BusinessDatabusDto;
+import com.java110.intf.IBusinessDatabusInnerServiceSMO;
+import com.java110.job.bmo.businessDatabus.IGetBusinessDatabusBMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service("getBusinessDatabusBMOImpl")
+public class GetBusinessDatabusBMOImpl implements IGetBusinessDatabusBMO {
+
+    @Autowired
+    private IBusinessDatabusInnerServiceSMO businessDatabusInnerServiceSMOImpl;
+
+    /**
+     * @param businessDatabusDto
+     * @return 订单服务能够接受的报文
+     */
+    public ResponseEntity<String> get(BusinessDatabusDto businessDatabusDto) {
+
+
+        int count = businessDatabusInnerServiceSMOImpl.queryBusinessDatabussCount(businessDatabusDto);
+
+        List<BusinessDatabusDto> businessDatabusDtos = null;
+        if (count > 0) {
+            businessDatabusDtos = businessDatabusInnerServiceSMOImpl.queryBusinessDatabuss(businessDatabusDto);
+        } else {
+            businessDatabusDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) businessDatabusDto.getRow()), count, businessDatabusDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+}

+ 38 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/SaveBusinessDatabusBMOImpl.java

@@ -0,0 +1,38 @@
+package com.java110.job.bmo.businessDatabus.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.IBusinessDatabusInnerServiceSMO;
+import com.java110.job.bmo.businessDatabus.ISaveBusinessDatabusBMO;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("saveBusinessDatabusBMOImpl")
+public class SaveBusinessDatabusBMOImpl implements ISaveBusinessDatabusBMO {
+
+    @Autowired
+    private IBusinessDatabusInnerServiceSMO businessDatabusInnerServiceSMOImpl;
+
+    /**
+     * 添加小区信息
+     *
+     * @param businessDatabusPo
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> save(BusinessDatabusPo businessDatabusPo) {
+
+        businessDatabusPo.setDatabusId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_databusId));
+        int flag = businessDatabusInnerServiceSMOImpl.saveBusinessDatabus(businessDatabusPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 34 - 0
service-job/src/main/java/com/java110/job/bmo/businessDatabus/impl/UpdateBusinessDatabusBMOImpl.java

@@ -0,0 +1,34 @@
+package com.java110.job.bmo.businessDatabus.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.IBusinessDatabusInnerServiceSMO;
+import com.java110.job.bmo.businessDatabus.IUpdateBusinessDatabusBMO;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service("updateBusinessDatabusBMOImpl")
+public class UpdateBusinessDatabusBMOImpl implements IUpdateBusinessDatabusBMO {
+
+    @Autowired
+    private IBusinessDatabusInnerServiceSMO businessDatabusInnerServiceSMOImpl;
+
+    /**
+     * @param businessDatabusPo
+     * @return 订单服务能够接受的报文
+     */
+    @Java110Transactional
+    public ResponseEntity<String> update(BusinessDatabusPo businessDatabusPo) {
+
+        int flag = businessDatabusInnerServiceSMOImpl.updateBusinessDatabus(businessDatabusPo);
+
+        if (flag > 0) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+    }
+
+}

+ 61 - 0
service-job/src/main/java/com/java110/job/dao/IBusinessDatabusServiceDao.java

@@ -0,0 +1,61 @@
+package com.java110.job.dao;
+
+
+import com.java110.utils.exception.DAOException;
+import com.java110.entity.merchant.BoMerchant;
+import com.java110.entity.merchant.BoMerchantAttr;
+import com.java110.entity.merchant.Merchant;
+import com.java110.entity.merchant.MerchantAttr;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 业务数据同步组件内部之间使用,没有给外围系统提供服务能力
+ * 业务数据同步服务接口类,要求全部以字符串传输,方便微服务化
+ * 新建客户,修改客户,删除客户,查询客户等功能
+ *
+ * Created by wuxw on 2016/12/27.
+ */
+public interface IBusinessDatabusServiceDao {
+
+
+    /**
+     * 保存 业务数据同步信息
+     * @param info
+     * @throws DAOException DAO异常
+     */
+    void saveBusinessDatabusInfo(Map info) throws DAOException;
+
+
+
+
+    /**
+     * 查询业务数据同步信息(instance过程)
+     * 根据bId 查询业务数据同步信息
+     * @param info bId 信息
+     * @return 业务数据同步信息
+     * @throws DAOException DAO异常
+     */
+    List<Map> getBusinessDatabusInfo(Map info) throws DAOException;
+
+
+
+    /**
+     * 修改业务数据同步信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    void updateBusinessDatabusInfo(Map info) throws DAOException;
+
+
+    /**
+     * 查询业务数据同步总数
+     *
+     * @param info 业务数据同步信息
+     * @return 业务数据同步数量
+     */
+    int queryBusinessDatabussCount(Map info);
+
+}

+ 98 - 0
service-job/src/main/java/com/java110/job/dao/impl/BusinessDatabusServiceDaoImpl.java

@@ -0,0 +1,98 @@
+package com.java110.job.dao.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.job.dao.IBusinessDatabusServiceDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 业务数据同步服务 与数据库交互
+ * Created by wuxw on 2017/4/5.
+ */
+@Service("businessDatabusServiceDaoImpl")
+//@Transactional
+public class BusinessDatabusServiceDaoImpl extends BaseServiceDao implements IBusinessDatabusServiceDao {
+
+    private static Logger logger = LoggerFactory.getLogger(BusinessDatabusServiceDaoImpl.class);
+
+
+
+
+
+    /**
+     * 保存业务数据同步信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public void saveBusinessDatabusInfo(Map info) throws DAOException {
+        logger.debug("保存业务数据同步信息Instance 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("businessDatabusServiceDaoImpl.saveBusinessDatabusInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存业务数据同步信息Instance数据失败:"+ JSONObject.toJSONString(info));
+        }
+    }
+
+
+    /**
+     * 查询业务数据同步信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getBusinessDatabusInfo(Map info) throws DAOException {
+        logger.debug("查询业务数据同步信息 入参 info : {}",info);
+
+        List<Map> businessBusinessDatabusInfos = sqlSessionTemplate.selectList("businessDatabusServiceDaoImpl.getBusinessDatabusInfo",info);
+
+        return businessBusinessDatabusInfos;
+    }
+
+
+    /**
+     * 修改业务数据同步信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public void updateBusinessDatabusInfo(Map info) throws DAOException {
+        logger.debug("修改业务数据同步信息Instance 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("businessDatabusServiceDaoImpl.updateBusinessDatabusInfo",info);
+
+        if(saveFlag < 1){
+            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改业务数据同步信息Instance数据失败:"+ JSONObject.toJSONString(info));
+        }
+    }
+
+     /**
+     * 查询业务数据同步数量
+     * @param info 业务数据同步信息
+     * @return 业务数据同步数量
+     */
+    @Override
+    public int queryBusinessDatabussCount(Map info) {
+        logger.debug("查询业务数据同步数据 入参 info : {}",info);
+
+        List<Map> businessBusinessDatabusInfos = sqlSessionTemplate.selectList("businessDatabusServiceDaoImpl.queryBusinessDatabussCount", info);
+        if (businessBusinessDatabusInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessBusinessDatabusInfos.get(0).get("count").toString());
+    }
+
+
+}

+ 83 - 0
service-job/src/main/java/com/java110/job/smo/impl/BusinessDatabusInnerServiceSMOImpl.java

@@ -0,0 +1,83 @@
+package com.java110.job.smo.impl;
+
+
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.PageDto;
+import com.java110.dto.businessDatabus.BusinessDatabusDto;
+import com.java110.intf.IBusinessDatabusInnerServiceSMO;
+import com.java110.job.dao.IBusinessDatabusServiceDao;
+import com.java110.po.businessDatabus.BusinessDatabusPo;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @ClassName FloorInnerServiceSMOImpl
+ * @Description 业务数据同步内部服务实现类
+ * @Author wuxw
+ * @Date 2019/4/24 9:20
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@RestController
+public class BusinessDatabusInnerServiceSMOImpl extends BaseServiceSMO implements IBusinessDatabusInnerServiceSMO {
+
+    @Autowired
+    private IBusinessDatabusServiceDao businessDatabusServiceDaoImpl;
+
+
+    @Override
+    public int saveBusinessDatabus(@RequestBody BusinessDatabusPo businessDatabusPo) {
+        int saveFlag = 1;
+        businessDatabusServiceDaoImpl.saveBusinessDatabusInfo(BeanConvertUtil.beanCovertMap(businessDatabusPo));
+        return saveFlag;
+    }
+
+    @Override
+    public int updateBusinessDatabus(@RequestBody BusinessDatabusPo businessDatabusPo) {
+        int saveFlag = 1;
+        businessDatabusServiceDaoImpl.updateBusinessDatabusInfo(BeanConvertUtil.beanCovertMap(businessDatabusPo));
+        return saveFlag;
+    }
+
+    @Override
+    public int deleteBusinessDatabus(@RequestBody BusinessDatabusPo businessDatabusPo) {
+        int saveFlag = 1;
+        businessDatabusPo.setStatusCd("1");
+        businessDatabusServiceDaoImpl.updateBusinessDatabusInfo(BeanConvertUtil.beanCovertMap(businessDatabusPo));
+        return saveFlag;
+    }
+
+    @Override
+    public List<BusinessDatabusDto> queryBusinessDatabuss(@RequestBody BusinessDatabusDto businessDatabusDto) {
+
+        //校验是否传了 分页信息
+
+        int page = businessDatabusDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            businessDatabusDto.setPage((page - 1) * businessDatabusDto.getRow());
+        }
+
+        List<BusinessDatabusDto> businessDatabuss = BeanConvertUtil.covertBeanList(businessDatabusServiceDaoImpl.getBusinessDatabusInfo(BeanConvertUtil.beanCovertMap(businessDatabusDto)), BusinessDatabusDto.class);
+
+        return businessDatabuss;
+    }
+
+
+    @Override
+    public int queryBusinessDatabussCount(@RequestBody BusinessDatabusDto businessDatabusDto) {
+        return businessDatabusServiceDaoImpl.queryBusinessDatabussCount(BeanConvertUtil.beanCovertMap(businessDatabusDto));
+    }
+
+    public IBusinessDatabusServiceDao getBusinessDatabusServiceDaoImpl() {
+        return businessDatabusServiceDaoImpl;
+    }
+
+    public void setBusinessDatabusServiceDaoImpl(IBusinessDatabusServiceDao businessDatabusServiceDaoImpl) {
+        this.businessDatabusServiceDaoImpl = businessDatabusServiceDaoImpl;
+    }
+}

+ 27 - 0
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java

@@ -0,0 +1,27 @@
+package com.java110.job.smo.impl;
+
+
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.entity.order.Business;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @ClassName FloorInnerServiceSMOImpl
+ * @Description 定时任务属性内部服务实现类
+ * @Author wuxw
+ * @Date 2019/4/24 9:20
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+@RestController
+public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataBusInnerServiceSMO {
+
+    @Override
+    public boolean exchange(@RequestBody List<Business> businesses) {
+        return false;
+    }
+}

+ 94 - 0
service-order/src/main/java/com/java110/order/listener/TransactionOrderInfoToDataBusListener.java

@@ -0,0 +1,94 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.order.listener;
+
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.IOrderDataFlowContext;
+import com.java110.core.event.app.order.Ordered;
+import com.java110.core.event.center.event.InvokeFinishBusinessSystemEvent;
+import com.java110.core.event.center.listener.DataFlowListener;
+import com.java110.entity.order.Business;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.DomainContant;
+import com.java110.utils.util.StringUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * 用户ID处理 侦听
+ * Created by wuxw on 2018/7/2.
+ */
+
+@Java110Listener(name = "transactionOrderInfoToDataBusListener")
+public class TransactionOrderInfoToDataBusListener implements DataFlowListener<InvokeFinishBusinessSystemEvent>, Ordered {
+
+    //databus 业务类型
+    private static final String DATABUS_KEY = "DATABUS_BUSINESS_TYPE_CD";
+
+    private final static Logger logger = LoggerFactory.getLogger(TransactionOrderInfoToDataBusListener.class);
+
+    @Autowired
+    private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
+
+    @Override
+    public void soService(InvokeFinishBusinessSystemEvent event) {
+        IOrderDataFlowContext dataFlow = event.getDataFlow();
+        if (dataFlow == null || dataFlow.getBusinessList() == null || dataFlow.getBusinessList().size() == 0) {
+            return;
+        }
+
+        String businessTypeCds = MappingCache.getRemark(DomainContant.COMMON_DOMAIN, DATABUS_KEY);
+
+        if (StringUtil.isEmpty(businessTypeCds)) {
+            return;
+        }
+
+        String[] typeCds = businessTypeCds.split("\\|");
+        List<Business> businesses = dataFlow.getBusinessList();
+
+        if (!hasTypeCd(typeCds, businesses)) {
+            return;
+        }
+
+        try {
+            //同步databus
+            dataBusInnerServiceSMOImpl.exchange(businesses);
+        } catch (Exception e) {
+            logger.error("传输databus 失败", e);
+        }
+    }
+
+    private boolean hasTypeCd(String[] typeCds, List<Business> businesses) {
+        for (String typeCd : typeCds) {
+            for (Business business : businesses) {
+                if (typeCd.equals(business.getBusinessTypeCd())) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    @Override
+    public int getOrder() {
+        return 1;
+    }
+}

+ 0 - 52
service-order/src/main/java/com/java110/order/listener/TransactionOrderInfoToKafkaListener.java

@@ -1,52 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.order.listener;
-
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.IOrderDataFlowContext;
-import com.java110.core.event.app.order.Ordered;
-import com.java110.core.event.center.event.InvokeFinishBusinessSystemEvent;
-import com.java110.core.event.center.listener.DataFlowListener;
-import com.java110.utils.constant.ResponseConstant;
-import com.java110.utils.exception.ListenerExecuteException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * 用户ID处理 侦听
- * Created by wuxw on 2018/7/2.
- */
-
-@Java110Listener(name = "transactionOrderInfoToKafkaListener")
-public class TransactionOrderInfoToKafkaListener implements DataFlowListener<InvokeFinishBusinessSystemEvent>, Ordered {
-
-    private final static Logger logger = LoggerFactory.getLogger(TransactionOrderInfoToKafkaListener.class);
-
-    @Override
-    public void soService(InvokeFinishBusinessSystemEvent event) {
-        IOrderDataFlowContext dataFlow = event.getDataFlow();
-        if (dataFlow == null || dataFlow.getBusinessList() == null || dataFlow.getBusinessList().size() == 0) {
-            throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "用户ID处理侦听执行异常,没有可处理的business");
-        }
-
-        //判断是否存在 "serviceCode": "save.user.info", 业务,如果存在则处理
-    }
-
-    @Override
-    public int getOrder() {
-        return 1;
-    }
-}