|
|
@@ -14,6 +14,7 @@ import com.zhongshu.card.server.core.service.payment.OrderNoInfoService;
|
|
|
import com.zhongshu.card.server.core.service.payment.PayCallService;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
@@ -38,24 +39,27 @@ public class ChinaumsSenselessPayStream extends StreamConsumer<ChinaSenselessPay
|
|
|
public void accept(ChinaSenselessPayRet chinaSenselessPayRet) {
|
|
|
log.info("****************收到银联支付/退款结果通知:{}", JsonUtil.toJson(chinaSenselessPayRet));
|
|
|
|
|
|
- OrderNoType orderNoType = orderNoInfoService.getOrderNoType(chinaSenselessPayRet.getMchntOrderId());
|
|
|
+
|
|
|
|
|
|
String srcReserveStr = chinaSenselessPayRet.getSrcReverse();
|
|
|
ChinaumsSenselessSrcReserve srcReserve = JsonUtil.toObject(srcReserveStr, ChinaumsSenselessSrcReserve.class);
|
|
|
+ String merOrderId = srcReserve.getOrderNo();
|
|
|
+ OrderNoType orderNoType = orderNoInfoService.getOrderNoType(merOrderId);
|
|
|
+
|
|
|
if (orderNoType.equals(OrderNoType.Pay)){
|
|
|
ResultContent<List<TransactionLogModel>> listResultContent = chinaumsSenselessPayService.handlePay(srcReserve.getProjectOid(),
|
|
|
srcReserve.getOid(),
|
|
|
srcReserve.getUserId(),
|
|
|
new BigDecimal(chinaSenselessPayRet.getTotalAmount()),
|
|
|
- chinaSenselessPayRet.getMchntOrderId(), null);
|
|
|
- payCallService.unionFrictionlessPayFinish(chinaSenselessPayRet.getMchntOrderId(), listResultContent, chinaSenselessPayRet.getStatus());
|
|
|
+ merOrderId, null);
|
|
|
+ payCallService.unionFrictionlessPayFinish(merOrderId, listResultContent, chinaSenselessPayRet.getStatus());
|
|
|
}else if (orderNoType.equals(OrderNoType.Refund)){
|
|
|
ResultContent<List<TransactionLogModel>> listResultContent = chinaumsSenselessPayService.handleRefund(srcReserve.getProjectOid(),
|
|
|
srcReserve.getOid(),
|
|
|
srcReserve.getUserId(),
|
|
|
new BigDecimal(chinaSenselessPayRet.getTotalAmount()),
|
|
|
- chinaSenselessPayRet.getMchntOrderId(), null);
|
|
|
- payCallService.unionFrictionlessPayRefundFinish(chinaSenselessPayRet.getMchntOrderId(), listResultContent, chinaSenselessPayRet.getStatus());
|
|
|
+ merOrderId, null);
|
|
|
+ payCallService.unionFrictionlessPayRefundFinish(merOrderId, listResultContent, chinaSenselessPayRet.getStatus());
|
|
|
}else {
|
|
|
log.info("未知的订单类型");
|
|
|
}
|