|
@@ -208,28 +208,8 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 运费计算
|
|
|
- Integer freightAmt = 0;
|
|
|
- // 计算运费
|
|
|
- UserAddr userAddr = orderSettleVO.getAddr();
|
|
|
- // TODO: 4L上线需要调整,后期放开就是取的商品里配的运费模板id
|
|
|
- ShippingTemplateCalculateVO shippingTemplateCalculateVO = shippingTemplateRuleService.getShippingTemplateRuleByTemplateIdAndAreaInfo(shippingTemplateId, userAddr.getProvinceId(), userAddr.getCityId());
|
|
|
- // 无法查到运费模板则默认为0
|
|
|
- if (Objects.nonNull(shippingTemplateCalculateVO)) {
|
|
|
-
|
|
|
- orderSettleVO.setFreightRemark(shippingTemplateCalculateVO.getRemark());
|
|
|
- orderSettleVO.setFreightType(shippingTemplateCalculateVO.getType());
|
|
|
-
|
|
|
- if (ShippingTemplateRuleTypeEnum.SHIP.getValue().equals(shippingTemplateCalculateVO.getType())) {
|
|
|
- int orderNum = param.getOrderNum();
|
|
|
- freightAmt = shippingTemplateCalculateVO.getDefaultPrice();
|
|
|
- if (orderNum - shippingTemplateCalculateVO.getDefaultNumber() >= shippingTemplateCalculateVO.getCreateNumber()) {
|
|
|
- // 运费:首件价格 + ((商品数量 - 首件数量) / 续件数量)向上取整 * 续件价格
|
|
|
- int createNumber = shippingTemplateCalculateVO.getCreateNumber();
|
|
|
- freightAmt += ((int) Math.ceil(NumberUtil.div(orderNum - shippingTemplateCalculateVO.getDefaultNumber(), createNumber))) * shippingTemplateCalculateVO.getCreatePrice();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // 购买数量
|
|
|
+ int orderNum = 0;
|
|
|
|
|
|
// 订单金额计算
|
|
|
Integer orderAmt = 0;
|
|
@@ -245,6 +225,8 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
cartVO.setOrderNum(channelCart.getOrderNum());
|
|
|
orderSettleVO.getItems().add(cartVO);
|
|
|
pkgNum += channelCart.getOrderNum();
|
|
|
+ // 获取购买数量
|
|
|
+ orderNum += channelCart.getOrderNum();
|
|
|
}
|
|
|
} else {
|
|
|
TicketBox ticketBox = ticketBoxService.getById(param.getBoxId());
|
|
@@ -253,7 +235,36 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
cartVO.setOrderNum(param.getOrderNum());
|
|
|
orderSettleVO.getItems().add(cartVO);
|
|
|
pkgNum += param.getOrderNum();
|
|
|
+ // 获取购买数量
|
|
|
+ orderNum = param.getOrderNum();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 运费计算
|
|
|
+ Integer freightAmt = 0;
|
|
|
+ // 计算运费
|
|
|
+ UserAddr userAddr = orderSettleVO.getAddr();
|
|
|
+ // TODO: 4L上线需要调整,后期放开就是取的商品里配的运费模板id
|
|
|
+ ShippingTemplateCalculateVO shippingTemplateCalculateVO = shippingTemplateRuleService.getShippingTemplateRuleByTemplateIdAndAreaInfo(shippingTemplateId, userAddr.getProvinceId(), userAddr.getCityId());
|
|
|
+ // 无法查到运费模板则默认为0
|
|
|
+ if (Objects.nonNull(shippingTemplateCalculateVO)) {
|
|
|
+
|
|
|
+ orderSettleVO.setFreightRemark(shippingTemplateCalculateVO.getRemark());
|
|
|
+ orderSettleVO.setFreightType(shippingTemplateCalculateVO.getType());
|
|
|
+
|
|
|
+ if (ShippingTemplateRuleTypeEnum.SHIP.getValue().equals(shippingTemplateCalculateVO.getType())) {
|
|
|
+ freightAmt = shippingTemplateCalculateVO.getDefaultPrice();
|
|
|
+ if (orderNum - shippingTemplateCalculateVO.getDefaultNumber() >= shippingTemplateCalculateVO.getCreateNumber()) {
|
|
|
+ // 运费:首件价格 + ((商品数量 - 首件数量) / 续件数量)向上取整 * 续件价格
|
|
|
+ int createNumber = shippingTemplateCalculateVO.getCreateNumber();
|
|
|
+ freightAmt += ((int) Math.ceil(NumberUtil.div(orderNum - shippingTemplateCalculateVO.getDefaultNumber(), createNumber))) * shippingTemplateCalculateVO.getCreatePrice();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 设置运费
|
|
|
orderSettleVO.setFreightAmt(freightAmt);
|
|
|
|