|
@@ -1209,6 +1209,18 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 计算运费
|
|
|
+ BigDecimal postMoney = calPostMoney(storeProductPackage, address);
|
|
|
+
|
|
|
+ redisCache.setCacheObject("orderKey:"+uuid, storeProductPackage.getPackageId().toString(), 300, TimeUnit.SECONDS);
|
|
|
+ return R.ok().put("orderKey",uuid)
|
|
|
+ .put("address",address)
|
|
|
+ .put("package",storeProductPackage)
|
|
|
+ .put("totalMoney",totalMoney)
|
|
|
+ .put("postMoney",postMoney);
|
|
|
+ }
|
|
|
+
|
|
|
+ private BigDecimal calPostMoney(FsStoreProductPackage storeProductPackage, FsUserAddress address) {
|
|
|
BigDecimal postMoney = BigDecimal.ZERO;
|
|
|
// 计算套餐邮费
|
|
|
if(ObjectUtil.isNotNull(storeProductPackage.getTemplateId())){
|
|
@@ -1240,14 +1252,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
postMoney = bigDecimal;
|
|
|
}
|
|
|
}
|
|
|
+ }else {
|
|
|
+ throw new IllegalArgumentException("当前套餐没有设置运费模板!");
|
|
|
}
|
|
|
-
|
|
|
- redisCache.setCacheObject("orderKey:"+uuid, storeProductPackage.getPackageId().toString(), 300, TimeUnit.SECONDS);
|
|
|
- return R.ok().put("orderKey",uuid)
|
|
|
- .put("address",address)
|
|
|
- .put("package",storeProductPackage)
|
|
|
- .put("totalMoney",totalMoney)
|
|
|
- .put("postMoney",postMoney);
|
|
|
+ return postMoney;
|
|
|
}
|
|
|
|
|
|
private BigDecimal getProductSum(FsStoreProductPackage storeProductPackage,Integer type){
|
|
@@ -1377,8 +1385,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
storeOrder.setTotalNum(Long.parseLong(String.valueOf(goodsList.size())));
|
|
|
storeOrder.setTotalPrice(storeProductPackage.getPayMoney());
|
|
|
storeOrder.setTotalPostage(BigDecimal.ZERO);
|
|
|
+ // 计算运费
|
|
|
+ BigDecimal postMoney = calPostMoney(storeProductPackage, address);
|
|
|
+ storeOrder.setPayPostage(postMoney);
|
|
|
|
|
|
- storeOrder.setPayPostage(BigDecimal.ZERO);
|
|
|
storeOrder.setDeductionPrice(BigDecimal.ZERO);
|
|
|
storeOrder.setPaid(0);
|
|
|
storeOrder.setUseIntegral(BigDecimal.ZERO);
|