修复一次支付发放两张会员卡的问题
This commit was merged in pull request #45.
This commit is contained in:
+7
-10
@@ -222,28 +222,25 @@ public class PaymentServiceImpl implements PaymentService {
|
||||
if ("00000000".equals(respCode)) {
|
||||
if ("S".equals(transStat)) {
|
||||
if (!"SUCCESS".equals(order.getPayStatus())) {
|
||||
log.info("[Huifu] 查询到支付成功,更新订单状态并触发业务处理, orderNo={}, orderType={}",
|
||||
order.getOrderNo(), order.getOrderType());
|
||||
log.info("[Huifu] 查询到支付成功,仅更新订单状态(业务处理由汇付异步回调触发), orderNo={}", order.getOrderNo());
|
||||
order.setPayStatus("SUCCESS");
|
||||
order.setHfSeqId(String.valueOf(response.getOrDefault("hf_seq_id", order.getHfSeqId())));
|
||||
order.setPayTime(LocalDateTime.now());
|
||||
return paymentOrderRepository.save(order)
|
||||
.flatMap(savedOrder -> {
|
||||
log.info("[Huifu] 订单状态已更新,开始触发业务处理, orderNo={}", savedOrder.getOrderNo());
|
||||
return paymentNotifyService.notifyPaymentStatus(savedOrder.getOrderNo(), "SUCCESS", memberId)
|
||||
.thenReturn(convertToResponse(savedOrder));
|
||||
.map(savedOrder -> {
|
||||
log.info("[Huifu] 订单状态已更新为SUCCESS, orderNo={}", savedOrder.getOrderNo());
|
||||
return convertToResponse(savedOrder);
|
||||
});
|
||||
} else {
|
||||
log.info("[Huifu] 订单已处理过,跳过业务处理, orderNo={}", order.getOrderNo());
|
||||
log.info("[Huifu] 订单已处理过,跳过, orderNo={}", order.getOrderNo());
|
||||
}
|
||||
} else if ("F".equals(transStat)) {
|
||||
if (!"FAIL".equals(order.getPayStatus())) {
|
||||
log.info("[Huifu] 查询到支付失败,更新订单状态, orderNo={}", order.getOrderNo());
|
||||
log.info("[Huifu] 查询到支付失败,仅更新订单状态, orderNo={}", order.getOrderNo());
|
||||
order.setPayStatus("FAIL");
|
||||
order.setErrorMsg(String.valueOf(response.getOrDefault("resp_desc", "支付失败")));
|
||||
return paymentOrderRepository.save(order)
|
||||
.flatMap(savedOrder -> paymentNotifyService.notifyPaymentStatus(savedOrder.getOrderNo(), "FAIL", memberId)
|
||||
.thenReturn(convertToResponse(savedOrder)));
|
||||
.map(savedOrder -> convertToResponse(savedOrder));
|
||||
}
|
||||
} else if ("P".equals(transStat)) {
|
||||
order.setPayStatus("PENDING");
|
||||
|
||||
Reference in New Issue
Block a user