再次查询充值
This commit is contained in:
parent
1c958696d9
commit
f25aabd615
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.bonus.canteen.core.pay.constants;
|
||||||
|
|
||||||
|
public enum AliPayTradeStatusEnum {
|
||||||
|
REQUEST_CODE_SUCCESS("10000", "请求成功"),
|
||||||
|
BUSINESS_CODE_INPROCESS("10003", "支付中"),
|
||||||
|
BUSINESS_CODE_FAIL("40004", "业务处理失败"),
|
||||||
|
BUSINESS_CODE_EXCEPTION("20000", "未知异常"),
|
||||||
|
BUSINESS_STATUS_SUCCESS("ACQ.TRADE_HAS_SUCCESS", "交易已被支付"),
|
||||||
|
TRADE_STATUS_CLOSED("TRADE_CLOSED", "交易关闭"),
|
||||||
|
TRADE_STATUS_FINISHED("TRADE_FINISHED", "交易完结"),
|
||||||
|
TRADE_STATUS_SUCCESS("TRADE_SUCCESS", "支付成功"),
|
||||||
|
TRADE_STATUS_WAIT("WAIT_BUYER_PAY", "交易创建"),
|
||||||
|
TRADE_STATUS_CANCEL_CLOSE("close", "交易关闭,无退款"),
|
||||||
|
TRADE_STATUS_CANCEL_REFUND("refund", "交易关闭,有退款"),
|
||||||
|
TRADE_STATUS_REFUND_SUCC("Y", "退款成功");
|
||||||
|
|
||||||
|
private final String key;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
private AliPayTradeStatusEnum(String key, String desc) {
|
||||||
|
this.key = key;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKey() {
|
||||||
|
return this.key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alipay.api.AlipayApiException;
|
||||||
import com.alipay.api.internal.util.AlipaySignature;
|
import com.alipay.api.internal.util.AlipaySignature;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeStateEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeStateEnum;
|
||||||
import com.bonus.canteen.core.account.service.IAccTradeService;
|
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||||
|
import com.bonus.canteen.core.pay.constants.AliPayTradeStatusEnum;
|
||||||
import com.bonus.canteen.core.pay.constants.PayStateEnum;
|
import com.bonus.canteen.core.pay.constants.PayStateEnum;
|
||||||
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
|
||||||
import com.bonus.canteen.core.pay.util.AlipayConfig;
|
import com.bonus.canteen.core.pay.util.AlipayConfig;
|
||||||
|
|
@ -58,7 +59,7 @@ public class NotifyCotroller {
|
||||||
String third_trade_no = request.getParameter("trade_no");
|
String third_trade_no = request.getParameter("trade_no");
|
||||||
//交易状态
|
//交易状态
|
||||||
String trade_status = request.getParameter("trade_status");
|
String trade_status = request.getParameter("trade_status");
|
||||||
if ("TRADE_FINISHED".equals(trade_status)) {
|
if (AliPayTradeStatusEnum.TRADE_STATUS_FINISHED.getKey().equals(trade_status)) {
|
||||||
//判断该笔订单是否已经做过处理
|
//判断该笔订单是否已经做过处理
|
||||||
//如果没做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情,判断金额是否等于 total_amount,并执行商户的业务程序
|
//如果没做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情,判断金额是否等于 total_amount,并执行商户的业务程序
|
||||||
//如果做过处理,不执行商户的业务程序
|
//如果做过处理,不执行商户的业务程序
|
||||||
|
|
@ -70,7 +71,7 @@ public class NotifyCotroller {
|
||||||
updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue());
|
updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue());
|
||||||
updateTrade.setFailReason(trade_status);
|
updateTrade.setFailReason(trade_status);
|
||||||
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
|
||||||
} else if ("TRADE_SUCCESS".equals(trade_status)) {
|
} else if (AliPayTradeStatusEnum.TRADE_STATUS_SUCCESS.getKey().equals(trade_status)) {
|
||||||
//判断该笔订单是否已经做过处理
|
//判断该笔订单是否已经做过处理
|
||||||
//如果没做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情,判断金额是否等于 total_amount,并执行商户的业务程序
|
//如果没做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情,判断金额是否等于 total_amount,并执行商户的业务程序
|
||||||
//如果做过处理,不执行商户的业务程序
|
//如果做过处理,不执行商户的业务程序
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import com.alipay.api.response.AlipayTradeQueryResponse;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeStateEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeStateEnum;
|
||||||
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
import com.bonus.canteen.core.account.constants.AccTradeTypeEnum;
|
||||||
import com.bonus.canteen.core.account.service.IAccTradeService;
|
import com.bonus.canteen.core.account.service.IAccTradeService;
|
||||||
|
import com.bonus.canteen.core.pay.constants.AliPayTradeStatusEnum;
|
||||||
import com.bonus.canteen.core.pay.constants.PayStateEnum;
|
import com.bonus.canteen.core.pay.constants.PayStateEnum;
|
||||||
import com.bonus.canteen.core.pay.constants.PayTypeEnum;
|
import com.bonus.canteen.core.pay.constants.PayTypeEnum;
|
||||||
import com.bonus.canteen.core.pay.util.AlipayConfig;
|
import com.bonus.canteen.core.pay.util.AlipayConfig;
|
||||||
|
|
@ -97,7 +98,8 @@ public class PayController {
|
||||||
// 根据结果处理充值记录,成功的话,存入钱包
|
// 根据结果处理充值记录,成功的话,存入钱包
|
||||||
String trade_status = response.getTradeStatus();
|
String trade_status = response.getTradeStatus();
|
||||||
String third_trade_no = response.getTradeNo();
|
String third_trade_no = response.getTradeNo();
|
||||||
if ("TRADE_FINISHED".equals(trade_status) || "TRADE_SUCCESS".equals(trade_status)) {
|
if (AliPayTradeStatusEnum.TRADE_STATUS_FINISHED.getKey().equals(trade_status) ||
|
||||||
|
AliPayTradeStatusEnum.TRADE_STATUS_SUCCESS.getKey().equals(trade_status)) {
|
||||||
AccTradeVo updateTrade = new AccTradeVo();
|
AccTradeVo updateTrade = new AccTradeVo();
|
||||||
updateTrade.setOrderNo(accTradeVo.getOrderNo());
|
updateTrade.setOrderNo(accTradeVo.getOrderNo());
|
||||||
updateTrade.setThirdTradeNo(third_trade_no);
|
updateTrade.setThirdTradeNo(third_trade_no);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue