Kaynağa Gözat

fix 待支付商品

he2802 3 yıl önce
ebeveyn
işleme
15965258da

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

@@ -25,6 +25,7 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
 
     List<OrderGoodsVo> selectOrderTwoGoods(OrderGoodsQueryBo orderGoodsQueryBo);
     Long getBuyGoodsHistory(OrderGoodsQueryBo bo);
+    Long getBuyGoodsReadyPay(OrderGoodsQueryBo bo);
 
     List<OrderGoodsVo> sendGoods();
 }

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

@@ -42,6 +42,8 @@ public interface IOrderGoodsService extends IService<OrderGoods> {
 
 	Long getBuyGoodsHistory(OrderGoodsQueryBo bo);
 
+	Long getBuyGoodsReadyPay(OrderGoodsQueryBo bo);
+
 	/**
 	 * 根据编辑业务对象修改订单商品
 	 * @param bo 订单商品编辑业务对象

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -130,6 +130,11 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         return this.baseMapper.getBuyGoodsHistory(bo);
     }
 
+    @Override
+    public Long getBuyGoodsReadyPay(OrderGoodsQueryBo bo) {
+        return this.baseMapper.getBuyGoodsReadyPay(bo);
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateByEditBo(OrderGoodsEditBo bo) {

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -493,6 +493,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         if(num.longValue()>0){
             throw new CustomException("无法重复购买商品");
         }
+        Long num1 = iOrderGoodsService.getBuyGoodsReadyPay(bo);
+        if(num1.longValue()>0){
+            throw new CustomException("购买商品尚有订单未支付");
+        }
         return false;
     }
 

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

@@ -163,7 +163,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE
             o.user_id = #{userId}
           AND og.goods_id = #{goodsId}
-          AND o.order_status >= 0
+          AND o.order_status > 0
+
+    </select>
+    <select id="getBuyGoodsReadyPay" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsQueryBo" resultType="Long">
+        SELECT
+            ifnull(count(*),0) num
+        FROM
+            `order` o
+                LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+        WHERE
+            o.user_id = #{userId}
+          AND og.goods_id = #{goodsId}
+          AND o.order_status = 0
 
     </select>
 </mapper>