浏览代码

提交推送数据逻辑

hxl13994548489 1 年之前
父节点
当前提交
ff9c2d2a25

+ 19 - 0
src/main/java/com/ydtech/constants/RabbitMqEnum.java

@@ -0,0 +1,19 @@
+package com.ydtech.constants;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum RabbitMqEnum {
+
+
+    ORDER_QUEUE("order_push_queue", "队列"),
+    ORDER_EXCHANGE("order_push_exchange", "交换机"),
+
+    ORDER_ROUTINGKEY("order_push_routingKey", "关键字");
+
+    private final String code;
+    private final String desc;
+
+}

+ 48 - 0
src/main/java/com/ydtech/modules/admin/controller/PushOrder.java

@@ -0,0 +1,48 @@
+package com.ydtech.modules.admin.controller;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.order.service.InsOrderPushMsgService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/11/4 18:26
+ *  @Description: 测试消息
+ */
+@Api(tags = "测试消息推送")
+@RequestMapping("/push")
+@RestController
+public class PushOrder {
+
+
+    @Autowired
+    private InsOrderPushMsgService insOrderPushMsgService;
+
+
+    @GetMapping("pushHistoryOrders")
+    @ApiOperation(value = "测试推送历史订单数据消息")
+    public HttpResult pushHistoryOrders() {
+        insOrderPushMsgService.getPushInsAreaCompanyList();
+        return HttpResult.ok();
+    }
+
+    @GetMapping("pushCompensateOrders")
+    @ApiOperation(value = "测试补偿订单数据消息")
+    public HttpResult pushCompensateOrders() {
+        insOrderPushMsgService.getPushCompensateInsAreaCompanyList();
+        return HttpResult.ok();
+    }
+
+    @GetMapping("pushSignOrder")
+    @ApiOperation(value = "测试承保订单数据消息")
+    public HttpResult pushSignOrder(String subOrderId) {
+        insOrderPushMsgService.testSignData(subOrderId);
+        return HttpResult.ok();
+    }
+}

+ 49 - 0
src/main/java/com/ydtech/modules/order/dao/InsOrderPushMsgMapper.java

@@ -0,0 +1,49 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.po.InsOrderPushMsg;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【ins_order_push_msg(子订单推送数据表)】的数据库操作Mapper
+* @createDate 2024-11-05 11:45:52
+* @Entity com.ydtech.modules.order.entity.po.InsOrderPushMsg
+*/
+public interface InsOrderPushMsgMapper extends BaseMapper<InsOrderPushMsg> {
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/11/5 14:51
+     *  @Description: 获取补偿的时间段内的订单
+     */
+    List<String> getPushInsAreaCompanyList(@Param("benginTime") String benginTime,@Param("endTime") String endTime);
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/11/5 14:51
+     *  @Description: 获取订单的所有时间段
+     */
+    List<String> getPushInsAreaCompanyDateList();
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/11/8 11:02
+     *  @Description: 更新状态字段
+     */
+    void updateBySubOrderNo(@Param("subOrderNo") String subOrderNo, @Param("status") int status);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/11/11 8:52
+     *  @Description: 查询补偿推送的数据
+     */
+    List<String> getPushCompensateInsAreaCompanyList();
+}
+
+
+
+

+ 105 - 0
src/main/java/com/ydtech/modules/order/entity/po/InsOrderPushMsg.java

@@ -0,0 +1,105 @@
+package com.ydtech.modules.order.entity.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 子订单推送数据表
+ * @TableName ins_order_push_msg
+ */
+@TableName(value ="ins_order_push_msg")
+@Data
+public class InsOrderPushMsg implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 子订单id
+     */
+    private String subOrderNo;
+
+    /**
+     * 状态 0. 发送中 1成功  2.失败
+     */
+    private String status;
+
+    /**
+     * 发送时间
+     */
+    private Date createTime;
+
+    /**
+     * 发送内容
+     */
+    private String msgContent;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        InsOrderPushMsg other = (InsOrderPushMsg) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+                && (this.getSubOrderNo() == null ? other.getSubOrderNo() == null : this.getSubOrderNo().equals(other.getSubOrderNo()))
+                && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
+                && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+                && (this.getMsgContent() == null ? other.getMsgContent() == null : this.getMsgContent().equals(other.getMsgContent()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getSubOrderNo() == null) ? 0 : getSubOrderNo().hashCode());
+        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getMsgContent() == null) ? 0 : getMsgContent().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", subOrderNo=").append(subOrderNo);
+        sb.append(", status=").append(status);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", msgContent=").append(msgContent);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+
+    public InsOrderPushMsg() {
+    }
+
+    public InsOrderPushMsg(Long id, String subOrderNo, String status, Date createTime, String msgContent) {
+        this.id = id;
+        this.subOrderNo = subOrderNo;
+        this.status = status;
+        this.createTime = createTime;
+        this.msgContent = msgContent;
+    }
+}

