he2802 1 年之前
父节点
当前提交
1bf7dc155f

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderHandleService.java

@@ -45,6 +45,8 @@ public interface IOrderHandleService extends IService<OrderHandle> {
 
 	String submitOrder(OrderHandleAddBo bo);
 
+	String createOrder(OrderHandleAddBo bo);
+
 	Map<String, String> resumePayOrder(OrderHandleAddBo bo);
 
 	Boolean closeOrder(OrderHandleAddBo bo);

+ 18 - 12
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderHandleServiceImpl.java

@@ -160,8 +160,24 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
     public String submitOrder(OrderHandleAddBo bo) {
+        String handleOrderSn = createOrder(bo);
+        OrderHandle orderHandle = queryBySn(handleOrderSn);
+        if(orderHandle.getPayPrice().compareTo(BigDecimal.ZERO) == 0) {
+            LambdaUpdateWrapper<OrderHandle> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper.eq(OrderHandle::getId, orderHandle.getId());
+            objectLambdaUpdateWrapper.set(OrderHandle::getUpdateTime,DateUtils.getNowTime());
+            objectLambdaUpdateWrapper.set(OrderHandle::getPayTime,DateUtils.getNowTime());
+            objectLambdaUpdateWrapper.set(OrderHandle::getPayStatus,1);
+            objectLambdaUpdateWrapper.set(OrderHandle::getPayType,1);
+            this.update(null, objectLambdaUpdateWrapper);
+        }
+        return handleOrderSn;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String createOrder(OrderHandleAddBo bo) {
         String handleOrderSn = insertByAddBo(bo);
         String importNo = ServletUtils.getEncoded("IMPORT");
         for(OrderHandleItemAddBo itemAddBo : bo.getUserGoodsList()){
@@ -180,20 +196,10 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
             addBo.setHandleOrderSn(handleOrderSn);
             iOrderService.placePlatHandleOrder(addBo);
         }
-        OrderHandle orderHandle = queryBySn(bo.getHandleOrderSn());
-        if(orderHandle.getPayPrice().compareTo(BigDecimal.ZERO) == 0) {
-            LambdaUpdateWrapper<OrderHandle> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
-            objectLambdaUpdateWrapper.eq(OrderHandle::getId, orderHandle.getId());
-            objectLambdaUpdateWrapper.set(OrderHandle::getUpdateTime,DateUtils.getNowTime());
-            objectLambdaUpdateWrapper.set(OrderHandle::getPayTime,DateUtils.getNowTime());
-            objectLambdaUpdateWrapper.set(OrderHandle::getPayStatus,1);
-            objectLambdaUpdateWrapper.set(OrderHandle::getPayType,1);
-            this.update(null, objectLambdaUpdateWrapper);
-        }
-
         return handleOrderSn;
     }
 
+
     @Override
     public Map<String, String> resumePayOrder(OrderHandleAddBo bo) {
         if (Validator.isEmpty(bo.getHandleOrderSn())) {