From f727a93931f801bbcd3b5eb0275169cf55a87d5e Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期日, 22 九月 2024 22:40:56 +0800 Subject: [PATCH] 1.优惠券-使用条件-根据满减还是无门槛控制 2.商品限购-根据payment_time来控制 --- src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java index f7466d1..cebb508 100644 --- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java @@ -573,7 +573,7 @@ orderItemSettlementService.saveItemSettlementInfo(oi, SecurityUtils.getUserId(), Constants.S_TYPE.CHECK); } - private BigDecimal calculateOrderItemDeduct(String id){ + public BigDecimal calculateOrderItemDeduct(String id){ List<OrderItemCheck> cLs = orderItemCheckMapper.selectList(new QueryWrapper<OrderItemCheck>() .eq("order_item_id", id) .eq("audit_status", Constants.CHECK_AUDIT_STATUS.AGREED.name()) @@ -650,6 +650,16 @@ throw new ValidationException("处理数量不能大于商品数量"); } + Order o = orderMapper.selectById(oi.getOrderId()); + if(StringUtils.isNotEmpty(o.getTransferId())){ + throw new ValidationException("已质检退款,不可提交质检记录"); + } + + if(!Constants.ORDER_STATUS_BACKEND.COLLECTION.name().equals(o.getStatusBackend()) + && !Constants.ORDER_STATUS_BACKEND.SEND.name().equals(o.getStatusBackend())){ + throw new ValidationException("订单状态异常,不可提交质检记录"); + } + List<OrderItemCheck> cLs = orderItemCheckMapper.selectList(new QueryWrapper<OrderItemCheck>() .ne("type", dto.getType()) .eq("order_item_id", dto.getOrderItemId()) @@ -686,7 +696,11 @@ BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum())); if(deduct.doubleValue() > dt.doubleValue() || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){ - throw new ValidationException("降级金额不能大于商品处理数量金额"); + throw new ValidationException("降级金额不能大于商品处理数量的支付的金额"); + } + BigDecimal st = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); + if(deduct.doubleValue() > st.doubleValue()){ + throw new ValidationException("降级金额不能大于商品处理数量的供应商的金额"); } } -- Gitblit v1.9.3