From 35309b932b738d5a8537e53207d28004a8da0f89 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期五, 20 九月 2024 17:17:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2'
---
src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 20 ++++++++++++++++++--
1 files changed, 18 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 bbe6730..f7466d1 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -274,6 +274,8 @@
dto.setParams(parseArray(oi.getFlowerParams(), ParamItemDTO.class));
+ dto.setNum(oi.getNum());
+
return dto;
}
@@ -308,6 +310,8 @@
dto.setFlowerCategory(oi.getFlowerCategory());
dto.setParams(parseArray(oi.getFlowerParams(), ParamItemDTO.class));
+
+ dto.setNum(oi.getNum());
return dto;
}
@@ -607,7 +611,7 @@
return dto;
}
- public OrderItemCheckNumDTO getOtherCheck(String itemId, String type){
+ public OrderItemCheckNumDTO getOtherCheck(String itemId, String type, boolean isSupplier){
OrderItemCheck c = orderItemCheckMapper.selectOne(new QueryWrapper<OrderItemCheck>()
.eq("type", type)
.eq("order_item_id", itemId)
@@ -619,6 +623,12 @@
BeanUtils.copyProperties(c, dto);
User user = userMapper.selectById(c.getCreateBy());
dto.setCreateName(user.getNickName());
+
+ if(Constants.CHECK_TYPE.lack.name().equals(c.getType()) && isSupplier){
+ OrderItem oi = orderItemMapper.selectById(itemId);
+ BigDecimal lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(c.getNum()));
+ dto.setDeductAmount(lackFeeSupplier);
+ }
}
return dto;
@@ -663,13 +673,19 @@
deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum()));
} else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){
deduct = realPrice.multiply(new BigDecimal(dto.getNum()));
+ //质检退款,按照这个单价扣,如果3扎都缺货,按照总的金额退
+ //缺货数量等于商品总数时按真实总价退款
+ if(dto.getNum().intValue() == oi.getNum() && oi.getRealTotal() != null){
+ deduct = oi.getRealTotal();
+ }
} else if (Constants.CHECK_TYPE.reduce.name().equals(dto.getType())) {
if(deductAmount == null){
throw new ValidationException("降级金额不能为空");
}
deduct = deductAmount.multiply(new BigDecimal(dto.getNum()));
BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum()));
- if(deduct.doubleValue() > dt.doubleValue()){
+ if(deduct.doubleValue() > dt.doubleValue()
+ || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){
throw new ValidationException("降级金额不能大于商品处理数量金额");
}
}
--
Gitblit v1.9.3