xufeng 2 лет назад
Родитель
Сommit
b81f4b020c

+ 2 - 3
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/GamePayWayListVO.java

@@ -1,8 +1,7 @@
 package com.zanxiang.manage.domain.vo;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.StringSerializer;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -64,6 +63,6 @@ public class GamePayWayListVO implements Serializable {
 
 
     @ApiModelProperty(notes = "支付商户号id")
-    @JsonSerialize(using = StringSerializer.class)
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long payMerchantId;
 }

+ 10 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/GameUserRole.java

@@ -108,6 +108,16 @@ public class GameUserRole {
      */
     private String os;
 
+    /**
+     * 游戏区服id
+     */
+    private Long regionalId;
+
+    /**
+     * 游戏区服名称
+     */
+    private String regionalName;
+
     /**
      * 创建时间
      */

+ 6 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/OrderComplete.java

@@ -2,6 +2,7 @@ package com.zanxiang.mybatis.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -176,6 +177,11 @@ public class OrderComplete implements Serializable {
      */
     private String gameRegional;
 
+    /**
+     * 游戏角色id
+     */
+    private String gameRoleId;
+
     /**
      * 游戏角色
      */

+ 2 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/dto/PlatformOrderDTO.java

@@ -188,6 +188,8 @@ public class PlatformOrderDTO implements Serializable {
 
     private String payDevice;
 
+    private String roleId;
+
     /**
      * 创建时间
      */

+ 49 - 4
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/PerformOrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.zanxiang.sdk.service.Impl;
 import java.math.BigDecimal;
 
 import com.alipay.easysdk.kernel.util.Signer;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.zanxiang.common.enums.CpStatusEnum;
 import com.zanxiang.common.enums.PayDeviceEnum;
 import com.zanxiang.common.enums.ResEnum;
@@ -11,6 +12,7 @@ import com.zanxiang.mybatis.entity.*;
 import com.zanxiang.sdk.common.util.HttpUtil;
 import com.zanxiang.sdk.common.util.MD5Util;
 import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
+import com.zanxiang.sdk.domain.mapper.OrderCompleteMapper;
 import com.zanxiang.sdk.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
@@ -21,6 +23,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.*;
 
 /**
@@ -48,6 +51,18 @@ public class PerformOrderServiceImpl implements PerformOrderService {
     @Autowired
     private GamePayWayService gamePayWayService;
 
+    @Autowired
+    private PayMerchantService payMerchantService;
+
+    @Autowired
+    private GameUserRoleService gameUserRoleService;
+
+    @Autowired
+    private UserExtService userExtService;
+
+    @Autowired
+    private OrderCompleteMapper orderCompleteMapper;
+
     public Boolean pushCp(PlatformOrderDTO orderInfo) {
         if (orderInfo.getCpStatus() == CpStatusEnum.SUCCESS.getCode()) {
             return true;
@@ -133,6 +148,7 @@ public class PerformOrderServiceImpl implements PerformOrderService {
         orderComplete.setCreateTime(orderInfo.getCreateTime());
         orderComplete.setEndTime(orderInfo.getEndTime());
         orderComplete.setPayDevice(orderInfo.getPayDevice());
+        orderComplete.setGameRoleId(orderInfo.getRoleId());
 
         /*-------支付那一刻系统------*/
         orderComplete.setFromDevice(orderInfo.getFromDevice());
@@ -142,25 +158,46 @@ public class PerformOrderServiceImpl implements PerformOrderService {
         orderComplete.setGameName("");
         orderComplete.setGameCategory("");
         orderComplete.setGameRegional("");
-        orderComplete.setGameRole("");
         orderComplete.setGameLevel("");
         orderComplete.setGameVip("");
 
+        if (StringUtils.isNotEmpty(orderInfo.getRoleId())) {
+            GameUserRole userRole = gameUserRoleService.getOne(new QueryWrapper<GameUserRole>().lambda().eq(GameUserRole::getRoleId, orderInfo.getRoleId()));
+            if (!Objects.isNull(userRole)) {
+                orderComplete.setGameRegional(userRole.getRegionalName());
+                orderComplete.setGameLevel(userRole.getRoleLevel() != null ? String.valueOf(userRole.getRoleLevel()) : null);
+                orderComplete.setGameVip(userRole.getRoleVipLevel() != null ? String.valueOf(userRole.getRoleVipLevel()) : null);
+            }
+        }
+
+
         //todo 获取玩家账号信息
         orderComplete.setUserAccount("");
         orderComplete.setUserRegisterTime(new Date());
+
+        if (StringUtils.isNotEmpty(orderInfo.getUserId())) {
+            User userInfo = userService.getById(orderInfo.getUserId());
+            if (!Objects.isNull(userInfo)) {
+                orderComplete.setUserAccount(userInfo.getUsername());
+                orderComplete.setUserRegisterTime(userInfo.getCreateTime() != null ? Date.from(userInfo.getCreateTime().atZone(ZoneId.systemDefault()).toInstant()) : null);
+            }
+        }
+        //todo 注册游戏信息
         orderComplete.setUserRegisterGameId(0L);
         orderComplete.setUserRegisterGame("");
         orderComplete.setUserRegisterGameCategory("");
         orderComplete.setUserRegisterChannel("");
 
         if (StringUtils.isNotEmpty(orderInfo.getUserId())) {
-            User userInfo = userService.getById(orderInfo.getUserId());
-            if (!Objects.isNull(userInfo)) {
-                orderComplete.setUserAccount(userInfo.getUsername());
+            UserExt userExt = userExtService.getById(orderInfo.getUserId());
+            if (!Objects.isNull(userExt)) {
+                orderComplete.setUserRegisterGameId(userExt.getRegGameId());
+                orderComplete.setUserRegisterChannel(userExt.getRegFrom());
+
             }
         }
 
+
         //todo 推广相关信息
         orderComplete.setAgentId("");
         orderComplete.setAgentAccount("");
@@ -178,6 +215,14 @@ public class PerformOrderServiceImpl implements PerformOrderService {
             if (!Objects.isNull(gamePayWay)) {
                 orderComplete.setPayWayId(gamePayWay.getPayWayId() > 0 ? String.valueOf(gamePayWay.getPayWayId()) : null);
                 orderComplete.setPayWay(gamePayWay.getPayWayName());
+
+                if (!Objects.isNull(gamePayWay.getPayMerchantId())) {
+                    PayMerchant payMerchant = payMerchantService.getById(gamePayWay.getPayMerchantId());
+                    if (!Objects.isNull(payMerchant)) {
+                        orderComplete.setMerchantNo(payMerchant.getMerchantNo());
+                        orderComplete.setMerchantName(payMerchant.getMerchantName());
+                    }
+                }
             }
         }