|
|
@@ -443,11 +443,14 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
|
|
|
*/
|
|
|
public void handleWxSurePaymentTypeOrderPayCallSuccess(WeChatMiniAppPayRet ret) {
|
|
|
String orderNo = ret.getOutTradeNo();
|
|
|
+
|
|
|
+ String status = "";
|
|
|
ExpenseFlow expenseFlow = expenseFlowDao.findTopByPaymentNo(orderNo);
|
|
|
if (ObjectUtils.isNotEmpty(expenseFlow)) {
|
|
|
// 支付结果状态
|
|
|
switch (ret.getTradeState()) {
|
|
|
case "SUCCESS" -> {
|
|
|
+ status = RechargeOrderStatus.Success.name();
|
|
|
log.info("收到的消息Success:{}", JsonUtil.toJson(ret));
|
|
|
expenseFlow.setOrderState(OrderState.HAVE_PAID);
|
|
|
expenseFlow.setPayRemark(ret.getTradeStateDesc());
|
|
|
@@ -466,26 +469,16 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
|
|
|
expenseFlow.setPayRemark(String.format("调用支付中心失败: {}", content.getMsg()));
|
|
|
}
|
|
|
expenseFlowDao.save(expenseFlow);
|
|
|
-
|
|
|
- // 发送消息
|
|
|
- SendMessageModel sendMessageModel = new SendMessageModel();
|
|
|
- sendMessageModel.setMessage(JsonUtil.toJson(Map.of("status", RechargeOrderStatus.Success.name(),
|
|
|
- "orderNo", expenseFlow.getPaymentNo())));
|
|
|
-
|
|
|
- String userId = expenseFlow.getUserId();
|
|
|
- String topic = String.format("/wechat/pay/%s", userId);
|
|
|
- sendMessageModel.setTopic(topic);
|
|
|
- sendMessageModel.setUserId(userId);
|
|
|
- log.info("mq topic : {}", topic);
|
|
|
- mqttService.sendMessage(sendMessageModel);
|
|
|
}
|
|
|
case "PAYERROR", "REFUND" -> {
|
|
|
+ status = RechargeOrderStatus.Fail.name();
|
|
|
expenseFlow.setOrderState(OrderState.PAID_ERROR);
|
|
|
expenseFlow.setPayRemark(ret.getTradeStateDesc());
|
|
|
expenseFlow.setIsPaySuccess(Boolean.FALSE);
|
|
|
expenseFlowDao.save(expenseFlow);
|
|
|
}
|
|
|
case "CLOSED" -> {
|
|
|
+ status = RechargeOrderStatus.Cancel.name();
|
|
|
expenseFlow.setOrderState(OrderState.CLOSED);
|
|
|
expenseFlow.setPayRemark(ret.getTradeStateDesc());
|
|
|
expenseFlow.setIsPaySuccess(Boolean.FALSE);
|
|
|
@@ -495,6 +488,17 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
|
|
|
} else {
|
|
|
log.error("wxSurePaymentTypeOrderPayCallSuccess 订单为空: {}", orderNo);
|
|
|
}
|
|
|
+
|
|
|
+ // 发送消息
|
|
|
+ SendMessageModel sendMessageModel = new SendMessageModel();
|
|
|
+ sendMessageModel.setMessage(JsonUtil.toJson(Map.of("status", status,
|
|
|
+ "paymentNo", expenseFlow.getPaymentNo())));
|
|
|
+ String userId = expenseFlow.getUserId();
|
|
|
+ String topic = String.format("/wechat/pay/%s", userId);
|
|
|
+ sendMessageModel.setTopic(topic);
|
|
|
+ sendMessageModel.setUserId(userId);
|
|
|
+ log.info("mq topic : {}", topic);
|
|
|
+ mqttService.sendMessage(sendMessageModel);
|
|
|
}
|
|
|
|
|
|
/**
|