|
@@ -53,25 +53,14 @@ public class ShippingTemplateServiceImpl extends ServiceImpl<ShippingTemplateMap
|
|
|
@Override
|
|
|
public int calculateFreightAmt(Integer num, ShippingTemplateCalculateVO shippingTemplateCalculateVO) {
|
|
|
int freightAmt = shippingTemplateCalculateVO.getDefaultPrice();
|
|
|
- if (num - shippingTemplateCalculateVO.getDefaultNumber() > 0) {
|
|
|
+ int createNumber = shippingTemplateCalculateVO.getCreateNumber();
|
|
|
+ if (num - shippingTemplateCalculateVO.getDefaultNumber() > 0 && createNumber > 0) {
|
|
|
// 运费:首件价格 + ((商品数量 - 首件数量) / 续件数量)向上取整 * 续件价格
|
|
|
- int createNumber = shippingTemplateCalculateVO.getCreateNumber();
|
|
|
freightAmt += ((int) Math.ceil(NumberUtil.div(num - shippingTemplateCalculateVO.getDefaultNumber(), createNumber))) * shippingTemplateCalculateVO.getCreatePrice();
|
|
|
}
|
|
|
return freightAmt;
|
|
|
}
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
- Integer num = 2;
|
|
|
- Integer defaultNumber = 1;
|
|
|
- Integer defaultMoney = 2;
|
|
|
- int createNumber = 2;
|
|
|
- Integer createMoney = 5;
|
|
|
- int freightAmt = defaultMoney;
|
|
|
- freightAmt += ((int) Math.ceil(NumberUtil.div(num - defaultNumber, createNumber))) * createMoney;
|
|
|
- System.out.println("freightAmt = " + freightAmt);
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|