he2802 преди 1 година
родител
ревизия
0a40390dd5

+ 17 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderHandleController.java

@@ -1,15 +1,20 @@
 package com.zhongzheng.controller.order;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Arrays;
 import java.util.Map;
 
 import cn.hutool.core.lang.Validator;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.zhongzheng.common.core.domain.model.LoginUser;
+import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.web.service.WxTokenService;
 import com.zhongzheng.modules.order.bo.*;
+import com.zhongzheng.modules.order.domain.OrderHandle;
 import com.zhongzheng.modules.order.service.IOrderHandleService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderHandleGoodsVo;
@@ -87,7 +92,18 @@ public class OrderHandleController extends BaseController {
     public AjaxResult<String> add(@RequestBody OrderHandleAddBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setCreateUserId(loginUser.getUser().getUserId());
-        return AjaxResult.success("录单单号",iOrderHandleService.submitOrder(bo));
+        String handleOrderSn = iOrderHandleService.submitOrder(bo);
+        OrderHandle orderHandle = iOrderHandleService.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);
+            iOrderHandleService.update(null, objectLambdaUpdateWrapper);
+        }
+        return AjaxResult.success("录单单号",handleOrderSn);
     }
 
     /**

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderHandleMapper.java

@@ -16,7 +16,7 @@ import java.util.List;
  */
 public interface OrderHandleMapper extends BaseMapper<OrderHandle> {
 
-    List<OrderHandleVo> selectList(OrderHandleQueryBo bo);
+    List<OrderHandleVo> selectOrderList(OrderHandleQueryBo bo);
 
     List<OrderHandleGoodsVo> selectOrderGoodsList(OrderHandleQueryBo bo);
 

+ 4 - 14
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderHandleServiceImpl.java

@@ -116,7 +116,7 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
 
     @Override
     public List<OrderHandleVo> selectList(OrderHandleQueryBo bo) {
-        List<OrderHandleVo> orderHandleVos = baseMapper.selectList(bo);
+        List<OrderHandleVo> orderHandleVos = baseMapper.selectOrderList(bo);
         if (CollectionUtils.isEmpty(orderHandleVos)) {
             return new ArrayList<>();
         }
@@ -257,23 +257,13 @@ 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");
@@ -390,7 +380,7 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
 
     @Override
     public Boolean overTimeCloseOrder() {
-        List<OrderHandle> list = list(new LambdaQueryWrapper<OrderHandle>().eq(OrderHandle::getPayStatus, 0).gt(OrderHandle::getOverTime,DateUtils.getNowTime()));
+        List<OrderHandle> list = this.list(new LambdaQueryWrapper<OrderHandle>().eq(OrderHandle::getPayStatus, 0).lt(OrderHandle::getOverTime,DateUtils.getNowTime()));
         for(OrderHandle orderHandle : list){
             OrderHandleAddBo addBo = new OrderHandleAddBo();
             addBo.setHandleOrderSn(orderHandle.getHandleOrderSn());
@@ -499,7 +489,7 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
 
     @Override
     public OrderHandleStatisticsVo statistics(OrderHandleQueryBo bo) {
-        List<OrderHandleVo> orderHandleVos = baseMapper.selectList(bo);
+        List<OrderHandleVo> orderHandleVos = baseMapper.selectOrderList(bo);
         BigDecimal payPrice = orderHandleVos.stream().filter(x -> ObjectUtils.isNotNull(x.getOrderPrice())).map(OrderHandleVo::getOrderPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal refundPrice = orderHandleVos.stream().filter(x -> ObjectUtils.isNotNull(x.getRefundPrice())).map(OrderHandleVo::getRefundPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal orderPrice = payPrice.subtract(refundPrice);

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderHandleMapper.xml

@@ -35,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="subjectNames" column="subject_names"/>
     </resultMap>
 
-    <select id="selectList" parameterType="com.zhongzheng.modules.order.bo.OrderHandleQueryBo" resultType="com.zhongzheng.modules.order.vo.OrderHandleVo">
+    <select id="selectOrderList" parameterType="com.zhongzheng.modules.order.bo.OrderHandleQueryBo" resultType="com.zhongzheng.modules.order.vo.OrderHandleVo">
         SELECT  u.*,
         (select count( DISTINCT o.user_id ) from `order` o  where  u.handle_order_sn = o.handle_order_sn) user_num,
         (select count( DISTINCT og.goods_id ) from `order` o  LEFT JOIN order_goods og ON o.order_sn = og.order_sn where  u.handle_order_sn = o.handle_order_sn) goods_num,