Commit 0f9a084d3fcd3dbc44680b9b79798144027e9fc3

Authored by huanggang
1 parent 65ad34a1

refund result url issue fixed

cashier-trade/src/main/java/com/diligrp/cashier/trade/manager/PaymentResultManager.java
@@ -90,22 +90,20 @@ public class PaymentResultManager { @@ -90,22 +90,20 @@ public class PaymentResultManager {
90 } 90 }
91 } 91 }
92 } 92 }
93 - });  
94 -  
95 - if (ObjectUtils.isNotEmpty(uri)) {  
96 - return;  
97 - }  
98 93
99 - ThreadPoolService.getIoThreadPoll().submit(() -> {  
100 - try {  
101 - String payload = JsonUtils.toJsonString(refundResult);  
102 - LOG.info("Notifying online trade refund result: {}", payload);  
103 - ServiceEndpointSupport.HttpResult httpResult = new NotifyHttpClient(uri).send(payload);  
104 - if (httpResult.statusCode != 200) {  
105 - LOG.error("Failed to notify trade refund result");  
106 - }  
107 - } catch (Exception ex) {  
108 - LOG.error("Failed to notify trade refund result", ex); 94 + if (ObjectUtils.isNotEmpty(uri)) {
  95 + ThreadPoolService.getIoThreadPoll().submit(() -> {
  96 + try {
  97 + String payload = JsonUtils.toJsonString(refundResult);
  98 + LOG.info("Notifying online trade refund result: {}", payload);
  99 + ServiceEndpointSupport.HttpResult httpResult = new NotifyHttpClient(uri).send(payload);
  100 + if (httpResult.statusCode != 200) {
  101 + LOG.error("Failed to notify trade refund result");
  102 + }
  103 + } catch (Exception ex) {
  104 + LOG.error("Failed to notify trade refund result", ex);
  105 + }
  106 + });
109 } 107 }
110 }); 108 });
111 } 109 }
cashier-trade/src/main/java/com/diligrp/cashier/trade/service/impl/CashierPaymentServiceImpl.java
@@ -138,19 +138,13 @@ public class CashierPaymentServiceImpl implements ICashierPaymentService { @@ -138,19 +138,13 @@ public class CashierPaymentServiceImpl implements ICashierPaymentService {
138 if (pipeline instanceof OnlinePipeline<?> onlinePipeline) { // 在线支付通道 138 if (pipeline instanceof OnlinePipeline<?> onlinePipeline) { // 在线支付通道
139 // 在线支付通道: 不同的收银台类型使用不同的支付方式(目前只支持小程序收银台) 139 // 在线支付通道: 不同的收银台类型使用不同的支付方式(目前只支持小程序收银台)
140 // 小程序收银台将使用在线支付通道的小程序支付 140 // 小程序收银台将使用在线支付通道的小程序支付
141 -// MiniProPrepayRequest request = new MiniProPaymentConverter(trade, paymentId, now).convert(cashierPayment);  
142 -// MiniProPrepayResponse response = onlinePipeline.sendMiniProPrepayRequest(request);  
143 - long seconds = DateUtils.secondsDiff(trade.getCreatedTime(), now);  
144 - long timeout = Math.max(trade.getTimeout() - seconds, com.diligrp.cashier.pipeline.Constants.MIN_PIPELINE_TIMEOUT);  
145 - NativePrepayRequest request = new NativePrepayRequest(paymentId, trade.getMaxAmount(), trade.getGoods(),  
146 - trade.getDescription(), now, timeout);  
147 - NativePrepayResponse response = onlinePipeline.sendNativePrepayRequest(request);  
148 - 141 + MiniProPrepayRequest request = new MiniProPaymentConverter(trade, paymentId, now).convert(cashierPayment);
  142 + MiniProPrepayResponse response = onlinePipeline.sendMiniProPrepayRequest(request);
149 String outMchId = request.getString(com.diligrp.cashier.pipeline.Constants.PARAM_MCH_ID); 143 String outMchId = request.getString(com.diligrp.cashier.pipeline.Constants.PARAM_MCH_ID);
150 OnlinePayment payment = OnlinePayment.builder().outMchId(outMchId).tradeId(trade.getTradeId()) 144 OnlinePayment payment = OnlinePayment.builder().outMchId(outMchId).tradeId(trade.getTradeId())
151 .type(TradeType.TRADE).paymentId(paymentId).channelId(onlinePipeline.supportedChannel()) 145 .type(TradeType.TRADE).paymentId(paymentId).channelId(onlinePipeline.supportedChannel())
152 .payType(PaymentType.MINI_PRO).pipelineId(onlinePipeline.pipelineId()).goods(trade.getGoods()) 146 .payType(PaymentType.MINI_PRO).pipelineId(onlinePipeline.pipelineId()).goods(trade.getGoods())
153 - .amount(trade.getAmount()).payerId(null).outTradeNo(response.getOutTradeNo()) 147 + .amount(trade.getAmount()).payerId(request.getOpenId()).outTradeNo(response.getOutTradeNo())
154 .outPayType(OutPaymentType.NOP).finishTime(null).state(response.getState()) 148 .outPayType(OutPaymentType.NOP).finishTime(null).state(response.getState())
155 .notifyUrl(trade.getNotifyUrl()).description(null).version(0).createdTime(now).modifiedTime(now).build(); 149 .notifyUrl(trade.getNotifyUrl()).description(null).version(0).createdTime(now).modifiedTime(now).build();
156 onlinePaymentDao.insertOnlinePayment(payment); 150 onlinePaymentDao.insertOnlinePayment(payment);