ソースを参照

线下收款小程序

huangzhiguo 1 年間 前
コミット
c649e85d6b

+ 2 - 1
src/main/java/com/caimei365/order/mapper/ReceiptMapper.java

@@ -261,8 +261,9 @@ public interface ReceiptMapper {
      *
      * @param shopOrderId 子订单Id
      * @param payStatus   付款状态
+     * @param receiptStatus   收款状态:1待收款、2部分收款、3已收款
      */
-    void updateShopOrderPayStatus(Integer shopOrderId, Integer payStatus);
+    void updateShopOrderPayStatus(Integer shopOrderId, Integer payStatus, Integer receiptStatus);
 
     /**
      * 收款项和订单关系

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

@@ -907,7 +907,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         List<Integer> orderStatus;
         boolean receiptFlag = false;
         if (ArrayUtils.contains(receiptStatusArr, "3")) {
-            orderStatus = Arrays.asList(2, 3);
+            orderStatus = Arrays.asList(1, 2, 3);
             receiptFlag = true;
         } else {
             orderStatus = Arrays.asList(1);
@@ -1620,7 +1620,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                 break;
             }
         }
-        receiptMapper.updateShopOrderPayStatus(shopOrderId, 3);
+        receiptMapper.updateShopOrderPayStatus(shopOrderId, 3,3);
         // 订单信息
         OrderVo order = orderCommonMapper.getOrderByShopOrderId(shopOrderId);
         if (flag) {
@@ -1731,10 +1731,10 @@ public class ReceiptServiceImpl implements ReceiptService {
                         orderReceiptStatus = 3;
                         totalAssociateAmount += relationItem.getAssociateAmount();
                     }
-                    statusFlag = statusFlag + shopOrderVo.getStatus().toString().charAt(1);
-                    // 不在赋值订单交易状态
-                    order.setStatus(Integer.parseInt(statusFlag));
+                    // statusFlag = statusFlag + shopOrderVo.getStatus().toString().charAt(1);
+                    // 子订单交易状态
                     shopOrderVo.setReceiptStatus(orderReceiptStatus);
+                    // 订单交易状态
                     order.setReceiptStatus(orderReceiptStatus);
                     //设置订单状态
                     //获取子订单下面的所有的确认收货商品数量

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

@@ -3,7 +3,7 @@
 <mapper namespace="com.caimei365.order.mapper.PayOrderMapper">
     <update id="updateOrderStatus">
         UPDATE cm_order SET
-        status = #{status}
+        updateDate = now()
         <if test="receiptStatus != null">
             ,receiptStatus = #{receiptStatus}
         </if>
@@ -22,7 +22,6 @@
         <if test="paySuccessCounter != null">
             ,paySuccessCounter = #{paySuccessCounter}
         </if>
-        ,updateDate = now()
         WHERE orderID = #{orderId}
     </update>
     <update id="updateShopOrderStatus">

+ 12 - 10
src/main/resources/mapper/ReceiptMapper.xml

@@ -150,7 +150,8 @@
     </update>
     <update id="updateShopOrderPayStatus">
         UPDATE cm_shop_order
-        SET payStatus = #{payStatus}
+        SET payStatus = #{payStatus},
+            receiptStatus = #{receiptStatus}
         WHERE shopOrderID = #{shopOrderId}
     </update>
     <update id="updateShopRebateAmount">
@@ -678,7 +679,7 @@
         LEFT JOIN shop s ON cso.shopID = s.shopID
         LEFT JOIN cm_order_product cop ON cso.shopOrderId = cop.shopOrderId
         <where>
-            cso.orderType != 3 and cso.delFlag = '0' and ( s.AccountOwnership = 0 or s.bankAccount is null)
+            cso.orderType != 2 and cso.delFlag = '0' and ( s.AccountOwnership = 0 or s.bankAccount is null)
             <if test="organizeId == 0">
                 AND cso.organizeID = 0
             </if>
@@ -688,14 +689,15 @@
             <if test="shopOrderId != null">
                 AND cso.shopOrderId = #{shopOrderId}
             </if>
-            AND cso.receiptStatus IN
-            <foreach collection="receiptStatusArr" open="(" close=")" item="receiptStatus" separator=",">
-                #{receiptStatus}
-            </foreach>
-            AND cso.shopStatus IN
-            <foreach collection="orderStatusList" open="(" close=")" item="status" separator=",">
-                #{status}
-            </foreach>
+            AND (cso.receiptStatus IN
+                <foreach collection="receiptStatusArr" open="(" close=")" item="receiptStatus" separator=",">
+                    #{receiptStatus}
+                </foreach>
+                AND cso.shopStatus IN
+                <foreach collection="orderStatusList" open="(" close=")" item="status" separator=",">
+                    #{status}
+                </foreach>
+            )
             <if test="userIds != null and userIds.size() > 0">
                 AND cso.userID IN
                 <foreach collection="userIds" open="(" close=")" separator="," item="val">