Commit ec3e24a2 by ping.wu

Merge branches 'feature/20220621_门店小助手退款处理_wuping' and 'qa' of…

Merge branches 'feature/20220621_门店小助手退款处理_wuping' and 'qa' of http://gitlab.freemud.com/order-group-application/order-group into qa

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
parents 2169c450 a6b57807
......@@ -78,4 +78,13 @@ public class CombPayRequest {
* 下单所用小程序类型:1微信,2支付宝,3抖音")
*/
private Integer applicationType;
/**
* 小程序appid
*/
private String subAppid;
/**
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
private String payTypeCode;
}
......@@ -3469,6 +3469,8 @@ public class OrderAdapter {
orderPayDto.setOut_order_no(orderBean.getOid());
orderPayDto.setCardCode(cardNo);
orderPayDto.setApplicationType(getPayApplicationType(orderBean.getOrderClient()));
orderPayDto.setSubAppid(orderBean.getAppId());
orderPayDto.setPayTypeCode(convertPayTypeCode(orderBean.getOrderClient()));
return orderPayDto;
}
......@@ -3861,6 +3863,24 @@ public class OrderAdapter {
}
/**
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
public String convertPayTypeCode(String orderClient) {
String payTypeCode = "";
switch (orderClient) {
case "2":
payTypeCode = "TWX";
break;
case "3":
payTypeCode = "TZFB";
break;
default:
break;
}
return payTypeCode;
}
/**
* 礼品卡支付参数转化
*/
public Integer getPayApplicationType(String orderClient) {
......
......@@ -16,6 +16,7 @@ import cn.freemud.entities.vo.CreateOrderResponseVo;
import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderSettlementType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderType;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest;
......@@ -30,10 +31,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
@Component
public class PointsMallOrderAdapter {
......@@ -233,10 +231,31 @@ public class PointsMallOrderAdapter {
}
requestDto.setProducts(productBeans);
requestDto.setBody(payProductName);
requestDto.setSubAppid(orderInfo.getAppId());
requestDto.setPayTypeCode(convertPayTypeCode(orderInfo.getOrderClient().toString()));
return requestDto;
}
/**
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
public String convertPayTypeCode(String orderClient) {
String payTypeCode = "";
switch (orderClient) {
case "2":
payTypeCode = "TWX";
break;
case "3":
payTypeCode = "TZFB";
break;
default:
break;
}
return payTypeCode;
}
/**
* 预支付接口获取类型
*
* @return
......
......@@ -43,4 +43,13 @@ public class UnifiedOrderRequestDto {
private String payTimeOutTime;
private Long merchantDiscount;
/**
* 小程序appid
*/
private String subAppid;
/**
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
private String payTypeCode;
}
......@@ -63,6 +63,7 @@ import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddress
import com.freemud.application.sdk.api.membercenter.service.MemberCenterService;
import com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp;
......@@ -1548,10 +1549,31 @@ public class CheckOrder {
}
requestDto.setProducts(productBeans);
requestDto.setBody(payProductName);
requestDto.setSubAppid(orderInfo.getAppId());
//支付类型编码 TWX:微信 TZFB:支付宝
requestDto.setPayTypeCode(convertPayTypeCode(orderInfo.getOrderClient().toString()));
return requestDto;
}
/**
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
public String convertPayTypeCode(String orderClient) {
String payTypeCode = "";
switch (orderClient) {
case "2":
payTypeCode = "TWX";
break;
case "3":
payTypeCode = "TZFB";
break;
default:
break;
}
return payTypeCode;
}
/**
* 预支付接口获取类型
* @return
*/
......
......@@ -1285,7 +1285,8 @@ public class PayServiceImpl {
}
orderPayDto.setFoodOrderType(orderAdapter.getFoodOrderType(orderBean.getOrderType()));
// orderPayDto.setMerchantDiscount(orderBean.getOriginalAmount().longValue()-orderBean.getAmount());
orderPayDto.setSubAppid(orderBean.getAppId());
orderPayDto.setPayTypeCode(convertPayTypeCode(orderBean.getOrderClient()));
return orderPayDto;
}
......@@ -1644,4 +1645,22 @@ public class PayServiceImpl {
return orderPayResponse;
}
/**
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
public String convertPayTypeCode(String orderClient) {
String payTypeCode = "";
switch (orderClient) {
case "2":
payTypeCode = "TWX";
break;
case "3":
payTypeCode = "TZFB";
break;
default:
break;
}
return payTypeCode;
}
}
......@@ -472,7 +472,8 @@ public class CalculationCommonService {
}
//设置行优惠
List<ActivityDiscountsDto> activityDiscountsDtoList = new ArrayList<>();
if (calculationGoods != null && CollectionUtils.isNotEmpty(calculationGoods.getDiscounts())) {
if (null != calculationGoods) {
if (CollectionUtils.isNotEmpty(calculationGoods.getDiscounts())){
for (GoodsDiscount discount : calculationGoods.getDiscounts()) {
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
activityDiscountsDto.setActivityCode(discount.getActivityCode());
......@@ -482,6 +483,28 @@ public class CalculationCommonService {
activityDiscountsDto.setActualActivityGoodsNumber(discount.getActualGoodsNumber());
activityDiscountsDtoList.add(activityDiscountsDto);
}
} else if (CollectionUtils.isNotEmpty(calculationGoods.getSmallMaterial())) {
// fix 若套餐无固定搭配, 促销返回的均摊在父商品上是空的,这时需要把子商品的优惠放到父商品里
Map<Integer, ActivityDiscountsDto> map = new HashMap<>();
calculationGoods.getSmallMaterial().forEach(sm -> {
if (CollectionUtils.isNotEmpty(sm.getDiscounts())) {
sm.getDiscounts().forEach(discount -> {
Integer type = this.convertType(discount.getType());
ActivityDiscountsDto dto = map.getOrDefault(type, new ActivityDiscountsDto());
dto.setActivityCode(discount.getActivityCode());
dto.setActivityName(this.convertName(discount.getType(), discount.getActivityName()));
dto.setActivityType(this.convertType(discount.getType()));
dto.setDiscountAmount(Optional.ofNullable(dto.getDiscountAmount()).orElse(0) + discount.getDiscount().intValue());
dto.setActualActivityGoodsNumber(Optional.ofNullable(dto.getActualActivityGoodsNumber()).orElse(0) + discount.getActualGoodsNumber());
map.put(type, dto);
});
}
});
//存到商品优惠里
map.forEach((type, dto) -> {
activityDiscountsDtoList.add(dto);
});
}
}
cartGoodsDetailDto.setActivityDiscountsDtos(activityDiscountsDtoList);
......
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