Commit 34e4b93f by 周晓航

预留代码 设置额外配送费操作

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent ac8abbf1
package cn.freemud.entities;
import lombok.Data;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/12/8 下午5:08
* @description :
*/
@Data
public class ExtraDeliveryDto {
/**
* 原有配送费类型
*/
public static int TYPE_DEFAULT = 0;
/**
* 晚间时段 附加配送费类型
*/
public static int TYPE_EXTRA_NIGHT = 1;
/**
* 早间时段 附加配送费类型
*/
public static int TYPE_EXTRA_MORNING = 2;
/**
* 费用类型
*/
private int type;
/**
* 费用
*/
private Long deliveryAmount;
private ExtraDeliveryDto() {
}
public ExtraDeliveryDto(int type, Long deliveryAmount) {
this.type = type;
this.deliveryAmount = deliveryAmount;
}
}
package cn.freemud.entities.vo;
import cn.freemud.entities.ExtraDeliveryDto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2021/12/8 下午5:03
* @description :
*/
@Data
public class DeliveryDto {
/**
* 总配送费
*/
public Long deliveryAmount;
/**
* 配送费为零的原因:0:正常,1:超出配送范围
*/
public Integer deliveryFeeZeroReason;
/**
* 附加配送费详细数据 上面的金额 已经加上 这里的金额了
*/
public List<ExtraDeliveryDto> deliveryAmountList = new ArrayList<>();
private DeliveryDto() {
}
public DeliveryDto(Long deliveryAmount, Integer deliveryFeeZeroReason, List<ExtraDeliveryDto> deliveryAmountList) {
this.deliveryAmount = deliveryAmount;
this.deliveryFeeZeroReason = deliveryFeeZeroReason;
this.deliveryAmountList = deliveryAmountList;
}
}
......@@ -12,16 +12,22 @@
*/
package cn.freemud.entities.vo;
import cn.freemud.entities.ExtraDeliveryDto;
import cn.freemud.entities.dto.calculate.Discount;
import cn.freemud.entities.dto.calculate.Goods;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoodsStates;
import lombok.Builder;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseVo{
/**
* 配送费的清单 包含 普通配送费 额外夜间配送费 额外白天配送费 下面的 deliveryAmount 是总的配送费
*/
List<ExtraDeliveryDto> deliveryAmountList = new ArrayList<>();
/**
* 商品额外的属性
......
......@@ -51,6 +51,7 @@ public class FixDeliveryServiceImpl extends AbstractDeliveryServiceImpl implemen
if (Objects.nonNull(shoppingCartGoodsResponseVo)) {
shoppingCartGoodsResponseVo.setDeliveryFeeZeroReason(0);
}
// fisherman 处理 额外配送费
return Objects.isNull(deliveryInfo.getFinalDeliveryAmount()) ? 0L : deliveryInfo.getFinalDeliveryAmount();
}
......
......@@ -13,7 +13,9 @@
package cn.freemud.service.delivery.impl;
import cn.freemud.entities.ExtraDeliveryDto;
import cn.freemud.entities.dto.console.*;
import cn.freemud.entities.vo.DeliveryDto;
import cn.freemud.entities.vo.QueryDeliveryDistanceRequest;
import cn.freemud.entities.vo.QueryDeliveryDistanceResponseVo;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
......@@ -32,6 +34,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service("gradDeliveryService")
public class GradDeliveryServiceImpl extends AbstractDeliveryServiceImpl implements DeliveryService {
......@@ -57,7 +62,12 @@ public class GradDeliveryServiceImpl extends AbstractDeliveryServiceImpl impleme
queryReceiveAddressResponse.getData().getLongitude(),
partnerId,
storeId);
if (null != shoppingCartGoodsResponseVo) shoppingCartGoodsResponseVo.setDeliveryFeeZeroReason(deliveryDataMsg.deliveryFeeZeroReason);
if (Objects.nonNull(shoppingCartGoodsResponseVo)) {
shoppingCartGoodsResponseVo.setDeliveryFeeZeroReason(deliveryDataMsg.deliveryFeeZeroReason);
List<ExtraDeliveryDto> deliveryAmountList = deliveryDataMsg.getDeliveryAmountList();
shoppingCartGoodsResponseVo.setDeliveryAmountList(deliveryAmountList);
}
return deliveryDataMsg.deliveryAmount;
}
......@@ -67,21 +77,6 @@ public class GradDeliveryServiceImpl extends AbstractDeliveryServiceImpl impleme
}
class DeliveryDto {
/**
* 配送费
*/
Long deliveryAmount;
/**
* 配送费为零的原因:0:正常,1:超出配送范围
*/
Integer deliveryFeeZeroReason;
DeliveryDto(Long amount, Integer reason) {
deliveryAmount = amount;
deliveryFeeZeroReason = reason;
}
}
/**
* 获取 配送费 及预计送达时间接口
* @param userLat 用户纬度
......@@ -121,9 +116,14 @@ public class GradDeliveryServiceImpl extends AbstractDeliveryServiceImpl impleme
}
Long amount = calcDeliveryAmount(storeInfo, deliveryInfo, userLong, userLat);
if (amount < 0) {
return new DeliveryDto(0L, 1);
return new DeliveryDto(0L, 1, new ArrayList<>());
} else {
return new DeliveryDto(amount, 0);
// 标准配送费
List<ExtraDeliveryDto> list = new ArrayList<>();
ExtraDeliveryDto defaultAmount = new ExtraDeliveryDto(ExtraDeliveryDto.TYPE_DEFAULT, amount);
list.add(defaultAmount);
// fisherman 处理 额外配送费
return new DeliveryDto(amount, 0, list);
}
}
......
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