Browse Source

feat : 订单取消修改

bilingfeng 2 years ago
parent
commit
e9133f4340

+ 2 - 2
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/PayApplicationServiceImpl.java

@@ -314,12 +314,12 @@ public class PayApplicationServiceImpl extends ServiceImpl<PayApplicationMapper,
             String returnCode = successMap.get("return_code");
             //成功, 返回结果
             if (Constants.SUCCESS.equalsIgnoreCase(returnCode) && returnCode.equals(resultCode)) {
-                log.error("微信支付关闭订单成功, out_trade_no:{}", paramMap.get("orderId"));
+                log.error("微信支付关闭订单成功, out_trade_no:{}", paramMap.get("out_trade_no"));
                 return;
             }
             log.error("微信支付关闭订单失败, paramData:{}, successMap : {}", JsonUtil.toString(paramData), JsonUtil.toString(successMap));
         } catch (Exception e) {
-            log.error("微信支付关闭订单异常, 订单号:{}, e : {}", paramMap.get("orderId"), e.getMessage());
+            log.error("微信支付关闭订单异常, 订单号:{}, e : {}", paramMap.get("out_trade_no"), e.getMessage());
         }
     }
 }

+ 8 - 4
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/AliPayService.java

@@ -94,9 +94,10 @@ public class AliPayService extends PayBaseService {
     private IPayApplicationService payApplicationService;
 
     @Override
-    public Map<String, Object> create(ProductPayParamBO product) {
-        this.attach = product.getAttach();
-        this.configInit(getPayConfig(product.getGameId(), product.getPayWay(), product.getPayDevice()));
+    public Map<String, Object> create(ProductPayParamBO product, GamePayWayDTO gamePayWayDTO) {
+//        this.attach = product.getAttach();
+        log.error("支付宝支付, attach : {}", JsonUtil.toString(this.attach));
+        this.configInit(gamePayWayDTO);
         //回调地址中拼接游戏具体支付方式
         this.returnUrl = this.returnUrlConfig + "?" + "gamePayWayId=" + attach.getGamePayWayId();
         this.notifyUrl = this.notifyUrlConfig + "?" + "gamePayWayId=" + attach.getGamePayWayId();
@@ -199,8 +200,11 @@ public class AliPayService extends PayBaseService {
 
     @Override
     public void closeOrder(PlatformOrderDTO platformOrderDTO) {
+        //支付配置
+        GamePayWayDTO gamePayWayDTO = gamePayWayService.getGamePayWay(platformOrderDTO.getGameId(),
+                platformOrderDTO.getPayWayId(), platformOrderDTO.getPayDeviceId());
         //初始化配置
-        this.configInit(getPayConfig(platformOrderDTO.getGameId(), platformOrderDTO.getPayWayId(), platformOrderDTO.getPayDeviceId()));
+        this.configInit(gamePayWayDTO);
         //取消订单
         AlipayTradeCloseResponse response;
         try {

+ 2 - 5
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/MiPayService.java

@@ -12,10 +12,7 @@ import com.zanxiang.mybatis.entity.Order;
 import com.zanxiang.sdk.constant.MiPayConstants;
 import com.zanxiang.sdk.constant.RedisKeyConstant;
 import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
-import com.zanxiang.sdk.domain.dto.GameAppletDTO;
-import com.zanxiang.sdk.domain.dto.MiPayConfigDTO;
-import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
-import com.zanxiang.sdk.domain.dto.UserDTO;
+import com.zanxiang.sdk.domain.dto.*;
 import com.zanxiang.sdk.service.IGameAppletService;
 import com.zanxiang.sdk.service.IOrderService;
 import com.zanxiang.sdk.service.IUserService;
@@ -67,7 +64,7 @@ public class MiPayService extends PayBaseService {
     private MiPayConfigDTO config;
 
     @Override
-    public Map<String, Object> create(ProductPayParamBO product) {
+    public Map<String, Object> create(ProductPayParamBO product, GamePayWayDTO gamePayWayDTO) {
         //查询订单
         PlatformOrderDTO orderInfo = orderService.getByOrderId(product.getOutTradeNo());
         if (Objects.isNull(orderInfo)) {

+ 3 - 17
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/PayBaseService.java

@@ -76,9 +76,9 @@ public abstract class PayBaseService {
             attachBO.setOrderId(product.getOutTradeNo());
             attachBO.setPayWay(product.getPayWay());
             attachBO.setGamePayWayId(gamePayWayDTO.getId());
-            product.setAttach(attachBO);
+//            product.setAttach(attachBO);
             this.attach = attachBO;
-            return this.create(product);
+            return this.create(product, gamePayWayDTO);
         } catch (Exception e) {
             log.info("订单支付参数生成异常, ProductPayParamBO : {} , e: {}", JsonUtil.toString(product), e);
             throw new BaseException("订单支付参数生成异常");
@@ -117,27 +117,13 @@ public abstract class PayBaseService {
         return Boolean.FALSE;
     }
 
-    /**
-     * 获取游戏支付配置
-     *
-     * @param gameId      游戏id
-     * @param payWayId    支付方式id
-     * @param payDeviceId 支付设备id
-     * @return {@link GamePayWayDTO}
-     */
-    public GamePayWayDTO getPayConfig(Long gameId, Long payWayId, Long payDeviceId) {
-        GamePayWayDTO gamePayWayDTO = gamePayWayService.getGamePayWay(gameId, payWayId, payDeviceId);
-        this.attach.setGamePayWayId(gamePayWayDTO.getId());
-        return gamePayWayDTO;
-    }
-
     /**
      * 支付调起
      *
      * @param product : 调起支付的参数
      * @return : 返回支付参数
      */
-    public abstract Map<String, Object> create(ProductPayParamBO product);
+    public abstract Map<String, Object> create(ProductPayParamBO product, GamePayWayDTO gamePayWayDTO);
 
     /**
      * 支付异步回调

+ 10 - 4
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/pay/WxPayService.java

@@ -102,10 +102,13 @@ public class WxPayService extends PayBaseService {
     private IOrderService orderService;
 
     @Override
-    public Map<String, Object> create(ProductPayParamBO product) {
-        this.attach = product.getAttach();
+    public Map<String, Object> create(ProductPayParamBO product, GamePayWayDTO gamePayWayDTO) {
+//        this.attach = product.getAttach();
+//        this.attach.setGamePayWayId(gamePayWayDTO.getId());
+
+        log.error("微信支付, attach : {}", JsonUtil.toString(this.attach));
         //初始化配置
-        this.configInit(getPayConfig(product.getGameId(), product.getPayWay(), product.getPayDevice()));
+        this.configInit(gamePayWayDTO);
         //支付方式
         int payDevice = product.getPayDevice().intValue();
         //不同的支付途径
@@ -275,8 +278,11 @@ public class WxPayService extends PayBaseService {
 
     @Override
     public void closeOrder(PlatformOrderDTO platformOrderDTO) {
+        //支付配置
+        GamePayWayDTO gamePayWayDTO = gamePayWayService.getGamePayWay(platformOrderDTO.getGameId(),
+                platformOrderDTO.getPayWayId(), platformOrderDTO.getPayDeviceId());
         //初始化配置
-        this.configInit(getPayConfig(platformOrderDTO.getGameId(), platformOrderDTO.getPayWayId(), platformOrderDTO.getPayDeviceId()));
+        this.configInit(gamePayWayDTO);
         try {
             Map<String, String> paramData = new HashMap<>(6);
             paramData.put("appid", config.getAppId());