diff --git a/xdclass-common/src/main/java/net/jieyuu/enums/BizCodeEnum.java b/xdclass-common/src/main/java/net/jieyuu/enums/BizCodeEnum.java index 8af4ac4..e677121 100644 --- a/xdclass-common/src/main/java/net/jieyuu/enums/BizCodeEnum.java +++ b/xdclass-common/src/main/java/net/jieyuu/enums/BizCodeEnum.java @@ -95,7 +95,7 @@ public enum BizCodeEnum { PAY_ORDER_CALLBACK_SIGN_FAIL(300002, "支付订单回调验证签失败"), - PAY_ORDER_CALLBACK_NOT_SUCCESS(300003, "创建支付订单失败"), + PAY_ORDER_CALLBACK_NOT_SUCCESS(300003, "支付宝回调更新订单失败"), PAY_ORDER_NOT_EXIST(300005, "订单不存在"), diff --git a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java index da7fb94..81c8a90 100644 --- a/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java +++ b/xdclass-order-service/src/main/java/net/jieyuu/service/impl/ProductOrderServiceImpl.java @@ -411,12 +411,28 @@ public class ProductOrderServiceImpl extends ServiceImpl paramsMap) { - return null; + public JsonData handlerOrderCallbackMsg(ProductOrderPayTypeEnum payType, Map paramsMap) { + + if (ProductOrderPayTypeEnum.ALIPAY.name().equalsIgnoreCase(payType.name())) {// 支付宝支付 + // 获取商户订单号 + String outTradeNo = paramsMap.get("out_trade_no"); + // 交易状态 + String tradeStatus = paramsMap.get("trade_status"); + + if ("TRADE_SUCCESS".equalsIgnoreCase(tradeStatus) || "TRADE_FINISHED".equalsIgnoreCase(tradeStatus)) { + // 更新订单状态 + productOrderMapper.updateOrderPayState(outTradeNo, ProductOrderStateEnum.PAY.name(), ProductOrderStateEnum.NEW.name()); + return JsonData.buildSuccess(); + } + } else if (ProductOrderPayTypeEnum.WECHAT.name().equalsIgnoreCase(payType.name())) {// 微信支付 todo + + } + + return JsonData.buildResult(BizCodeEnum.PAY_ORDER_CALLBACK_NOT_SUCCESS); } }