Browse Source

Merge remote-tracking branch 'origin/developerC' into developerC

zhijiezhao 3 years ago
parent
commit
2c24227c93

+ 3 - 3
src/main/java/com/caimei365/order/controller/ReceiptApi.java

@@ -341,7 +341,7 @@ public class ReceiptApi {
      *
      * @param receiptOperateDto {
      *                            id:           收款Id
-     *                            shopOrderIds: 关联返佣子订单IDs
+     *                            shopOrderId: 关联返佣子订单ID
      *                            rebateRemarks:关联返佣备注
      *                            }
      */
@@ -351,8 +351,8 @@ public class ReceiptApi {
         if (null == receiptOperateDto.getId() || receiptOperateDto.getId() <= 0) {
             return ResponseJson.error("收款Id不能为空", null);
         }
-        if (!StringUtils.hasLength(receiptOperateDto.getShopOrderIds())) {
-            return ResponseJson.error("关联返佣子订单IDs不能为空", null);
+        if (null == receiptOperateDto.getShopOrderId()) {
+            return ResponseJson.error("关联返佣子订单ID不能为空", null);
         }
         return receiptService.receiptAssociateRebate(receiptOperateDto, headers);
     }

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

@@ -175,13 +175,13 @@ public interface ReceiptMapper {
      */
     void insertRefundShopRecord(RefundShopRecordPo refundShopRecord);
     /**
-     * 供应商Id列表
+     * 供应商Id
      */
-    List<Integer> getShopIdList(@Param("shopOrderIdArr") String[] shopOrderIdArr);
+    Integer getShopIdByShopOrderId(Integer shopOrderId);
     /**
      * 查询这个子订单的主订单下面的所有子订单ID
      */
-    List<Integer> getSubShopOrderList(String shopOrderId);
+    List<Integer> getSubShopOrderList(Integer shopOrderId);
     /**
      * 查询当前子订单列表中已经返佣了的子订单
      */
@@ -191,7 +191,7 @@ public interface ReceiptMapper {
      * @param shopOrderId 子订单Id
      * @param payStatus 付款状态
      */
-    void updateShopOrderPayStatus(String shopOrderId, Integer payStatus);
+    void updateShopOrderPayStatus(Integer shopOrderId, Integer payStatus);
     /**
      * 收款项和订单关系
      */

+ 1 - 1
src/main/java/com/caimei365/order/service/ReceiptService.java

@@ -176,7 +176,7 @@ public interface ReceiptService {
      *
      * @param receiptOperateDto {
      *                          id:           收款Id
-     *                          shopOrderIds: 关联返佣子订单IDs
+     *                          shopOrderId: 关联返佣子订单ID
      *                          rebateRemarks:关联返佣备注
      *                          }
      */

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

@@ -694,6 +694,9 @@ public class ReceiptServiceImpl implements ReceiptService {
         } else {
             userName = keyword;
         }
+        if (null != excludeOrderId) {
+            orderId = null;
+        }
         ReceiptParamsBo params = new ReceiptParamsBo();
         params.setUserIds(userIds);
         params.setOrderId(orderId);
@@ -1233,7 +1236,7 @@ public class ReceiptServiceImpl implements ReceiptService {
      *
      * @param receiptOperateDto {
      *                            id:           收款Id
-     *                            shopOrderIds: 关联返佣子订单IDs
+     *                            shopOrderId: 关联返佣子订单ID
      *                            rebateRemarks:关联返佣备注
      *                            }
      */
@@ -1245,11 +1248,6 @@ public class ReceiptServiceImpl implements ReceiptService {
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
-        String[] shopOrderIdArr = receiptOperateDto.getShopOrderIds().split(",");
-        List<Integer> shopIdList = receiptMapper.getShopIdList(shopOrderIdArr);
-        if (shopIdList.size() > 1) {
-            return ResponseJson.error("子订单不属于相同的供应商!", null);
-        }
         ReceiptVo receipt = receiptMapper.getReceiptDetail(receiptOperateDto.getId());
         if (null == receipt) {
             return ResponseJson.error("收款数据异常!", null);
@@ -1274,7 +1272,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         }
         receiptMapper.updateReceipt(receiptPo);
         // 保存返佣收款关系和修改订单状态
-        saveRelationAndUpdateOrderStatus(shopOrderIdArr, receipt.getId());
+        saveRelationAndUpdateOrderStatus(receiptOperateDto.getShopOrderId(), receipt.getId());
         return ResponseJson.success("关联返佣款成功!", null);
     }
 
@@ -1296,8 +1294,6 @@ public class ReceiptServiceImpl implements ReceiptService {
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
-        String[] shopOrderIdArr = receiptOperateDto.getShopOrderId().toString().split(",");
-        List<Integer> shopIdList = receiptMapper.getShopIdList(shopOrderIdArr);
         String date = DateUtils.getDate("yyyy-MM-dd HH:mm:ss");
         ReceiptPo receiptPo = new ReceiptPo();
         receiptPo.setPayWay(2);
@@ -1313,18 +1309,19 @@ public class ReceiptServiceImpl implements ReceiptService {
         // 保存收款记录
         receiptMapper.insertReceipt(receiptPo);
         // 保存返佣收款关系和修改订单状态
-        saveRelationAndUpdateOrderStatus(shopOrderIdArr, receiptPo.getId());
+        saveRelationAndUpdateOrderStatus(receiptOperateDto.getShopOrderId(), receiptPo.getId());
+        Integer shopId = receiptMapper.getShopIdByShopOrderId(receiptOperateDto.getShopOrderId());
         // 添加 返佣欠款记录
         RebateRecordPo crr = new RebateRecordPo();
         crr.setType(1);
-        crr.setShopId(shopIdList.get(0));
+        crr.setShopId(shopId);
         crr.setReceiptId(receiptPo.getId());
         crr.setRebateAmount(receiptOperateDto.getVerbalAmount());
         crr.setShopOrderId(receiptOperateDto.getShopOrderIds());
         crr.setOperateTime(date);
         receiptMapper.insertRebateRecord(crr);
         // 更新供应商欠款金额
-        receiptMapper.updateShopRebateAmount(shopIdList.get(0),receiptOperateDto.getVerbalAmount());
+        receiptMapper.updateShopRebateAmount(shopId, receiptOperateDto.getVerbalAmount());
         //返回 款项Id
         return ResponseJson.success("关联口头返佣款成功!", receiptPo.getId());
     }
@@ -1332,56 +1329,54 @@ public class ReceiptServiceImpl implements ReceiptService {
 
     /**
      * 保存返佣收款关系和修改订单状态
-     * @param shopOrderIdArr 子订单Ids
+     * @param shopOrderId 子订单Id
      * @param receiptId 款项Id
      */
-    private void saveRelationAndUpdateOrderStatus(String[] shopOrderIdArr, Integer receiptId) {
-        for (String shopOrderId : shopOrderIdArr) {
-            // 保存 收款项和订单关系
-            OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
-            relation.setDelFlag(0);
-            relation.setOrderId(Integer.valueOf(shopOrderId));
-            relation.setReceiptId(receiptId);
-            relation.setRelationType(1);
-            relation.setAssociateAmount(0d);
-            baseMapper.insertOrderReceiptRelation(relation);
-            //查询这个子订单的主订单下面的所有子订单ID 结果里面包含了 shopOrderId自己的   也就是这个这订单的兄弟子订单
-            List<Integer> shopOrderIdList = receiptMapper.getSubShopOrderList(shopOrderId);
-            //因为最起码已经有一个子订单进行了返佣操作  所以主订单最起码是部分收款付款
-            //如果子订单全部进行了 返佣操作 那么就是全部收付款了
-            boolean flag = true;
-            // 查询已经返佣了的子订单
-            List<Integer> shopOrderIdRebate = receiptMapper.getSubShopOrderRebate(shopOrderIdList);
-            for (Integer soId : shopOrderIdList) {
-                if (!shopOrderIdRebate.contains(soId)) {
-                    //只要有一个子订单没有进行过返佣
-                    //那么这个主订单就是部分的收付款
-                    flag = false;
-                    break;
-                }
+    private void saveRelationAndUpdateOrderStatus(Integer shopOrderId, Integer receiptId) {
+        // 保存 收款项和订单关系
+        OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
+        relation.setDelFlag(0);
+        relation.setOrderId(shopOrderId);
+        relation.setReceiptId(receiptId);
+        relation.setRelationType(1);
+        relation.setAssociateAmount(0d);
+        baseMapper.insertOrderReceiptRelation(relation);
+        //查询这个子订单的主订单下面的所有子订单ID 结果里面包含了 shopOrderId自己的   也就是这个这订单的兄弟子订单
+        List<Integer> shopOrderIdList = receiptMapper.getSubShopOrderList(shopOrderId);
+        //因为最起码已经有一个子订单进行了返佣操作  所以主订单最起码是部分收款付款
+        //如果子订单全部进行了 返佣操作 那么就是全部收付款了
+        boolean flag = true;
+        // 查询已经返佣了的子订单
+        List<Integer> shopOrderIdRebate = receiptMapper.getSubShopOrderRebate(shopOrderIdList);
+        for (Integer soId : shopOrderIdList) {
+            if (!shopOrderIdRebate.contains(soId)) {
+                //只要有一个子订单没有进行过返佣
+                //那么这个主订单就是部分的收付款
+                flag = false;
+                break;
             }
-            receiptMapper.updateShopOrderPayStatus(shopOrderId, 3);
-            // 订单信息
-            OrderVo order = orderCommonMapper.getOrderByShopOrderId(Integer.parseInt(shopOrderId));
-            if (flag) {
-                //子订单全部收到款了
-                order.setReceiptStatus(3);
-                order.setPayStatus(3);
-                if (order.getStatus().toString().length() == 2) {
-                    order.setStatus(Integer.valueOf("3" + order.getStatus().toString().charAt(1)));
-                }
-            } else {
-                //子订单的款还没有收全
-                order.setReceiptStatus(2);
-                order.setPayStatus(2);
-                if (order.getStatus().toString().length() == 2) {
-                    order.setStatus(Integer.valueOf("2" + order.getStatus().toString().charAt(1)));
-                }
+        }
+        receiptMapper.updateShopOrderPayStatus(shopOrderId, 3);
+        // 订单信息
+        OrderVo order = orderCommonMapper.getOrderByShopOrderId(shopOrderId);
+        if (flag) {
+            //子订单全部收到款了
+            order.setReceiptStatus(3);
+            order.setPayStatus(3);
+            if (order.getStatus().toString().length() == 2) {
+                order.setStatus(Integer.valueOf("3" + order.getStatus().toString().charAt(1)));
+            }
+        } else {
+            //子订单的款还没有收全
+            order.setReceiptStatus(2);
+            order.setPayStatus(2);
+            if (order.getStatus().toString().length() == 2) {
+                order.setStatus(Integer.valueOf("2" + order.getStatus().toString().charAt(1)));
             }
-            order.setUpdateDate(DateUtils.getDateTime());
-            // 更新订单收款状态
-            payOrderMapper.updateOrderStatus(order);
         }
+        order.setUpdateDate(DateUtils.getDateTime());
+        // 更新订单收款状态
+        payOrderMapper.updateOrderStatus(order);
     }
 
 

+ 5 - 8
src/main/resources/mapper/ReceiptMapper.xml

@@ -475,10 +475,10 @@
         LEFT JOIN user u ON o.userID = u.userID
         LEFT JOIN cm_order_product cop ON o.orderID = cop.orderID
         <where>
-            <if test="excludeOrderId != null and excludeOrderId != ''">
+            <if test="excludeOrderId != null">
                 AND o.orderID != #{excludeOrderId}
             </if>
-            <if test="orderId != null and orderId != ''">
+            <if test="orderId != null">
                 AND o.orderID = #{orderId}
             </if>
             AND o.delFlag = '0'
@@ -676,7 +676,7 @@
         LEFT JOIN user u ON u.userID = cso.userID
         WHERE cso.delFlag = 0
         AND (cror.delFlag = 0 OR cror.id IS NULL)
-        <if test="shopName != null">
+        <if test="orderId != null">
             AND cso.orderID = #{orderId}
         </if>
         <if test="shopName != null and shopName != ''">
@@ -821,11 +821,8 @@
     <select id="getRefundShopAmount" resultType="java.lang.Double">
         SELECT IFNULL(SUM(refundAmount), 0) FROM  cm_refund_shop_record WHERE shopOrderID = #{shopOrderId} AND delFlag = 0
     </select>
-    <select id="getShopIdList" resultType="java.lang.Integer">
-        SELECT DISTINCT shopID FROM cm_shop_order WHERE shopOrderID IN
-        <foreach collection="shopOrderIdArr" open="(" close=")" item="shopOrderId" separator=",">
-            #{shopOrderId}
-        </foreach>
+    <select id="getShopIdByShopOrderId" resultType="java.lang.Integer">
+        SELECT DISTINCT shopID FROM cm_shop_order WHERE shopOrderID = #{shopOrderId}
     </select>
     <select id="getSubShopOrderList" resultType="java.lang.Integer">
         SELECT cso2.shopOrderID FROM cm_shop_order cso1