Commit 10eb9ecc by xiaoer.li@freemud.com

Merge branch 'feature/2020-1104-混合支付' into develop

# Conflicts:
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents 3ed021c5 8875579c
......@@ -164,6 +164,7 @@ public class BaseCreateOrderRequest extends BaseConfig {
private String region;
private Byte payChannelType;
/**
* 收货地址Id
*/
......@@ -174,7 +175,6 @@ public class BaseCreateOrderRequest extends BaseConfig {
*/
private Byte marketingType;
private List<OrderPayItemCreateReq> orderPayItemCreateReqList;
@Data
public static class DeliveryTypeInfo {
/**
......
......@@ -342,9 +342,6 @@ public class OrderAdapter {
createOrderDto.setActivityUpdateStockRequest(activityUpdateStockRequest);
createOrderDto.setPayChannelType(createOrderVo.getPayChannelType());
createOrderDto.setPayChannelType(createOrderVo.getPayChannelType());
createOrderDto.setOrderPayItemCreateReqList(createOrderVo.getOrderPayItemCreateReqList());
createOrderDto.setOrderPayItemCreateReqList(createOrderVo.getOrderPayItemCreateReqList());
// createOrderDto.setOtherInfo(getOrderOtherInfo(shoppingCartGoodsDto));
return createOrderDto;
}
......@@ -656,12 +653,33 @@ public class OrderAdapter {
// createOrderDto.setPayChannel("10102");
// createOrderDto.setPayChannelName("储值卡支付");
// }
//电子风味卡
if (Objects.nonNull(createOrderVo.getUnionPayCard())) {
createOrderDto.setPayChannel(PayChannel.USVCP.getCode());
createOrderDto.setPayChannelName(PayChannel.USVCP.getDesc());
} else{
}
//混合支付
else if (PayChannelType.COMB.getIndex().equals(createOrderVo.getPayChannelType())) {
createOrderDto.setPayChannel(PayChannelType.COMB.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.COMB.getName());
}
else if (PayChannelType.WECHAT.getIndex().equals(createOrderVo.getPayChannelType())) {
createOrderDto.setPayChannel(PayChannelType.WECHAT.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.WECHAT.getName());
}
else if (PayChannelType.ALIPAY.getIndex().equals(createOrderVo.getPayChannelType())) {
createOrderDto.setPayChannel(PayChannelType.ALIPAY.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.ALIPAY.getName());
}
else if(StringUtils.isNotBlank(createOrderVo.getCardCode())){
createOrderDto.setPayChannel(PayChannelType.SVC.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.SVC.getName());
}
else{
createOrderDto.setPayChannel(getPayChannel4SharedOrder(Integer.valueOf(createOrderVo.getPayChannelType())));
createOrderDto.setPayChannelName(getPayChannelName(Integer.valueOf(createOrderVo.getPayChannelType())));
createOrderDto.setPayChannel(PayChannelType.USVCP.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.USVCP.getName());
}
createOrderDto.setSource(OrderSourceType.SAAS.getCode());
createOrderDto.setSourceName(OrderSourceType.SAAS.getDesc());
......@@ -3769,6 +3787,15 @@ public class OrderAdapter {
return deleteOrderDto;
}
public CombPayRequest convent2CombPayOrderRequest(String cardNo
, QueryOrdersResponse.DataBean.OrderBean orderBean
, PaymentRequest paymentRequest
, String partnerPayOvertime
, String orderClient
, String channel
, Integer totalAmount
, Integer svcAmount
, Integer svcVAmount) {
/**
* 初始化扣减活动库存请求对象
* add by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
......@@ -3827,10 +3854,10 @@ public class OrderAdapter {
CombPayRequest orderPayDto = new CombPayRequest();
orderPayDto.setEbCode(paymentRequest.getPayCode());
orderPayDto.setPartner_id(createPrepayRequestDto.getPartnerId());
orderPayDto.setPartner_id(orderBean.getCompanyId());
orderPayDto.setBody(paymentRequest.getPrincipalName());
orderPayDto.setNotify_url(paymentRequest.getReverseNotifyiDcUrl());
orderPayDto.setStore_id(createPrepayRequestDto.getStoreId());
orderPayDto.setStore_id(orderBean.getShopId());
orderPayDto.setOpen_id(paymentRequest.getOpenId());
String businessDate = com.freemud.application.sdk.api.util.DateUtil.convert2String(new Date(), "yyyyMMdd");
orderPayDto.setBusiness_date(businessDate);
......
......@@ -73,15 +73,6 @@ public class CreatePrepayRequestDto {
* 使用电子风味卡
*/
private CreateOrderVo.UnionPayCard unionPayCard;
private List<OrderPayItemCreateReq> orderPayItemCreateReqList;
/**
* svc支付金额
*/
private BigDecimal svcAmount;
/**
* 现金支付金额
*/
private BigDecimal cashAmount;
private String storeId;
private String channel;
}
......@@ -285,19 +285,6 @@ public class CreateOrderVo {
*/
private String code;
}
/**
* 混合支付
*/
private List<OrderPayItemCreateReq> orderPayItemCreateReqList = new ArrayList<>();
/**
* svc支付金额
*/
private BigDecimal svcAmount;
/**
* 现金支付金额
*/
private BigDecimal cashAmount;
/**
* 电子风味卡
*/
......
......@@ -54,12 +54,14 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import lombok.extern.log4j.Log4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import sun.rmi.runtime.Log;
import java.awt.geom.Point2D;
import java.math.BigDecimal;
......@@ -69,6 +71,7 @@ import java.util.*;
import java.util.stream.Collectors;
@Component
@Log4j
public class CheckOrder {
// 配送费逻辑是否使用旧的
......@@ -792,44 +795,4 @@ public class CheckOrder {
// throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS);
// }
}
/**
* 混合支付
* @param createOrderVo
* @param shoppingCartGoodsDto
* @param trackingNo
* @return
*/
public boolean checkSvcPay(CreateOrderVo createOrderVo,ShoppingCartGoodsDto shoppingCartGoodsDto,String trackingNo) {
if (StringUtils.isBlank(createOrderVo.getCardCode())) {
return false;
}
SVCCardAmountRequest request = new SVCCardAmountRequest();
request.setPartnerId(createOrderVo.getPartnerId());
request.setCardCodes(Arrays.asList(createOrderVo.getCardCode()));
BaseResponse<SVCCardAmountResponse> svcCardAmount = paymentNewService.querySVCCardAmount(request, trackingNo);
if (svcCardAmount==null || svcCardAmount.getData()==null ||!ResponseResult.SUCCESS.getCode().equals(svcCardAmount.getCode())) {
throw new ServiceException(ResponseResult.USER_SVC_CARD_ERROR);
}
Integer svcAmount = 0 ;
Integer svcVAmount = 0 ;
Long totalVAmount = shoppingCartGoodsDto.getTotalAmount();
if (svcCardAmount.getData().getData().getCardSimpleInfos().size()>0) {
svcAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getAmount();
svcVAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getVamount();
//todo : svc卡的金额小于订单金额
if(svcAmount + svcVAmount >0 && totalVAmount> svcAmount + svcVAmount){
BigDecimal total = new BigDecimal(totalVAmount);
BigDecimal svcAmounts = new BigDecimal(svcAmount + svcVAmount);
BigDecimal cashAmout = total.subtract(svcAmounts);
createOrderVo.setOrderPayItemCreateReqList(orderAdapter.setOrderPayItem(cashAmout,svcAmounts,Byte.parseByte(createOrderVo.getChannel())));
createOrderVo.setPayChannelType(PayChannelType.COMB.getIndex());
createOrderVo.setCashAmount(cashAmout);
createOrderVo.setSvcAmount(svcAmounts);
return true;
}
}
return false;
}
}
......@@ -209,7 +209,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
try {
ConfirmOrderDto confirmOrderDto = orderAdapter.convent2ConfirmOrderDto(message);
// 蜜雪+混合支付专用:通过交易号从缓存中拿订单号,如果有数据则实际订单号为其value值
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(confirmOrderDto.getOrderId()));
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(message.getTrans_id()));
if (StringUtils.isNotBlank(orderId)) {
log.info("从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}", LogTreadLocal.getTrackingNo(), confirmOrderDto.getOrderId(), orderId);
confirmOrderDto.setOrderId(orderId);
......
......@@ -330,7 +330,7 @@ public class OrderServiceImpl implements Orderservice {
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
Integer pushOrderTime = checkOrder.checkOrderByOrderType(createOrderVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo);
OrderExtInfoDto extInfo = getExtInfo(userLoginInfoDto, storeResponseDto, pushOrderTime, createOrderVo, shoppingCartGoodsDto);
boolean svcPay = checkOrder.checkSvcPay(createOrderVo, shoppingCartGoodsDto, trackingNo);
//1.9.2套餐需求同步优化创建订单代码
BaseResponse createOrderOperateDtoResponse = this.sdkCreateOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto);
if(createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null ) {
......@@ -339,15 +339,9 @@ public class OrderServiceImpl implements Orderservice {
CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto)createOrderOperateDtoResponse.getResult();
//创建支付
CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(userLoginInfoDto, createOrderVo, createOrderOperateDto, extInfo);
if (svcPay) {
return this.createCombpayOrder(createPrepayRequestDto);
}
else {
return this.createPrepayOrder(createPrepayRequestDto);
}
}
/**
* 扫脸支付下单
*/
......@@ -2336,9 +2330,10 @@ public class OrderServiceImpl implements Orderservice {
} else if (totalAmount > 0 && StringUtils.isBlank(cardCode)) {
String partnerPayOvertime = this.getPartnerPayOvertime(createPrepayRequestDto.getPartnerId());
orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getCardAmount(), transId, partnerPayOvertime, createPrepayRequestDto.getOrderExtInfoDTO());
} else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
//svc卡支付
orderPayResponse = svcPay(cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, LogThreadLocal.getTrackingNo());
}
//混合支付+svc卡
else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
orderPayResponse = switchSvcOrComb(totalAmount,cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel(),createPrepayRequestDto.getStoreId(),LogThreadLocal.getTrackingNo());
} else {
// 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
......@@ -2384,6 +2379,51 @@ public class OrderServiceImpl implements Orderservice {
}
}
private OrderPayResponse switchSvcOrComb(Long totalAmount
, String cardCode
, QueryOrdersResponse.DataBean.OrderBean orderBean
, PaymentRequest paymentRequest
, String transId
, String channel
, String storeId
, String trackingNo) {
OrderPayResponse orderPayResponse = new OrderPayResponse();
SVCCardAmountRequest svcRequest = new SVCCardAmountRequest();
svcRequest.setPartnerId(orderBean.getCompanyId());
svcRequest.setCardCodes(Arrays.asList(cardCode));
//查询svc卡余额
com.freemud.application.sdk.api.base.BaseResponse<SVCCardAmountResponse> svcCardAmount = paymentNewService.querySVCCardAmount(svcRequest, trackingNo);
if (svcCardAmount == null
|| !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(svcCardAmount.getCode())
|| svcCardAmount.getData().getData() == null
|| CollectionUtils.isEmpty(svcCardAmount.getData().getData().getCardSimpleInfos())) {
orderPayResponse.setMsg(Objects.isNull(svcCardAmount) ? "获取svc卡余额异常" : svcCardAmount.getMessage());
return orderPayResponse;
}
// 校验金额
Integer svcAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getAmount() ;
Integer svcVAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getVamount() ;
boolean tigger = false;
//todo : svc卡的金额小于订单金额
if(svcAmount + svcVAmount >0 && totalAmount> svcAmount + svcVAmount){
tigger = true;
}
//混合支付
if (tigger) {
log.info("混合支付:");
String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId());
orderPayResponse = comPayOrder(cardCode,orderBean,paymentRequest,partnerPayOvertime,totalAmount.intValue(), svcAmount,svcVAmount,channel,storeId,LogThreadLocal.getTrackingNo());
}
//svc 支付
else {
log.info("svc卡支付");
orderPayResponse = svcPay(cardCode, orderBean, paymentRequest, transId, trackingNo);
}
return orderPayResponse;
}
/**
* unionPay card pay
* @param orderBean
......@@ -2707,9 +2747,7 @@ public class OrderServiceImpl implements Orderservice {
JSONObject.toJSONString(orderExtInfo));
orderEditRequest.setOrderId(orderBean.getOid());
orderEditRequest.setTrackingNo(trackingNo);
/**
* 混合支付项
*/
//混合支付项
if (CollectionUtils.isNotEmpty(orderPayResponse.getPayItem())) {
orderEditRequest.setOrderPayItem(orderPayResponse.getPayItem());
}
......@@ -3214,153 +3252,80 @@ public class OrderServiceImpl implements Orderservice {
}
/**
* 创建混合支付预支付
*/
public BaseResponse createCombpayOrder(CreatePrepayRequestDto createPrepayRequestDto) {
CreateOrderResponseVo createOrderResponse;
OrderPayResponse orderPayResponse = null;
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(createPrepayRequestDto.getOpenId()
, createPrepayRequestDto.getPartnerId()
, createPrepayRequestDto.getWxAppId()
, null);
long totalAmount = createPrepayRequestDto.getTotalAmount();
String cardCode = createPrepayRequestDto.getCardCode();
if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
}
String partnerPayOvertime = this.getPartnerPayOvertime(createPrepayRequestDto.getPartnerId());
orderPayResponse = comPayOrder(paymentRequest,createPrepayRequestDto,partnerPayOvertime,LogThreadLocal.getTrackingNo());
if (orderPayResponse == null || Objects.isNull(orderPayResponse.getFmId())) {
return failPreOrderPay(LogThreadLocal.getTrackingNo()
, createPrepayRequestDto.getProductOrderBean()
, cardCode
, createPrepayRequestDto.getOrderClient()
, Objects.isNull(orderPayResponse) ? null : orderPayResponse.getMsg());
}
createOrderResponse = orderAdapter.convent2CreateFatherSonOrderResponseVo(orderPayResponse, createPrepayRequestDto.getProductOrderBean());
BaseResponse baseEditResponse = this.updateOrderInfo(orderPayResponse, createPrepayRequestDto.getOrderExtInfoDTO(), createPrepayRequestDto.getProductOrderBean(), LogThreadLocal.getTrackingNo());
if (baseEditResponse != null) {
return baseEditResponse;
}
/*
if (totalAmount > 0 && StringUtils.isBlank(cardCode)) {
createOrderResponse.setPaySuccess(false);
} else {
createOrderResponse.setPaySuccess(true);
}
*/
createOrderResponse.setPaySuccess(false);
// 推荐优惠插件用户下单数据上报
if (!createOrderResponse.getPaySuccess()) {
return ResponseUtil.success(createOrderResponse);
} else {
//如果是商品券支付0元,调用回调接口
PaysuccessNoticeMessage message = new PaysuccessNoticeMessage();
message.setResult_code(100);
message.setOut_trade_no(createOrderResponse.getFmId());
message.setTrans_id(createOrderResponse.getOid());
message.setTotal_fee(0);
message.setOpenid(createPrepayRequestDto.getOpenId());
message.setPlatform_coupon(0);
message.setMerchant_coupon(0);
orderAdapterService.paySuccessCallback(message);
return ResponseUtil.success(createOrderResponse);
}
}
/**
* 创建混合支付
* @param orderBean
* @param paymentRequest
* @param createPrepayRequestDto
* @param partnerPayOvertime
* @param totalAmount
* @param svcAmount
* @param svcVAmount
* @param channel
* @param storeId
* @param trackingNo
* @return
*/
private OrderPayResponse comPayOrder(PaymentRequest paymentRequest
, CreatePrepayRequestDto createPrepayRequestDto
public OrderPayResponse comPayOrder(String cardNo
, QueryOrdersResponse.DataBean.OrderBean orderBean
, PaymentRequest paymentRequest
, String partnerPayOvertime
, Integer totalAmount
, Integer svcAmount
, Integer svcVAmount
, String channel
, String storeId
, String trackingNo) {
OrderPayResponse orderPayResponse = null;
CombPayResponse responseBase = null;
CombPayRequest combPayRequest = null;
CombPayResponse.PayPlatform payPlatform = null;
try {
String orderClient = this.getPayCodeByChanel(createPrepayRequestDto);
if (StringUtils.isBlank(orderClient)) {
orderPayResponse = new OrderPayResponse();
String ebCode = this.getPayCodeByChanel(paymentRequest.getWxAppId(), channel, storeId);
OrderPayResponse orderPayResponse = new OrderPayResponse();;
if (StringUtils.isBlank(ebCode)) {
orderPayResponse.setMsg("渠道码没有配置");
return orderPayResponse;
}
combPayRequest = orderAdapter.convent2CombPayOrderRequest(paymentRequest,createPrepayRequestDto,partnerPayOvertime,orderClient);
responseBase = comPayClient.combPay(combPayRequest,combPayRequest.getPartner_id());
if (!ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(responseBase.getCode())|| responseBase.getData().getPayPlatformResponseList().size()==0) {
log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}",trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(responseBase));
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg(responseBase.getMsg());
CombPayRequest combPayRequest = orderAdapter.convent2CombPayOrderRequest(cardNo, orderBean, paymentRequest, partnerPayOvertime, ebCode, channel, totalAmount, svcAmount, svcVAmount);
CombPayResponse combPayResponse = comPayClient.combPay(combPayRequest, combPayRequest.getPartner_id());
if (!ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(combPayResponse.getCode())|| combPayResponse.getData().getPayPlatformResponseList().size()==0) {
log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}",trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(combPayResponse));
orderPayResponse.setMsg(combPayResponse.getMsg());
return orderPayResponse;
}
else {
/**
* 生成预支付参数
*/
payPlatform = responseBase.getData().getPayPlatformResponseList()
//生成预支付参数
CombPayResponse.PayPlatform payPlatform = combPayResponse.getData().getPayPlatformResponseList()
.stream()
.filter(f -> !PayChannelType.SVC.getEbcode().equals(f.getEbCode())).findFirst()
.orElse(null);
if(payPlatform==null) {
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg("提取现金支付失败");
orderPayResponse.setMsg("支付:现金支付错误");
return orderPayResponse;
}
else {
orderPayResponse = orderAdapter.convent2OrderCombPayResponse(responseBase.getData().getPayPlatformResponseList(),createPrepayRequestDto.getPartnerId());
orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(),orderBean.getCompanyId());
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setPartnerId(createPrepayRequestDto.getPartnerId());
orderPayResponse.setOrderId(createPrepayRequestDto.getTransId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
//隐射关系
redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(createPrepayRequestDto.getTransId()),payPlatform.getTransId(),1L,TimeUnit.DAYS);
redisCache.save(RedisUtil.getPaymentTransIdOrderKey(payPlatform.getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS);
//加入轮训队列
putDelMq(createPrepayRequestDto.getPartnerId()
, createPrepayRequestDto.getStoreId()
, orderPayResponse.getFmId()
, createPrepayRequestDto.getTransId()
, PayChannelType.getByEbcode(payPlatform.getEbCode()).getIndex().intValue());
}
}
}
catch (Exception e) {
//TODO 邮件告警
LogUtil.error("comPay_error", JSONObject.toJSONString(responseBase), JSONObject.toJSONString(paymentRequest), e);
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg("comPay_error");
}
putDelMq(orderBean.getCompanyId(),storeId, orderPayResponse.getFmId(), orderBean.getOid(), PayChannelType.getByEbcode(payPlatform.getEbCode()).getIndex().intValue());
return orderPayResponse;
}
/**
* 通过payCode ->clientCode
* @param createPrepayRequestDto
* @param wxAppid
* @param channel
* @param storeId
* @return
*/
private String getPayCodeByChanel(CreatePrepayRequestDto createPrepayRequestDto) {
if (CollectionUtils.isEmpty(createPrepayRequestDto.getOrderPayItemCreateReqList())) return "";
OrderPayItemCreateReq payItem = createPrepayRequestDto.getOrderPayItemCreateReqList()
.stream()
.filter(d -> !d.getPayEbCode().equals(PayChannelType.SVC.getEbcode()))
.findFirst()
.orElse(null);
if (payItem == null) return "";
AssortmentOpenPlatformIappWxappStore wxAppStore = assortmentOpenPlatformIappWxappStoreManager.selectWxappStoreByWxAppIdAndStoreId(createPrepayRequestDto.getWxAppId()
, createPrepayRequestDto.getStoreId()
, payItem.getPayEbCode());
private String getPayCodeByChanel(String wxAppid,String channel,String storeId) {
if (StringUtils.isBlank(channel)) return "";
PayChannelType byIndex = PayChannelType.getByIndex(Byte.parseByte(channel));
if (byIndex.getEbcode() == null) return "";
AssortmentOpenPlatformIappWxappStore wxAppStore = assortmentOpenPlatformIappWxappStoreManager.selectWxappStoreByWxAppIdAndStoreId(wxAppid
, storeId
, byIndex.getEbcode());
if (StringUtils.isNotBlank(wxAppStore.getClientCode())) {
return wxAppStore.getClientCode();
}
......
......@@ -20,5 +20,10 @@ public class PayItem {
private String partnerId;
private String fmTradeNo;
private Integer payChannelType;
private Integer payChannelName;
private String transId;
private String orderPayItemCode;
private String outOrderNo;
private String platformTradeNo;
private String endTransTradeNo;
}
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