This commit is contained in:
kuang.yifei@iwhalecloud.com 2022-07-21 14:12:12 +08:00
commit 999ab95487
3 changed files with 13 additions and 15 deletions

View File

@ -46,10 +46,10 @@ public interface FinancialMasterService {
/**
* 支付成功
*
* @param orderNo 订单号
* @param payChannel 支付渠道
* @param orderMasterCode 订单号
* @param payChannel 支付渠道
*/
void paySucceeded(String orderNo, String payChannel);
void paySucceeded(String orderMasterCode, String payChannel);
/**
* 创建主财务单CODE

View File

@ -74,15 +74,13 @@ public class FinancialMasterServiceImpl implements FinancialMasterService {
}
@Override
public void paySucceeded(String orderNo, String payChannel) {
public void paySucceeded(String orderMasterCode, String payChannel) {
try {
if(orderNo.contains("_")){
orderNo = orderNo.split("_")[0];
}
financialMasterMapper.paySucceeded(orderNo, PayTypeEnum.valueOf(payChannel.toUpperCase()).getCode());
financialMasterMapper.updateOrderStatus(orderNo, PayStatus.PAID.getCode());
financialMasterMapper.paySucceeded(orderMasterCode, PayTypeEnum.valueOf(payChannel.toUpperCase()).getCode());
financialMasterMapper.updateOrderStatus(orderMasterCode, PayStatus.PAID.getCode());
} catch (IllegalArgumentException e) {
logger.warn("OrderNo[{}] Unknown payChannel [{}]!", orderNo, payChannel);
logger.warn("OrderNo[{}] Unknown payChannel [{}]!", orderMasterCode, payChannel);
}
}

View File

@ -35,7 +35,7 @@ public class PayCallbackService implements CallBackService {
@Override
public void onCallback(Event event) {
logger.debug("pay callback is {}", event);
logger.info("pay callback is {}", event);
String data = event.getData();
PayCallback payment = JSON.parseObject(data, PayCallback.class);
Assert.hasText(payment.getOrderNo(), "orderNo is blank !!!");
@ -51,12 +51,12 @@ public class PayCallbackService implements CallBackService {
PaymentDTO param = new PaymentDTO();
param.setId(payment.getId());
param.setStatus(payment.getStatus());
param.setPayTime(payment.getPayTime());
param.setPayTime(System.currentTimeMillis());
financialMasterService.updatePayment(param);
if (AdapayStatusEnum.succeeded.code.equals(payment.getStatus())) {
// 修改主财务单状态
financialMasterService.paySucceeded(payment.getOrderNo(), payment.getPayChannel());
financialMasterService.paySucceeded(payment.getOrderNo().split("_")[0], payment.getPayChannel());
} else {
logger.warn("支付失败 : {}", payment);
}
@ -67,15 +67,15 @@ public class PayCallbackService implements CallBackService {
@Override
public void onResponse(JSONObject response) {
logger.info("支付结果: {}", response.toJSONString());
// 保存一条支付记录
PaymentDTO payment = response.toJavaObject(PaymentDTO.class);
String status = payment.getStatus();
payment.setStatus("pending");
financialMasterService.insertPayment(payment);
if (AdapayStatusEnum.succeeded.code.equals(status)) {
FinancialMaster update = new FinancialMaster();
update.setOrderMasterCode(payment.getOrderNo());
update.setOrderMasterCode(payment.getOrderNo().split("_")[0]);
update.setPaymentId(payment.getId());
financialMasterService.updateFinancialMaster(update);
} else {