+ 37 - 0
src/main/java/com/ydtech/modules/order/entity/vo/PushDataVo.java

@@ -0,0 +1,37 @@
+package com.ydtech.modules.order.entity.vo;
+
+import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.dto.InsTaskImagesDto;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/11/5 16:31
+ *  @Description:  推送数据
+ */
+@Data
+public class PushDataVo  implements Serializable {
+
+
+    private InsAreaCompany insAreaCompany;
+
+    private InsOrders orders;
+
+    private List<InsTaskImagesDto> taskImagesList =new ArrayList<InsTaskImagesDto>();
+
+
+    public PushDataVo() {
+    }
+
+    public PushDataVo(InsAreaCompany insAreaCompany, InsOrders orders, List<InsTaskImagesDto> taskImagesList) {
+        this.insAreaCompany = insAreaCompany;
+        this.orders = orders;
+        this.taskImagesList = taskImagesList;
+    }
+}

+ 44 - 0
src/main/java/com/ydtech/modules/order/service/InsOrderPushMsgService.java

@@ -0,0 +1,44 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.po.InsOrderPushMsg;
+
+/**
+* @author Administrator
+* @description 针对表【ins_order_push_msg(子订单推送数据表)】的数据库操作Service
+* @createDate 2024-11-05 11:45:52
+*/
+public interface InsOrderPushMsgService extends IService<InsOrderPushMsg> {
+   /**
+    *  @version
+    *  @author: hxl
+    *  @Date: 2024/11/11 8:38
+    *  @Description: 查询历史订单
+    */
+   void getPushInsAreaCompanyList();
+
+
+   /**
+    *  @version
+    *  @author: hxl
+    *  @Date: 2024/11/11 8:41
+    *  @Description: 推送补偿的订单数据
+    */
+   void getPushCompensateInsAreaCompanyList();
+
+   /**
+    *  @version
+    *  @author: hxl
+    *  @Date: 2024/11/11 8:41
+    *  @Description: 推送承保的订单数据
+    */
+   void getPushSignInsAreaCompanyList(String subOrderNo);
+
+   /**
+    *  @version
+    *  @author: hxl
+    *  @Date: 2024/11/11 9:14
+    *  @Description: 测试承保数据推送
+    */
+   void testSignData(String orderId);
+}

+ 57 - 0
src/main/resources/mapper/modules/order/InsOrderPushMsgMapper.xml

@@ -0,0 +1,57 @@
+<?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="com.ydtech.modules.order.dao.InsOrderPushMsgMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.order.entity.po.InsOrderPushMsg">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="subOrderNo" column="sub_order_no" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="msgContent" column="msg_content" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,sub_order_no,status,
+        create_time,msg_content
+    </sql>
+    <update id="updateBySubOrderNo">
+        update    ins_order_push_msg   set  status = #{status}
+        where sub_order_no =#{subOrderNo}
+    </update>
+    <select id="getPushInsAreaCompanyList" resultType="String">
+        SELECT
+        id
+        FROM
+        ins_area_company iac
+        WHERE
+        iac.orderstatus = 3
+        AND iac.createtime  <![CDATA[ >= ]]>  #{benginTime}
+        AND iac.createtime  <![CDATA[ <= ]]>  #{endTime}
+        AND iac.id NOT IN (
+        SELECT
+        sub_order_no
+        FROM
+        ins_order_push_msg)
+    </select>
+
+    <select id="getPushInsAreaCompanyDateList" resultType="String">
+        SELECT
+            DATE_FORMAT( createtime, '%Y-%m' )
+        FROM
+            ins_area_company iac
+        WHERE
+            iac.orderstatus = 3
+          AND iac.id NOT IN ( SELECT sub_order_no FROM ins_order_push_msg )
+        GROUP BY
+            DATE_FORMAT( createtime, '%Y-%m' )
+        ORDER BY
+            DATE_FORMAT(
+                    createtime,
+                    '%Y-%m')
+    </select>
+    <select id="getPushCompensateInsAreaCompanyList" resultType="java.lang.String">
+        SELECT sub_order_no FROM ins_order_push_msg  where status=2
+    </select>
+</mapper>