소스 검색

fix 新增计费单

he2802 3 년 전
부모
커밋
c2dc7ad9b1
1개의 변경된 파일12개의 추가작업 그리고 4개의 파일을 삭제
  1. 12 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderBillSheetServiceImpl.java

+ 12 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderBillSheetServiceImpl.java

@@ -197,6 +197,8 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
             if(goods==null){
                 throw new CustomException("订单商品错误");
             }
+            //获取老的支付状态
+            Integer oldPayStatus = goods.getPayStatus();
             Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, g.getOrderSn()));
             if(order==null){
                 throw new CustomException("订单错误");
@@ -216,15 +218,21 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
                 goods.setPayStatus(OrderGoods.PAY_PART);
                 order.setOrderStatus(Order.PAY_PART);  //订单支付状态改为部分支付
             }
-            //设置商品服务期
-            goods = iWxPayService.setServiceTime(goods);
+            //待支付转支付状态,防止多次支付多次修改
+            if(oldPayStatus==1){
+                //设置商品服务期
+                goods = iWxPayService.setServiceTime(goods);
+            }
             order.setStatus(1);//订单生效
             order.setUpdateTime(DateUtils.getNowTime());
             iOrderService.updateById(order);
             goods.setUpdateTime(DateUtils.getNowTime());
             iOrderGoodsService.updateById(goods);
-            iWxPayService.joinLockGrade(order.getOrderSn(),goods.getGoodsId(),goods.getOrderGoodsId());
-            iWxPayService.updateUserExamGoods(goods,order);
+            //待支付转支付状态,防止多次支付多次修改
+            if(oldPayStatus==1){
+                iWxPayService.joinLockGrade(order.getOrderSn(),goods.getGoodsId(),goods.getOrderGoodsId());
+                iWxPayService.updateUserExamGoods(goods,order);
+            }
         }
         iOrderBillGoodsService.saveBatch(coll);
         this.save(add);