解决重复订单号+支付状态的问题

This commit is contained in:
kuang.yifei@iwhalecloud.com 2022-06-17 23:16:58 +08:00
parent 87634c5375
commit 7eb41355fb
2 changed files with 7 additions and 1 deletions

View File

@ -44,10 +44,13 @@ public class AlipayController extends BaseController {
if (om == null || fm == null) { if (om == null || fm == null) {
return AjaxResult.error("订单不存在"); return AjaxResult.error("订单不存在");
} }
if (om.getPayStatus() == 1 || fm.getPayStatus() == 1) {
return AjaxResult.error("订单已支付,不要重复付款!");
}
Map<String, Object> map; Map<String, Object> map;
String payMoney = fm.getPayMoney().setScale(2, BigDecimal.ROUND_UNNECESSARY).toString(); String payMoney = fm.getPayMoney().setScale(2, BigDecimal.ROUND_UNNECESSARY).toString();
// TODO 这里需要补充商品标题和商品描述信息 // TODO 这里需要补充商品标题和商品描述信息
PayParam payParam = PayParam.createDelayPay(om.getCode(), payMoney, "商品标题", "商品描述信息"); PayParam payParam = PayParam.createDelayPay(om.getCode() + "_" + System.currentTimeMillis(), "0.01", "商品标题", "商品描述信息");
try { try {
map = adapayService.alipayQrPay(om.getDeptId(), payParam, null, null, null); map = adapayService.alipayQrPay(om.getDeptId(), payParam, null, null, null);
} catch (BaseAdaPayException e) { } catch (BaseAdaPayException e) {

View File

@ -76,6 +76,9 @@ public class FinancialMasterServiceImpl implements FinancialMasterService {
@Override @Override
public void paySucceeded(String orderNo, String payChannel) { public void paySucceeded(String orderNo, String payChannel) {
try { try {
if(orderNo.contains("_")){
orderNo = orderNo.split("_")[0];
}
financialMasterMapper.paySucceeded(orderNo, PayTypeEnum.valueOf(payChannel.toUpperCase()).getCode()); financialMasterMapper.paySucceeded(orderNo, PayTypeEnum.valueOf(payChannel.toUpperCase()).getCode());
financialMasterMapper.updateOrderStatus(orderNo, PayStatus.PAID.getCode()); financialMasterMapper.updateOrderStatus(orderNo, PayStatus.PAID.getCode());
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {