浏览代码

线下收款小程序

huangzhiguo 1 年之前
父节点
当前提交
ba816ef2ad

+ 7 - 0
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -39,6 +39,13 @@ public interface PayOrderMapper {
      * @return
      */
     int getShopRefundCount(Integer shopOrderId);
+
+    /**
+     * 主订单下子订单收款状态
+     * @param orderId
+     * @return
+     */
+    List<Integer> getReceiptStatus(Integer orderId);
     /**
      * 更新订单状态
      * @param order 主订单

+ 12 - 2
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -1734,8 +1734,6 @@ public class ReceiptServiceImpl implements ReceiptService {
                     // statusFlag = statusFlag + shopOrderVo.getStatus().toString().charAt(1);
                     // 子订单交易状态
                     shopOrderVo.setReceiptStatus(orderReceiptStatus);
-                    // 订单交易状态
-                    order.setReceiptStatus(orderReceiptStatus);
                     //设置订单状态
                     //获取子订单下面的所有的确认收货商品数量
                     Integer receiptNum = receiptMapper.getReceiptNumByOrderId(shopOrderVo.getShopOrderId());
@@ -1767,6 +1765,18 @@ public class ReceiptServiceImpl implements ReceiptService {
                     // 更新订单收款状态
                     order.setOnlinePayFlag(1);
                     payOrderMapper.updateShopOrderStatus(shopOrderVo);
+                    // 获取订单下子订单收款状态
+                    List<Integer> orderReceipt = payOrderMapper.getReceiptStatus(shopOrderVo.getOrderId());
+                    Integer sta = 1;
+                    if (orderReceipt.stream().allMatch(r -> r==3)) {
+                        sta = 3;
+                    } else if (orderReceipt.stream().allMatch(r -> r==1)) {
+                        sta = 1;
+                    } else {
+                        sta = 2;
+                    }
+                    // 订单交易状态
+                    order.setReceiptStatus(sta);
                     // 修改订单状态
                     order.setOrderId(shopOrderVo.getOrderId());
                     payOrderMapper.updateOrderStatus(order);

+ 4 - 0
src/main/resources/mapper/PayOrderMapper.xml

@@ -1,6 +1,10 @@
 <?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.caimei365.order.mapper.PayOrderMapper">
+
+    <select id="getReceiptStatus" resultType="java.lang.Integer">
+        select receiptStatus from cm_shop_order where orderId = #{orderId}
+    </select>
     <update id="updateOrderStatus">
         UPDATE cm_order SET
         updateDate = now()

+ 2 - 1
src/main/resources/mapper/ReceiptMapper.xml

@@ -211,7 +211,7 @@
             <if test="shopOrderId != null">
                 AND cror.shopOrderId = #{shopOrderId} AND cror.relationType = 2
             </if>
-            AND cdr.receiptStatus = 3
+            AND cdr.receiptStatus in(2,3)
             AND cdr.payWay != '3'
             AND cdr.delFlag = '0'
             AND cror.delFlag = '0'
@@ -222,6 +222,7 @@
         FROM cm_receipt_order_relation cror
         LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
         <where>
+            cdr.receiptDate > '2023-06-29' AND cror.shopOrderId IS NULL
             <if test="orderId != null">
                 AND cror.orderId = #{orderId} AND cror.relationType = 2
             </if>