Commit 152a0fb3 by 姜海波

订单计算满额减配送费

parent 2c5600b5
......@@ -1044,6 +1044,9 @@ public class OrderSdkAdapter {
case "OFFLINE_PAY":
type=219;
break;
case "FULL_DISTRIBUTION_FEE":
type=1014;
break;
default:
break;
}
......
......@@ -35,6 +35,7 @@ public enum QueryOrderAccountType {
XY_DISCOUNT("XY_DISCOUNT", "x件y折"),
TOTAL_DISCOUNT("TOTAL_DISCOUNT", "优惠总金额"),
ONLINE_PAY("ONLINE_PAY", "线上支付"),
FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"),
OFFLINE_PAY("OFFLINE_PAY", "线下支付");
private String code;
......
......@@ -200,35 +200,4 @@ public class BaseCreateOrderRequest extends BaseConfig {
private String ruleId;
}
private List<OrderSettlement> orderSettlements;
@Data
@Builder
public static class OrderSettlement{
/**
* 优惠结算类型
*/
private OldOrderAccountType settlementType;
/**
* 平台优惠
*/
private Long platformDiscountAmount;
/**
* 商家优惠
*/
private Long shopDiscountAmount;
/**
* 结算金额
*/
private Long settlementAmount;
/**
* 备注
*/
private String note;
}
}
......@@ -162,34 +162,5 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
//预订单任务
private OrderTaskReq orderTask;
private List<OrderSettlement> orderSettlements;
@Data
@Builder
public static class OrderSettlement{
/**
* 优惠结算类型
*/
private OldOrderAccountType settlementType;
/**
* 平台优惠
*/
private Long platformDiscountAmount;
/**
* 商家优惠
*/
private Long shopDiscountAmount;
/**
* 结算金额
*/
private Long settlementAmount;
/**
* 备注
*/
private String note;
}
}
}
......@@ -122,19 +122,20 @@ public class OrderAdapter {
UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto();
BaseCreateOrderRequest createOrderDto = getCreateOrderDto(createOrderVo);
ArrayList<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
long deliveryAmount = 0;
long discountDeliveryAmount = 0;
if (deliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(deliveryInfoDto.getStoreDeliveryInfoDto(), deliveryInfoDto.getUserLongitude(), deliveryInfoDto.getUserLatitude());
if(shoppingCartGoodsDto.getIsDiscountDelivery()){
if(shoppingCartGoodsDto.getIsDiscountDelivery() && deliveryAmount>shoppingCartGoodsDto.getDiscountDeliveryAmount()){
discountDeliveryAmount = shoppingCartGoodsDto.getDiscountDeliveryAmount();
BaseCreateOrderRequest.OrderSettlement settlement=
BaseCreateOrderRequest.OrderSettlement.builder().settlementAmount(deliveryAmount-discountDeliveryAmount)
.settlementType(OldOrderAccountType.FULL_DISTRIBUTION_FEE)
.note(OldOrderAccountType.FULL_DISTRIBUTION_FEE.getDesc()).build();
createOrderDto.setOrderSettlements(Arrays.asList(settlement));
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.name(OldOrderAccountType.FULL_DISTRIBUTION_FEE.getDesc())
.price(deliveryAmount-discountDeliveryAmount)
.accountType(QueryOrderAccountType.FULL_DISTRIBUTION_FEE)
.build();
orderAccountDtos.add(createOrderAccountDto);
}
}
......@@ -148,7 +149,7 @@ public class OrderAdapter {
List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartGoodsDto.getProducts();
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos();
List<CreateOrderProductRequest> products = new ArrayList<>();
ArrayList<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
// 根据购物车商品信息获取优惠信息
int orderAccountIndex = 0;
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) {
......@@ -581,20 +582,21 @@ public class OrderAdapter {
takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
}
ArrayList<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
long deliveryAmount = 0;
long discountDeliveryAmount = 0;
if (userDeliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(userDeliveryInfoDto.getStoreDeliveryInfoDto(), userDeliveryInfoDto.getUserLongitude(), userDeliveryInfoDto.getUserLatitude());
if(shoppingCartGoodsDto.getIsDiscountDelivery()){
if(shoppingCartGoodsDto.getIsDiscountDelivery() && deliveryAmount>shoppingCartGoodsDto.getDiscountDeliveryAmount()){
discountDeliveryAmount = shoppingCartGoodsDto.getDiscountDeliveryAmount();
CreateFatherSonOrderRequest.OrderInfo.OrderSettlement settlement=
CreateFatherSonOrderRequest.OrderInfo.OrderSettlement.builder().settlementAmount(deliveryAmount-discountDeliveryAmount)
.settlementType(OldOrderAccountType.FULL_DISTRIBUTION_FEE)
.note(OldOrderAccountType.FULL_DISTRIBUTION_FEE.getDesc()).build();
productOrderInfo.setOrderSettlements(Arrays.asList(settlement));
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.name(OldOrderAccountType.FULL_DISTRIBUTION_FEE.getDesc())
.price(deliveryAmount-discountDeliveryAmount)
.accountType(QueryOrderAccountType.FULL_DISTRIBUTION_FEE)
.build();
orderAccountDtos.add(createOrderAccountDto);
}
......@@ -622,7 +624,7 @@ public class OrderAdapter {
productOrderInfo.setProducts(products);
int orderAccountIndex = 0;
ArrayList<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
for (ActivityDiscountsDto activityDiscountsDto : activityDiscountsDtos) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId(activityDiscountsDto.getActivityCode())
......
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