Commit 058bcf16 by zhiheng.zhang

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

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents ff5cbd9b 74381499
......@@ -2833,6 +2833,7 @@ public class OrderAdapter {
orderPayResponse.setPartnerId(partnerId);
orderPayResponse.setOrderId(orderId);
orderPayResponse.setFmId(fmId);
orderPayResponse.setPayMode(PayChannelType.ZERO.getEbcode());
return orderPayResponse;
}
......@@ -3421,7 +3422,7 @@ public class OrderAdapter {
, null
, createOrderVo.getUnionPayCard()
, createOrderVo.getShopId()
, createOrderVo.getChannel()
, createOrderVo.getChannel()==null ? "" :createOrderVo.getChannel()
);
}
public CreatePrepayRequestDto convertToCreatePrepayRequestDto(String partnerId
......
......@@ -2366,7 +2366,7 @@ public class OrderServiceImpl implements Orderservice {
tigger = true;
}
//混合支付
if (tigger) {
if (tigger && StringUtils.isNotBlank(channel)) {
log.info("混合支付:");
String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId());
orderPayResponse = comPayOrder(cardCode,orderBean,paymentRequest,partnerPayOvertime,totalAmount.intValue(), svcAmount,svcVAmount,channel,storeId,LogThreadLocal.getTrackingNo());
......@@ -2424,6 +2424,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayMode(PayChannelType.USVCP.getEbcode());
}
return orderPayResponse;
}
......@@ -2486,7 +2487,7 @@ public class OrderServiceImpl implements Orderservice {
}
//svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) {
return ResponseUtil.error(ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getCode(), ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getMessage(), null);
return ResponseUtil.error(ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getCode(), StringUtils.isNotBlank(msg) ? msg : ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getMessage(), null);
}
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
}
......@@ -2525,15 +2526,21 @@ public class OrderServiceImpl implements Orderservice {
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = standardPaymentService.unifiedOrder(request, trackingNo);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
log.error("支付SDK返回信息错误,trackingNo:{} request:{} response:{}", trackingNo, JSONObject.toJSONString(request), JSONObject.toJSONString(responseBase));
return null;
}
// 1.9.34 预支付失败需要把原因进行记录
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg(responseBase.getMessage());
} else {
putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
OrderPayResponse orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
return orderPayResponse;
orderPayResponse.setPayMode(PayChannelType.WECHAT.getEbcode());
if (orderPayResponse.getPayOrder()!=null) {
orderPayResponse.setPayMode(PayChannelType.ALIPAY.getEbcode());
}
}
} catch (Exception e) {
LogUtil.error("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest));
//TODO 邮件告警
......@@ -2722,6 +2729,11 @@ public class OrderServiceImpl implements Orderservice {
JSONObject.toJSONString(orderExtInfo));
orderEditRequest.setOrderId(orderBean.getOid());
orderEditRequest.setTrackingNo(trackingNo);
if (orderPayResponse.getPayMode()!=null) {
orderEditRequest.setPayChannel(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getEbcode());
orderEditRequest.setPayChannelName(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getName());
orderEditRequest.setPayChannelType(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getIndex());
}
//混合支付项
if (CollectionUtils.isNotEmpty(orderPayResponse.getPayItem())) {
orderEditRequest.setOrderPayItem(orderPayResponse.getPayItem());
......
......@@ -11,7 +11,8 @@ public enum PayChannelType {
ALIPAY((byte)2,"10300","支付宝"),
SVC((byte)3,"10102","储值卡"),
COMB((byte)4,"10212","混合支付"),
USVCP((byte)5,"10556", "电子风味卡支付");
USVCP((byte)5,"10556", "电子风味卡支付"),
ZERO((byte)6,"100000", "0元支付");
private Byte index;
private String ebcode;
......
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