|
@@ -53,7 +53,7 @@ public class ShippingTemplateServiceImpl extends ServiceImpl<ShippingTemplateMap
|
|
|
@Override
|
|
|
public int calculateFreightAmt(Integer num, ShippingTemplateCalculateVO shippingTemplateCalculateVO) {
|
|
|
int freightAmt = shippingTemplateCalculateVO.getDefaultPrice();
|
|
|
- if (num - shippingTemplateCalculateVO.getDefaultNumber() >= shippingTemplateCalculateVO.getCreateNumber()) {
|
|
|
+ if (num - shippingTemplateCalculateVO.getDefaultNumber() > 0) {
|
|
|
// 运费:首件价格 + ((商品数量 - 首件数量) / 续件数量)向上取整 * 续件价格
|
|
|
int createNumber = shippingTemplateCalculateVO.getCreateNumber();
|
|
|
freightAmt += ((int) Math.ceil(NumberUtil.div(num - shippingTemplateCalculateVO.getDefaultNumber(), createNumber))) * shippingTemplateCalculateVO.getCreatePrice();
|
|
@@ -61,6 +61,17 @@ public class ShippingTemplateServiceImpl extends ServiceImpl<ShippingTemplateMap
|
|
|
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)
|