Commit a38ca696 by 周晓航

修复:运费模板接口字段变动导致订单NPE

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent 907c5a51
...@@ -3,6 +3,7 @@ package cn.freemud.adapter; ...@@ -3,6 +3,7 @@ package cn.freemud.adapter;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto; import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CreateSpellGroupOrderDto; import cn.freemud.entities.dto.CreateSpellGroupOrderDto;
import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateRequest; import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateRequest;
import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateResponse;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.product.ProductInfo; import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto; import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto;
...@@ -27,6 +28,7 @@ import org.springframework.stereotype.Component; ...@@ -27,6 +28,7 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @author wanghanghang * @author wanghanghang
...@@ -66,8 +68,10 @@ public class SpellGroupOrderAdapter { ...@@ -66,8 +68,10 @@ public class SpellGroupOrderAdapter {
//运费 //运费
long freight = 0 ; long freight = 0 ;
//判断是否包邮,包邮的话运费为0 //判断是否包邮,包邮的话运费为0
if (createSpellGroupOrderDto.getDeliveryTemplateInfo().getIsDispatchFree() == false) { //判断是否包邮,包邮的话运费为0
freight = createSpellGroupOrderDto.getDeliveryTemplateInfo().getFreight(); QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfo = createSpellGroupOrderDto.getDeliveryTemplateInfo();
if (deliveryTemplateInfo != null && Objects.equals(deliveryTemplateInfo.getCostType(),0)) {
freight = deliveryTemplateInfo.getFreight() == null? 0: deliveryTemplateInfo.getFreight();
} }
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = createSpellGroupOrderDto.getCalculationDiscount(); ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = createSpellGroupOrderDto.getCalculationDiscount();
createOrderRequest.setActualPayAmount(calculationDiscount.getTotalAmount().longValue() + freight); //加配送费 createOrderRequest.setActualPayAmount(calculationDiscount.getTotalAmount().longValue() + freight); //加配送费
......
package cn.freemud.entities.dto.delivery; package cn.freemud.entities.dto.delivery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
...@@ -21,13 +22,14 @@ public class QueryDeliveryTemplateResponse { ...@@ -21,13 +22,14 @@ public class QueryDeliveryTemplateResponse {
@Data @Data
public static class DeliveryTemplateInfoVo { public static class DeliveryTemplateInfoVo {
/** // @ApiModelProperty(value = "是否包邮 -> true:是; false:否 (过期,后期通过costType字段)")
* 运费 // @Deprecated
*/ // private Boolean isDispatchFree;
private Long freight;
/** @ApiModelProperty(value = "配送类型类型 -> 0:不包邮; 1:包邮; 2:运费到付")
* 是否包邮 -> true:是; false:否 private Integer costType;
*/
private Boolean isDispatchFree; @ApiModelProperty(value = "运费 单位:分")
private Integer freight;
} }
} }
...@@ -203,8 +203,8 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -203,8 +203,8 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR); return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR);
} }
QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo = queryDeliveryTemplateResponse.getData(); QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo = queryDeliveryTemplateResponse.getData();
if(deliveryTemplateInfoVo.getIsDispatchFree() == true){ if (deliveryTemplateInfoVo!= null && deliveryTemplateInfoVo.getCostType().compareTo(0) !=0) {
deliveryTemplateInfoVo.setFreight((long) 0); deliveryTemplateInfoVo.setFreight(0);
} }
// QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo = new QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo(); // QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo = new QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo();
// deliveryTemplateInfoVo.setFreight(1L); // deliveryTemplateInfoVo.setFreight(1L);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment