|
@@ -182,22 +182,25 @@ public class UserDeliverOrderController extends BaseApiController {
|
|
|
|
|
|
// 计算运费
|
|
|
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 goodsNum = prizeStorageList.stream().mapToInt(UserPrizeStorage::getGoodsNum).sum();
|
|
|
- // 计算运费
|
|
|
- freightAmt = shippingTemplateService.calculateFreightAmt(goodsNum,shippingTemplateCalculateVO);
|
|
|
- }
|
|
|
+ if (Objects.nonNull(userAddr)) {
|
|
|
+ // 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 goodsNum = prizeStorageList.stream().mapToInt(UserPrizeStorage::getGoodsNum).sum();
|
|
|
+ // 计算运费
|
|
|
+ freightAmt = shippingTemplateService.calculateFreightAmt(goodsNum,shippingTemplateCalculateVO);
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
orderSettleVO.setOrderAmt(orderAmt);
|
|
|
orderSettleVO.setFreightAmt(freightAmt);
|
|
|
orderSettleVO.setPayAmt(orderAmt + freightAmt);
|