|
@@ -16,6 +16,7 @@ import com.qs.mp.common.domain.DeliveryCompany;
|
|
|
import com.qs.mp.common.enums.*;
|
|
|
import com.qs.mp.common.service.IDeliveryCompanyService;
|
|
|
import com.qs.mp.common.service.IShippingTemplateRuleService;
|
|
|
+import com.qs.mp.common.service.IShippingTemplateService;
|
|
|
import com.qs.mp.common.utils.StringUtils;
|
|
|
import com.qs.mp.system.domain.SysUser;
|
|
|
import com.qs.mp.system.service.ISysUserService;
|
|
@@ -113,6 +114,9 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
@Value("${shipping.channel}")
|
|
|
public Long shippingTemplateId;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IShippingTemplateService shippingTemplateService;
|
|
|
+
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -208,9 +212,6 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 购买数量
|
|
|
- int orderNum = 0;
|
|
|
-
|
|
|
// 订单金额计算
|
|
|
Integer orderAmt = 0;
|
|
|
Integer pkgNum = 0;
|
|
@@ -225,8 +226,6 @@ 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());
|
|
@@ -235,8 +234,6 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
cartVO.setOrderNum(param.getOrderNum());
|
|
|
orderSettleVO.getItems().add(cartVO);
|
|
|
pkgNum += param.getOrderNum();
|
|
|
- // 获取购买数量
|
|
|
- orderNum = param.getOrderNum();
|
|
|
}
|
|
|
|
|
|
|
|
@@ -253,18 +250,11 @@ public class ChannelOrderController extends BaseApiController {
|
|
|
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();
|
|
|
- }
|
|
|
+ // 运费计算
|
|
|
+ freightAmt = shippingTemplateService.calculateFreightAmt(pkgNum, shippingTemplateCalculateVO);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// 设置运费
|
|
|
orderSettleVO.setFreightAmt(freightAmt);
|
|
|
|