Commit fe0dd4a5 by 查志伟

混合支付成功回调添加更新储值卡支付信息

parent 1a63fc17
...@@ -8,13 +8,13 @@ import java.util.List; ...@@ -8,13 +8,13 @@ import java.util.List;
* 聚合查询返回 * 聚合查询返回
*/ */
@Data @Data
public class MultiQueryRespDto<T> { public class MultiQueryRespDto {
private int code; private int code;
private String msg; private String msg;
private T data; private Data data;
@lombok.Data @lombok.Data
public class Data { public class Data {
......
...@@ -94,8 +94,8 @@ import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderC ...@@ -94,8 +94,8 @@ import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderC
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp; import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import com.freemud.application.sdk.api.ordercenter.response.OrderCountResp; import com.freemud.application.sdk.api.ordercenter.response.OrderCountResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
...@@ -521,7 +521,38 @@ public class OrderServiceImpl implements Orderservice { ...@@ -521,7 +521,38 @@ public class OrderServiceImpl implements Orderservice {
} }
//若该订单使用了优惠券,则移除卡包,移除失败也不退款,现在支付成功个调用核销,无需调用此功能 //若该订单使用了优惠券,则移除卡包,移除失败也不退款,现在支付成功个调用核销,无需调用此功能
// couponActivityService.callbackNotify(orderBean); // couponActivityService.callbackNotify(orderBean);
// 订单失败后 发消息重试 待实现
try {
//美团POS需求,混合支付(现金+储值卡)时,储值卡的交易流水号在预支付时是没有的,导致订单里没有储值卡的流水号,这里查一下支付信息,将储值卡的流水号信息更新到订单信息里
List<OrderPayItemResp> payItem = orderBean.getOrderPayItem();
if (CollectionUtils.isNotEmpty(payItem) && payItem.size() > 1) {
MultiQueryRequest queryPay = new MultiQueryRequest();
queryPay.setPartnerId(Integer.valueOf(partnerId));
queryPay.setStoreId(storeId);
queryPay.setOutOrderNo(message.getOut_trade_no());
MultiQueryRespDto payResponse = comPayClient.paymentApplicationQuery(queryPay, Integer.valueOf(partnerId));
if (null != payResponse && null != payResponse.getData() && CollectionUtils.isNotEmpty(payResponse.getData().getQueryList())) {
List<MultiPaymentRespDto> payList = payResponse.getData().getQueryList();
// 和订单里的匹配
payList.forEach(pay -> {
payItem.forEach(item -> {
if (item.getTransId().equals(pay.getTransId())) {
item.setFmTradeNo(pay.getFmTradeNo());
item.setOutOrderNo(pay.getOutOrderNo());
}
});
});
// 更新订单信息
OrderEditRequest editReq = new OrderEditRequest(orderBean.getOid(), orderBean.getExtInfo());
editReq.setPayChannel(PayChannelType.COMB.getEbcode());
editReq.setPayChannelName(PayChannelType.COMB.getName());
editReq.setPayChannelType(PayChannelType.COMB.getIndex());
editReq.setOrderPayItem(payItem);
orderCenterSdkService.orderEdit(editReq);
}
}
} catch (Exception ignored) {} //这个异常catch住,不影响业务流程
String takeCode; String takeCode;
String daySeq; String daySeq;
PayAccessResponse payAccessResponse; PayAccessResponse payAccessResponse;
...@@ -662,7 +693,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -662,7 +693,6 @@ public class OrderServiceImpl implements Orderservice {
} }
//支付成功后 //支付成功后
// buriedPointService.paySuccessBuridPoint(partnerId, storeId, orderBean); // buriedPointService.paySuccessBuridPoint(partnerId, storeId, orderBean);
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
...@@ -3923,7 +3953,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3923,7 +3953,7 @@ public class OrderServiceImpl implements Orderservice {
request.setStoreId(orderBean.getShopId()); request.setStoreId(orderBean.getShopId());
request.setOutOrderNo(orderBean.getOid()); request.setOutOrderNo(orderBean.getOid());
//查询聚合支付结果 //查询聚合支付结果
MultiQueryRespDto<MultiQueryRespDto.Data> response = comPayClient.paymentApplicationQuery(request, partnerId); MultiQueryRespDto response = comPayClient.paymentApplicationQuery(request, partnerId);
if (response != null && response.getData() != null && Objects.equals(response.getCode(), MULITI_RESPONSE)) { if (response != null && response.getData() != null && Objects.equals(response.getCode(), MULITI_RESPONSE)) {
List<MultiPaymentRespDto> multiPaymentRespDtoArrayList = response.getData().getQueryList(); List<MultiPaymentRespDto> multiPaymentRespDtoArrayList = response.getData().getQueryList();
if (null != multiPaymentRespDtoArrayList && multiPaymentRespDtoArrayList.size() > 0) { if (null != multiPaymentRespDtoArrayList && multiPaymentRespDtoArrayList.size() > 0) {
......
...@@ -42,6 +42,6 @@ public interface ComPayClient { ...@@ -42,6 +42,6 @@ public interface ComPayClient {
*/ */
@LogIgnoreFeign(logMessage="paymentApplicationQuery",messageFieldName= ResponseCodeKeyConstant.MSG) @LogIgnoreFeign(logMessage="paymentApplicationQuery",messageFieldName= ResponseCodeKeyConstant.MSG)
@PostMapping("/payment/application/query") @PostMapping("/payment/application/query")
MultiQueryRespDto<MultiQueryRespDto.Data> paymentApplicationQuery(MultiQueryRequest multiQueryRequest, @RequestHeader("partnerId") Integer partnerId); MultiQueryRespDto paymentApplicationQuery(MultiQueryRequest multiQueryRequest, @RequestHeader("partnerId") Integer partnerId);
} }
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