Commit ec9bfab6 by 周晓航

Merge branch 'feature/20210609-v2.0.34-下单锁定配送券ID1030707-周晓航-合并张悦33版本'

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	order-application-service/src/main/java/cn/freemud/service/coupon/impl/PlatformCouponRelationServiceImpl.java
parents ee4c60b3 f6f012e7
......@@ -26,7 +26,7 @@
<dependency>
<artifactId>couponcenter-sdk</artifactId>
<groupId>com.freemud.application.service.sdk</groupId>
<version>4.1.1.RELEASE</version>
<version>4.1.3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -74,6 +74,7 @@ import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.freemud.sdk.api.assortment.order.vo.AssortmentOrderProductVo;
import com.google.gson.Gson;
import com.mysql.cj.util.LogUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
......@@ -129,6 +130,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
@Override
public CreateOrderResponse createOrderFlow(CreateOrderRequest config) {
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest request = orderSdkAdapter.convent2NEWCreateOrderRequest(config.getBaseCreateOrderRequest());
ApiLog.info("fisherman 请求基础服务,最终构建 04",config,null);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderInfoReqs> order = orderSdkService.createOrder(request, config.getTrackingNo());
CreateOrderResponse createOrderResponse = orderSdkAdapter.convent2NEWOrderInfoReqs(order);
if (!RESPONSE_SUCCESS.equals(createOrderResponse.getErrcode())
......
......@@ -46,7 +46,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>couponcenter-sdk</artifactId>
<version>4.0.0-SNAPSHOT</version>
<version>4.1.2-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -1484,6 +1484,7 @@ public class CreateOrderAdapter {
}
public CouponLockRequest convert2CouponLockRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, ShoppingCartGoodsDto shoppingCartGoodsDto) {
//fisherman 已经废弃 20210616
if (CollectionUtils.isEmpty(shoppingCartGoodsDto.getActivityDiscountsDtos())) {
return null;
}
......@@ -1499,7 +1500,7 @@ public class CreateOrderAdapter {
// 订单号 替换成唯一序号
couponLockRequest.setPartnerId(orderBean.getCompanyId());
couponLockRequest.setOrderId(orderBean.getOid());
couponLockRequest.setCouponCode(activityDiscountsDto.getActivityCode());
//couponLockRequest.setCouponCode(activityDiscountsDto.getActivityCode());
return couponLockRequest;
}
......
......@@ -26,6 +26,7 @@ import cn.freemud.entities.dto.pay.CombPayResponse;
import cn.freemud.entities.dto.promotion.OrderBeanRequest;
import cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse;
import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto;
import cn.freemud.entities.dto.shoppingCart.CollageOrderDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.ttpay.OrderInfo;
import cn.freemud.entities.vo.*;
......@@ -182,17 +183,30 @@ public class OrderAdapter {
ArrayList<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
long deliveryAmount = 0;
long discountDeliveryAmount = 0;
ApiLog.info("fisherman 计算discountDeliveryAmount 的操作 begin",shoppingCartGoodsDto,createOrderVo);
if (createOrderVo.getMenuType().equals(BusinessTypeEnum.SAAS_DELIVERY.getCode())) {
deliveryAmount = shoppingCartGoodsDto.getDeliveryAmount() == null ? 9l : shoppingCartGoodsDto.getDeliveryAmount();
discountDeliveryAmount = shoppingCartGoodsDto.getDeliveryAmount() == null ? 9l : shoppingCartGoodsDto.getDeliveryAmount();
if (shoppingCartGoodsDto.getIsDiscountDelivery() && deliveryAmount > shoppingCartGoodsDto.getDiscountDeliveryAmount()) {
// 参加满减活动 || 有运费券
boolean isUseFreightCoupon = false;
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos();
if (CollectionUtils.isNotEmpty(activityDiscountsDtos)) {
ActivityDiscountsDto activityDiscountsDto = activityDiscountsDtos.stream().filter(a -> a.getActivityType() != null && a.getActivityType().equals(ActivityTypeEnum.TYPE_34.getCode())).findFirst().orElse(null);
if (activityDiscountsDto !=null) {
isUseFreightCoupon= true;
}
}
if ((shoppingCartGoodsDto.getIsDiscountDelivery() || isUseFreightCoupon)
&& deliveryAmount > shoppingCartGoodsDto.getDiscountDeliveryAmount()) {
discountDeliveryAmount = shoppingCartGoodsDto.getDiscountDeliveryAmount();
}
}else if( createOrderVo.getMenuType().equals(BusinessTypeEnum.SAAS_MALL.getCode())){
deliveryAmount = shoppingCartGoodsDto.getDeliveryAmount() == null ? 0 : shoppingCartGoodsDto.getDeliveryAmount();
discountDeliveryAmount = shoppingCartGoodsDto.getDeliveryAmount() == null ? 0 : shoppingCartGoodsDto.getDeliveryAmount();
}
Long packageAmount = shoppingCartGoodsDto.getPackageAmount() == null ? 0L : shoppingCartGoodsDto.getPackageAmount();
ApiLog.info("fisherman 计算discountDeliveryAmount 的操作 end",deliveryAmount,discountDeliveryAmount);
//商城实付无需加上配送费用和包装费
if( createOrderVo.getMenuType().equals(BusinessTypeEnum.SAAS_MALL.getCode())) {
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount());
......@@ -241,6 +255,7 @@ public class OrderAdapter {
createOrderDto.setProducts(products);
boolean hasDeliveryMonthCard = false;
for (ActivityDiscountsDto activityDiscountsDto : activityDiscountsDtos) {
// fisherman 3.0.34 运费券 这里塞进去的
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId(activityDiscountsDto.getActivityCode())
.name(activityDiscountsDto.getActivityName())
......@@ -1519,6 +1534,7 @@ public class OrderAdapter {
responseVo.setAfterSalesOrderResp(ordersBean.getAfterSalesOrderResp());
list.add(responseVo);
});
LogUtil.info("fisherman orderBean:", JSON.toJSONString(ordersBeans),JSON.toJSONString(list));
return list;
}
......@@ -2177,7 +2193,7 @@ public class OrderAdapter {
return orderAccountVos;
}
List<Integer> list = Arrays.asList(OrderSettlementType.FULL_REDUCTION.getIndex(),OrderSettlementType.CASH_COUPON.getIndex(),
OrderSettlementType.PRODUCT_COUPON.getIndex(),OrderSettlementType.DISCOUNT_COUPON.getIndex(),OrderSettlementType.POINTS.getIndex());
OrderSettlementType.PRODUCT_COUPON.getIndex(),OrderSettlementType.DISCOUNT_COUPON.getIndex(),OrderSettlementType.POINTS.getIndex(),OrderSettlementType.FREIGHT_COUPON.getIndex());
for (QueryOrdersResponse.DataBean.OrderBean.OrderSettlement orderSettlement : orderSettlements){
if(list.contains(orderSettlement.getSettlementType())){
OrderAccountVo accountVo = new OrderAccountVo();
......@@ -2190,6 +2206,8 @@ public class OrderAdapter {
accountVo.setTypeName("满减");
} else if(type == OrderSettlementType.POINTS.getIndex()){
accountVo.setTypeName("积分抵扣");
}else if(type == OrderSettlementType.FREIGHT_COUPON.getIndex()) {
accountVo.setTypeName("配送券");
}
int value = orderSettlement.getSettlementAmount().intValue();
accountVo.setDiscountAmount(value < 0 ? -value : value);
......
......@@ -22,6 +22,7 @@ public class GetCouponDetailResponseDto {
private String code;
private String activeCode;
private String title;
//券类型:0商品券,1代金券,3折扣券,4换购券 5.配送券
private Integer type;
private Integer status;
private String create_time;
......
......@@ -436,6 +436,11 @@ public class CreateOrderVo {
* 顺序
*/
private Integer index;
/**
* 优惠券类型
*/
private Integer couponType;
}
/**
......
......@@ -199,6 +199,11 @@ public class ShoppingCartInfoRequestVo {
* 顺序
*/
private Integer index;
/**
* 优惠券类型
*/
private Integer couponType;
}
/**
......
......@@ -12,6 +12,11 @@
*/
package cn.freemud.enums;
/**
* 应该是下面这个type对应
* @see com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
*/
public enum OrderAccountType {
DELIVERY_AMOUNT(1, "配送费"),
......@@ -25,6 +30,7 @@ public enum OrderAccountType {
SECOND_DISCOUNT(23, "第二件N折"),
BUYM_SENDN(24, "买M赠N"),
CUSTOMER_SUB(4, "积分扣减"),
FREIGHT_COUPON(99, "运费券"),
CARD_ORIGINAL_AMOUNT(25, "会员卡原价"),
CARD_DISCOUNT_AMOUNT(26, "会员卡优惠金额"),
COCO_PRODUCT_CASH_COUPON(36, "coco商品代金券"),
......
......@@ -594,6 +594,7 @@ public class CheckOrder {
coupon.setCouponCode(couponCode.getCouponCode());
coupon.setActivityCode(activeCode);
coupon.setIndex(couponCode.getIndex());
coupon.setCouponType(getCouponDetailResponseDto.getDetails().get(0).getType());
couponCodes.add(coupon);
});
......
......@@ -2763,6 +2763,9 @@ public class OrderServiceImpl implements Orderservice {
*/
public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq, OrderClientType orderClient, String appId,String openId) {
ApiLog.info("fisherman 请求基础服务,最终构建 01 ",createOrderVo,storeResponseDto);
ApiLog.info("fisherman 请求基础服务,最终构建 02 ",shoppingCartGoodsDto,orderExtendedReq);
ApiLog.info("fisherman 请求基础服务,最终构建 03 ",orderClient,null);
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
//查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
......
......@@ -34,6 +34,7 @@ public enum OrderSettlementType {
SPELL_GROUP(25,"拼团"),
TAKEAWAY_ADD_PRICE(46, "外卖加价购"),
SUPER_PURCHASE(47, "超值加购"),
FREIGHT_COUPON(99, "配送券"),
PRODUCT_COUPON(118, "商品券"),
POINTS(200, "积分"),
......
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