Browse Source

[add] 配送费计算

BKGin 6 months ago
parent
commit
c056727339

+ 5 - 0
yiqi-common/src/main/java/com/yiqi/order/domain/OrderCloth.java

@@ -299,4 +299,9 @@ public class OrderCloth extends BaseEntity
     @ApiModelProperty("是否特殊")
     private String isSpecial;
 
+    /** 配送费 */
+    @Excel(name = "配送费")
+    @ApiModelProperty("配送费")
+    private BigDecimal deliveryAmount;
+
 }

+ 3 - 1
yiqi-common/src/main/java/com/yiqi/order/domain/dto/OrderClothDTO.java

@@ -56,4 +56,6 @@ public class OrderClothDTO {
 
     @ApiModelProperty("订单使用优惠券")
     private List<OrderCouponDTO> orderCouponDTOS;
-}
+
+    @ApiModelProperty("取衣方式(0=到店,1=上门)")
+    private String sendClothWay;}

+ 15 - 1
yiqi-core/src/main/java/com/yiqi/order/service/impl/OrderClothServiceImpl.java

@@ -654,14 +654,26 @@ public class OrderClothServiceImpl extends ServiceImpl<OrderClothMapper, OrderCl
         }
         orderCloth.setOrderClothPrice(totalPrice);
 
-        //上门收衣
+        BigDecimal totalDeliveryAmount = BigDecimal.ZERO;
+        // 上门收衣-计算收衣配送费
         if (orderCloth.getTakeClothWay().equals(TakeOrSendClothWay.DELIVERY.getCode())) {
             if (freeDeliveryNum > 0) {
                 freeDeliveryNum--;
             } else {
+                totalDeliveryAmount.add(new BigDecimal(sysConfigService.selectConfigByKey(SysConfigKey.OrderClothDeliveryPrice.getCode())));
                 totalPrice.add(new BigDecimal(sysConfigService.selectConfigByKey(SysConfigKey.OrderClothDeliveryPrice.getCode())));
             }
         }
+        // 上门取衣(配送上门)-计算取衣配送费
+        if (orderCloth.getSendClothWay().equals(TakeOrSendClothWay.DELIVERY.getCode())) {
+            if (freeDeliveryNum > 0) {
+                freeDeliveryNum--;
+            } else {
+                totalDeliveryAmount.add(new BigDecimal(sysConfigService.selectConfigByKey(SysConfigKey.OrderClothDeliveryPrice.getCode())));
+                totalPrice.add(new BigDecimal(sysConfigService.selectConfigByKey(SysConfigKey.OrderClothDeliveryPrice.getCode())));
+            }
+        }
+        orderCloth.setDeliveryAmount(totalDeliveryAmount);
         orderCloth.setOrderAmount(totalPrice);
         orderCloth.setPayAmount(orderCloth.getOrderAmount());
     }
@@ -903,6 +915,8 @@ public class OrderClothServiceImpl extends ServiceImpl<OrderClothMapper, OrderCl
         }
         orderCloth.setPayTimeType(orderClothDTO.getPayTimeType());
         orderCloth.setPayStatus(PayStatus.WAITING_TO_PAY.getCode());
+        // 取衣方式
+        orderCloth.setSendClothWay(orderClothDTO.getSendClothWay());
     }
 
     /**