陶杰
2024-09-23 9a89c8f986439cf81ee888cde8c513776497e356
1.商品限购-待付款-再次发起付款-商品限购数量控制
已修改1个文件
20 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/payment/UserPaymentV3Service.java
@@ -9,6 +9,7 @@
import com.mzl.flower.dto.request.payment.TransferDetailReqDTO;
import com.mzl.flower.dto.request.payment.TransferReqDTO;
import com.mzl.flower.dto.request.payment.UserPaymentDTO;
import com.mzl.flower.entity.flower.Flower;
import com.mzl.flower.entity.payment.*;
import com.mzl.flower.entity.system.UserWechat;
import com.mzl.flower.mapper.flower.FlowerMapper;
@@ -114,6 +115,9 @@
    @Autowired
    private CouponRecordService couponRecordService;
    @Autowired
    private OrderService orderService;
    /**
     * 微信预支付
@@ -474,6 +478,22 @@
    }
    public Map payAgain(String orderId){
        // 获取订单里面的商品是否有限购的,如果有则判断是否已经超过限购数量
        List<OrderItem> orderItemList = orderItemMapper.selectList(new QueryWrapper<OrderItem>()
                .eq("order_id", orderId));
        orderItemList.forEach(orderItem -> {
            // 限购数量 鲜花数量校验
            Integer completeNumToday=orderService.getFlowerCompleteNumToday(orderItem.getCreateBy(),orderItem.getFlowerId());
            Integer tmp=completeNumToday+orderItem.getNum();
            Flower flower=flowerMapper.selectById(orderItem.getFlowerId());
            if(null!=flower.getLimited() && tmp.compareTo(flower.getLimited())>0){
                throw new ValidationException("商品:'"+flower.getName()+"' 昨天17:00到今天17:00 超过限售数量:"+flower.getLimited()+"!");
            }
        });
        UserPayment up = userPaymentMapper.selectOne(
                new QueryWrapper<UserPayment>().eq("order_id", orderId));
        if(StringUtils.isNotEmpty(up.getStatus())){