From fcf92d335a32ec572337247431b4bd17752cb64d Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 23 九月 2024 14:34:13 +0800
Subject: [PATCH] add:订单详情页面增加优惠券类型、使用条件
---
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