解决重复订单号+支付状态的问题
This commit is contained in:
parent
87634c5375
commit
7eb41355fb
|
|
@ -44,10 +44,13 @@ public class AlipayController extends BaseController {
|
|||
if (om == null || fm == null) {
|
||||
return AjaxResult.error("订单不存在");
|
||||
}
|
||||
if (om.getPayStatus() == 1 || fm.getPayStatus() == 1) {
|
||||
return AjaxResult.error("订单已支付,不要重复付款!");
|
||||
}
|
||||
Map<String, Object> map;
|
||||
String payMoney = fm.getPayMoney().setScale(2, BigDecimal.ROUND_UNNECESSARY).toString();
|
||||
// TODO 这里需要补充商品标题和商品描述信息
|
||||
PayParam payParam = PayParam.createDelayPay(om.getCode(), payMoney, "商品标题", "商品描述信息");
|
||||
PayParam payParam = PayParam.createDelayPay(om.getCode() + "_" + System.currentTimeMillis(), "0.01", "商品标题", "商品描述信息");
|
||||
try {
|
||||
map = adapayService.alipayQrPay(om.getDeptId(), payParam, null, null, null);
|
||||
} catch (BaseAdaPayException e) {
|
||||
|
|
|
|||
|
|
@ -76,6 +76,9 @@ public class FinancialMasterServiceImpl implements FinancialMasterService {
|
|||
@Override
|
||||
public void paySucceeded(String orderNo, String payChannel) {
|
||||
try {
|
||||
if(orderNo.contains("_")){
|
||||
orderNo = orderNo.split("_")[0];
|
||||
}
|
||||
financialMasterMapper.paySucceeded(orderNo, PayTypeEnum.valueOf(payChannel.toUpperCase()).getCode());
|
||||
financialMasterMapper.updateOrderStatus(orderNo, PayStatus.PAID.getCode());
|
||||
} catch (IllegalArgumentException e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue