浏览代码

fix 新增计费单

he2802 3 年之前
父节点
当前提交
c2dc7ad9b1

+ 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);