Commit 998dab5a by 姜海波

Merge branch 'feature-2020/2/10-1.9.15-免配送费二期-海波' into qa

# Conflicts:
#	order-management/pom.xml
parents 08fd2491 36e664b4
......@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.2.3.RELEASE</version>
<version>1.2.4.RELEASE</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
......
......@@ -18,4 +18,5 @@
| 1.2.2.RELEASE| 升级RELEASE | wuping | 2020-03-04 |
| 1.1.7-SNAPSHOT| 预约单支付成功接口增加预约任务 | wuping | 2020-03-10 |
| 1.1.8-SNAPSHOT| 预约单接单接口增加预约任务 | wuping | 2020-03-17 |
| 1.2.3.RELEASE | 预约单升级RELEASE | wuping | 2020-03-18 |
\ No newline at end of file
| 1.2.3.RELEASE | 预约单升级RELEASE | wuping | 2020-03-18 |
| 1.2.4.RELEASE | 紧急需求 增加骑手电话 | 海波 | 2020-03-19 |
\ No newline at end of file
......@@ -1047,6 +1047,9 @@ public class OrderSdkAdapter {
case "OFFLINE_PAY":
type=219;
break;
case "FULL_DISTRIBUTION_FEE":
type=1014;
break;
default:
break;
}
......
......@@ -34,6 +34,7 @@ public enum OldOrderAccountType {
SET_MEAL(211, "套餐商品优惠", "SET_MEAL"),
CARD_DISCOUNT_AMOUNT(26, "会员卡优惠金额", "CARD_DISCOUNT_AMOUNT"),
XY_DISCOUNT(104, "x件y折", "XY_DISCOUNT"),
FULL_DISTRIBUTION_FEE(1014, "满减配送费", "FULL_DISTRIBUTION_FEE"),
TOTAL_DISCOUNT(205, "优惠总金额", "TOTAL_DISCOUNT");
private Integer code;
......
......@@ -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;
......
......@@ -6,6 +6,7 @@ import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import com.freemud.sdk.api.assortment.order.enums.*;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
......@@ -199,5 +200,4 @@ public class BaseCreateOrderRequest extends BaseConfig {
private String ruleId;
}
}
......@@ -5,6 +5,7 @@ import com.freemud.application.sdk.api.promotioncenter.request.promotion.Activit
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import com.freemud.sdk.api.assortment.order.enums.*;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
......@@ -160,5 +161,6 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
//预订单任务
private OrderTaskReq orderTask;
}
}
......@@ -40,7 +40,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.2.3.RELEASE</version>
<version>1.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -131,17 +131,30 @@ public class OrderAdapter {
if(orderTask != null){
createOrderDto.setOrderTask(orderTask);
}
ArrayList<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
long deliveryAmount = 0;
long discountDeliveryAmount = 0;
if (deliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(deliveryInfoDto.getStoreDeliveryInfoDto(), deliveryInfoDto.getUserLongitude(), deliveryInfoDto.getUserLatitude());
deliveryAmount = shoppingCartGoodsDto.getDeliveryAmount();
if(shoppingCartGoodsDto.getIsDiscountDelivery() && deliveryAmount>shoppingCartGoodsDto.getDiscountDeliveryAmount()){
discountDeliveryAmount = shoppingCartGoodsDto.getDiscountDeliveryAmount();
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.name(OldOrderAccountType.FULL_DISTRIBUTION_FEE.getDesc())
.price(deliveryAmount-discountDeliveryAmount)
.accountType(QueryOrderAccountType.FULL_DISTRIBUTION_FEE)
.build();
orderAccountDtos.add(createOrderAccountDto);
}
}
Long packageAmount = shoppingCartGoodsDto.getPackageAmount() == null ? 0L : shoppingCartGoodsDto.getPackageAmount();
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + deliveryAmount + packageAmount);
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + discountDeliveryAmount + packageAmount);
// 解析购物车信息
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) {
......@@ -587,13 +600,28 @@ 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());
deliveryAmount = shoppingCartGoodsDto.getDeliveryAmount();
if(shoppingCartGoodsDto.getIsDiscountDelivery() && deliveryAmount>shoppingCartGoodsDto.getDiscountDeliveryAmount()){
discountDeliveryAmount = shoppingCartGoodsDto.getDiscountDeliveryAmount();
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.name(OldOrderAccountType.FULL_DISTRIBUTION_FEE.getDesc())
.price(deliveryAmount-discountDeliveryAmount)
.accountType(QueryOrderAccountType.FULL_DISTRIBUTION_FEE)
.build();
orderAccountDtos.add(createOrderAccountDto);
}
}
Long cardDiscountAmount = shoppingCartGoodsDto.getCardDiscountAmount() != null ? shoppingCartGoodsDto.getCardDiscountAmount() : 0L;
Long packageAmount = shoppingCartGoodsDto.getPackageAmount() == null ? 0L : shoppingCartGoodsDto.getPackageAmount();
productOrderInfo.setAmount(shoppingCartGoodsDto.getTotalAmount() + deliveryAmount + packageAmount
productOrderInfo.setAmount(shoppingCartGoodsDto.getTotalAmount() + discountDeliveryAmount + packageAmount
- shoppingCartGoodsDto.getCardOriginalAmount() + cardDiscountAmount);
// 解析购物车信息
List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartGoodsDto.getProducts();
......@@ -614,7 +642,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())
......@@ -848,6 +876,8 @@ public class OrderAdapter {
responseVo.setReceiveCity(ordersBean.getReceiveCity());
responseVo.setReceiveRegion(ordersBean.getReceiveRegion());
responseVo.setReceiveMobile(ordersBean.getPhone());
if(ordersBean.getAddInfo()!=null&&StringUtils.isNotEmpty(ordersBean.getAddInfo().getRiderPhone()))
responseVo.setRiderPhone(ordersBean.getAddInfo().getRiderPhone());
responseVo.setTakeMealType(ordersBean.getGmtExpect() == null ? 0 : 1);
responseVo.setTakeMealTypeDesc(responseVo.getTakeMealType() == 0 ? "立即取餐" : "预约取餐");
String extInfo = ordersBean.getExtInfo();
......
......@@ -3,6 +3,7 @@ package cn.freemud.entities.dto.shoppingCart;
import cn.freemud.entities.dto.OrderProductAddInfo;
import cn.freemud.entities.vo.SubtractStockVO;
import com.alibaba.fastjson.JSON;
import lombok.Builder;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
......@@ -67,6 +68,27 @@ public class ShoppingCartGoodsDto {
*/
private List<SubtractStockVO> stocks;
/**
* 配送费
*/
private Long deliveryAmount;
/**
* 减免后配送费
*/
private Long discountDeliveryAmount;
/**
* 满多少额度 减免
*/
private Long thresholdAmount;
/**
* 是否参加满额减免
*/
@Builder.Default
private Boolean isDiscountDelivery = false;
@Data
public static class CartGoodsDetailDto {
/**
......
......@@ -93,6 +93,8 @@ public class ShoppingCartInfoRequestVo {
*/
private String channelType;
private String receiveId;
@Data
public final static class SendGoods {
/**
......
......@@ -310,6 +310,7 @@ public class CheckOrder {
.orderType(createOrderVo.getOrderType())
.reachStoreType(createOrderVo.getReachStoreType())
.flag(CouponFlag.NO.getCode())
.receiveId(createOrderVo.getReceiveId())
.useCustomerScore(createOrderVo.getUseCustomerScore())
.buyMemberCard(buyMemberCard)
.menuType(createOrderVo.getMenuType())
......
......@@ -35,8 +35,8 @@
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.8.RELEASE" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.16" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.11" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: cn.freemud:assortment-ordercenter-sdk:1.2.2.RELEASE" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: cn.freemud:ordercenter-sdk:1.1.6.RELEASE" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: cn.freemud:assortment-ordercenter-sdk:1.2.3.RELEASE" level="project" />
<orderEntry type="module" module-name="ordercenter-sdk" scope="PROVIDED" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
<orderEntry type="library" name="Maven: cn.freemud.commons:commons-amqp:2.1.0-release" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-amqp:1.5.3.RELEASE" level="project" />
......
......@@ -35,7 +35,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.2.2.RELEASE</version>
<version>1.2.3.RELEASE</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -62,6 +62,8 @@ public class ActivityCalculationDiscountRequestDto {
*/
private List<CalculationDiscountGoods> goods;
private Long distributionFee;
@Data
public static class CalculationDiscountCoupon {
/**
......
......@@ -22,6 +22,11 @@ public class ActivityCalculationDiscountResponseDto {
private String msg;
/**
* 优惠后运费
*/
private Long distributionFee;
/**
* 集合外的为系统按照优先级计算出来的优惠信息
* ,calculationResults集合中的为多种优惠方案
* 计算出来的优惠信息列表,并按优惠力度倒序排列
......@@ -84,6 +89,17 @@ public class ActivityCalculationDiscountResponseDto {
*/
private List<SubtractStockVO> stocks;
/**
* 配送费
*/
private Long deliveryAmount;
/**
* 优惠后 配送费
*/
private Long distributionFee;
@Data
public static class ActivityPrompt {
......@@ -120,6 +136,7 @@ public class ActivityCalculationDiscountResponseDto {
* 11-每满减
* 12-阶梯满减
* 2-单品特价
* 14-满额减配送费
* 21-单品折扣
* 3-优惠券
* 5-整单满金额折
......@@ -134,6 +151,8 @@ public class ActivityCalculationDiscountResponseDto {
* 83-整单满数量打折
*/
private Integer type;
private Long thresholdAmount;
}
@Data
......
......@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import cn.freemud.entities.vo.SubtractStockVO;
import com.alibaba.fastjson.JSON;
import lombok.Builder;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
......@@ -93,6 +94,27 @@ public class ShoppingCartGoodsDto {
*/
private List<SubtractStockVO> stocks;
/**
* 配送费
*/
private Long deliveryAmount;
/**
* 减免后配送费
*/
private Long discountDeliveryAmount;
/**
* 满多少额度 减免
*/
private Long thresholdAmount;
/**
* 是否参加满额减免
*/
@Builder.Default
private Boolean isDiscountDelivery = false;
@Data
public static class CartGoodsDetailDto {
......
......@@ -12,6 +12,7 @@
*/
package cn.freemud.entities.vo;
import lombok.Builder;
import lombok.Data;
import java.util.List;
......@@ -91,4 +92,29 @@ public class ShoppingCartGoodsResponseVo extends ShoppingCartGoodsBaseResponseV
* 会员卡优惠金额
*/
private Integer cardDiscountAmount;
/**
* 配送费
*/
private Long deliveryAmount;
/**
* 减免后配送费
*/
private Long discountDeliveryAmount;
/**
* 满多少额度 减免
*/
private Long thresholdAmount;
/**
* 是否参加满额减免
*/
@Builder.Default
private Boolean isDiscountDelivery = false;
}
......@@ -17,6 +17,7 @@ public enum ActivityTypeEnum {
TYPE_11(11, "每满减"),
TYPE_12(12, "阶梯满减"),
TYPE_13(13, "新用户立减"),
TYPE_14(14, "满额减配送费"),
TYPE_104(104,"x件y折"),
/**
......
......@@ -95,7 +95,7 @@ public interface ShoppingCartNewService {
Integer orderType,
List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons,
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType);
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee);
List<CartGoods> updateCartGoodsLegal(CartGoods cartGoods, String userId, ShoppingCartGoodsBaseResponseVo shoppingCartGoodsResponseVo, AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<CartGoods> oldAllCartGoodsList);
......
......@@ -413,7 +413,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
@Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(
String partnerId, String storeId, String userId, String appId, Integer orderType, List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType) {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee) {
return null;
}
......
......@@ -491,7 +491,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult
getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType,
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType) {
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee) {
return null;
}
......
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