소스 검색

Merge remote-tracking branch 'origin/package' into package

zhangxianyu 1 개월 전
부모
커밋
23b41b65e8
15개의 변경된 파일169개의 추가작업 그리고 11개의 파일을 삭제
  1. 1 1
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/GameBackApplication.java
  2. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/BackPolicyOfSplitLevel.java
  3. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/BackPolicyOfSumRecharge.java
  4. 5 1
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyDTO.java
  5. 5 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameBackPolicy.java
  6. 5 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentMiniGameCallback.java
  7. 5 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameBackPolicyVO.java
  8. 3 4
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentMiniGameBackLogService.java
  9. 7 1
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameBackPolicyServiceImpl.java
  10. 20 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameBackLogServiceImpl.java
  11. 81 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameCallbackServiceImpl.java
  12. 11 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameUserServiceImpl.java
  13. 5 0
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/vo/AgentRpcVO.java
  14. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java
  15. 14 3
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/rpc/impl/AgentRpcImpl.java

+ 1 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/GameBackApplication.java

@@ -18,7 +18,7 @@ public class GameBackApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(GameBackApplication.class, args);
-        System.out.println("腾讯小游戏回传新增策略创角激活01 (´・・)ノ(._.`)  \n" +
+        System.out.println("腾讯广告新增监测链接注册回传(排除已经在游戏里面注册的人) (´・・)ノ(._.`)  \n" +
                 " ______  __     __     \n" +
                 "/_____/\\/__/\\ /__/\\    \n" +
                 "\\:::__\\/\\ \\::\\\\:.\\ \\   \n" +

+ 3 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/BackPolicyOfSplitLevel.java

@@ -40,6 +40,9 @@ public class BackPolicyOfSplitLevel {
     @ApiModelProperty("新手引导回传条件")
     private TutorialFinish tutorialFinish;
 
+    @ApiModelProperty("监测链接回传")
+    private Boolean linkCallBack;
+
     @Data
     public static class RechargeLevel {
 

+ 3 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/BackPolicyOfSumRecharge.java

@@ -27,6 +27,9 @@ public class BackPolicyOfSumRecharge {
     @ApiModelProperty("新手引导回传条件")
     private TutorialFinish tutorialFinish;
 
+    @ApiModelProperty("监测链接回传")
+    private Boolean linkCallBack;
+
     @Data
     public static class RechargeLevel {
 

+ 5 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyDTO.java

@@ -11,7 +11,6 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.List;
@@ -268,4 +267,9 @@ public class GameBackPolicyDTO implements Serializable {
      * 最小回传等级
      */
     private Long roleLevelMin;
+
+    /**
+     * 监测链接回传
+     */
+    private Boolean linkCallBack;
 }

+ 5 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameBackPolicy.java

@@ -255,4 +255,9 @@ public class GameBackPolicy implements Serializable {
      * 最小回传等级
      */
     private Long roleLevelMin;
+
+    /**
+     * 监测链接回传
+     */
+    private Boolean linkCallBack;
 }

+ 5 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentMiniGameCallback.java

@@ -202,4 +202,9 @@ public class GameTencentMiniGameCallback implements Serializable {
      * 行为时间, ex: 1586437361, 宏: __ACT_TIME__
      */
     private Long actTime;
+
+    /**
+     * 微信小游戏appid
+     */
+    private String wechatAppId;
 }

+ 5 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameBackPolicyVO.java

@@ -273,6 +273,11 @@ public class GameBackPolicyVO implements Serializable {
      */
     private Long roleLevelMin;
 
+    /**
+     * 监测链接回传
+     */
+    private Boolean linkCallBack;
+
     @Data
     @NoArgsConstructor
     @AllArgsConstructor

+ 3 - 4
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentMiniGameBackLogService.java

@@ -2,16 +2,15 @@ package com.zanxiang.game.back.serve.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.sd4324530.jtuple.Tuple2;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameBackLog;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameOrder;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameRoleRegister;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameUser;
+import com.zanxiang.game.back.serve.pojo.entity.*;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 
 import java.time.LocalDateTime;
 
 public interface IGameTencentMiniGameBackLogService extends IService<GameTencentMiniGameBackLog> {
 
+    void linkCallBack(GameTencentMiniGameCallback callback);
+
     Tuple2<BackStatusEnum, String> userAndRoleRegisterBack(GameTencentMiniGameUser userLog);
 
     Tuple2<BackStatusEnum, String> userBack(GameTencentMiniGameUser userLog);

+ 7 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameBackPolicyServiceImpl.java

@@ -131,6 +131,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             backPolicy.setRoleBackSwitch(dto.getRoleBackSwitch());
             backPolicy.setRoleLevelMin(dto.getRoleLevelMin());
             backPolicy.setTutorialFinishJson(JsonUtil.toString(dto.getTutorialFinish()));
+            backPolicy.setLinkCallBack(dto.getLinkCallBack());
         } else if (Objects.equals(dto.getPolicyType(), GameBackPolicy.TYPE_SUM_RECHARGE)) {
             backPolicy.setTypeOfSumRechargeJson(JsonUtil.toString(dto.getTypeOfSumRecharge()));
             backPolicy.setRegPayIntervalTime(dto.getTypeOfSumRecharge().getRegPayIntervalTime());
@@ -138,6 +139,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             backPolicy.setRoleBackSwitch(dto.getTypeOfSumRecharge().getRoleBackSwitch());
             backPolicy.setRoleLevelMin(dto.getTypeOfSumRecharge().getRoleLevelMin());
             backPolicy.setTutorialFinishJson(JsonUtil.toString(dto.getTypeOfSumRecharge().getTutorialFinish()));
+            backPolicy.setLinkCallBack(dto.getTypeOfSumRecharge().getLinkCallBack());
         } else if (Objects.equals(dto.getPolicyType(), GameBackPolicy.TYPE_SPLIT_LEVEL)) {
             backPolicy.setTypeOfSplitLevelJson(JsonUtil.toString(dto.getTypeOfSplitLevel()));
             backPolicy.setRegPayIntervalTime(dto.getTypeOfSplitLevel().getRegPayIntervalTime());
@@ -145,6 +147,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             backPolicy.setRoleBackSwitch(dto.getTypeOfSplitLevel().getRoleBackSwitch());
             backPolicy.setRoleLevelMin(dto.getTypeOfSplitLevel().getRoleLevelMin());
             backPolicy.setTutorialFinishJson(JsonUtil.toString(dto.getTypeOfSplitLevel().getTutorialFinish()));
+            backPolicy.setLinkCallBack(dto.getTypeOfSplitLevel().getLinkCallBack());
         }
         return gameBackPolicyService.save(backPolicy);
     }
@@ -204,6 +207,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             backPolicy.setRoleBackSwitch(dto.getRoleBackSwitch());
             backPolicy.setRoleLevelMin(dto.getRoleLevelMin());
             backPolicy.setTutorialFinishJson(JsonUtil.toString(dto.getTutorialFinish()));
+            backPolicy.setLinkCallBack(dto.getLinkCallBack());
         } else if (Objects.equals(dto.getPolicyType(), GameBackPolicy.TYPE_SUM_RECHARGE)) {
             backPolicy.setTypeOfSumRechargeJson(JsonUtil.toString(dto.getTypeOfSumRecharge()));
             backPolicy.setRegPayIntervalTime(dto.getTypeOfSumRecharge().getRegPayIntervalTime());
@@ -211,6 +215,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             backPolicy.setRoleBackSwitch(dto.getTypeOfSumRecharge().getRoleBackSwitch());
             backPolicy.setRoleLevelMin(dto.getTypeOfSumRecharge().getRoleLevelMin());
             backPolicy.setTutorialFinishJson(JsonUtil.toString(dto.getTypeOfSumRecharge().getTutorialFinish()));
+            backPolicy.setLinkCallBack(dto.getTypeOfSumRecharge().getLinkCallBack());
         } else if (Objects.equals(dto.getPolicyType(), GameBackPolicy.TYPE_SPLIT_LEVEL)) {
             backPolicy.setTypeOfSplitLevelJson(JsonUtil.toString(dto.getTypeOfSplitLevel()));
             backPolicy.setRegPayIntervalTime(dto.getTypeOfSplitLevel().getRegPayIntervalTime());
@@ -218,6 +223,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             backPolicy.setRoleBackSwitch(dto.getTypeOfSplitLevel().getRoleBackSwitch());
             backPolicy.setRoleLevelMin(dto.getTypeOfSplitLevel().getRoleLevelMin());
             backPolicy.setTutorialFinishJson(JsonUtil.toString(dto.getTypeOfSplitLevel().getTutorialFinish()));
+            backPolicy.setLinkCallBack(dto.getTypeOfSplitLevel().getLinkCallBack());
         }
         return gameBackPolicyService.updateById(backPolicy);
     }
@@ -274,7 +280,7 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
             if (StringUtils.isNotBlank(gameBackPolicy.getSplitStrategy())) {
                 vo.setSplitStrategy((List<GameBackPolicyVO.SplitStrategy>) JsonUtil.toList(gameBackPolicy.getSplitStrategy(), List.class, GameBackPolicyVO.SplitStrategy.class));
             }
-            if (StringUtils.isNotBlank(gameBackPolicy.getTutorialFinishJson())){
+            if (StringUtils.isNotBlank(gameBackPolicy.getTutorialFinishJson())) {
                 vo.setTutorialFinish(JsonUtil.toObj(gameBackPolicy.getTutorialFinishJson(), TutorialFinish.class));
             }
         } else if (Objects.equals(gameBackPolicy.getPolicyType(), GameBackPolicy.TYPE_SUM_RECHARGE)) {

+ 20 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameBackLogServiceImpl.java

@@ -44,6 +44,26 @@ public class GameTencentMiniGameBackLogServiceImpl extends ServiceImpl<GameTence
     @Autowired
     private IGameTencentMiniGameCallbackService gameTencentMiniGameCallbackService;
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void linkCallBack(GameTencentMiniGameCallback callback) {
+        GameTencentMiniGameBackLog backLog = GameTencentMiniGameBackLog.builder()
+                .gameId(callback.getGameId())
+                .adAccountId(callback.getAccountId())
+                .clickId(callback.getImpressionId())
+                .actionTime(LocalDateTime.now())
+                .wechatOpenid(callback.getWechatOpenid())
+                .wechatAppId(callback.getWechatAppId())
+                .actionType(ActionTypeEnum.REGISTER.getActionType())
+                .createTime(LocalDateTime.now())
+                .backType(BackTypeEnum.BACK_API.getBackType())
+                .build();
+        Tuple2<BackStatusEnum, String> backResult = callback(backLog);
+        backLog.setBackStatus(backResult.first.getBackStatus());
+        backLog.setErrMsg("监测链接回传-" + backResult.second);
+        save(backLog);
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Tuple2<BackStatusEnum, String> userAndRoleRegisterBack(GameTencentMiniGameUser userLog) {

+ 81 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameCallbackServiceImpl.java

@@ -1,13 +1,24 @@
 package com.zanxiang.game.back.serve.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentMiniGameCallbackMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentCallbackDTO;
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameBackLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameCallback;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameUser;
+import com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum;
+import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.enums.BackTypeEnum;
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
+import com.zanxiang.game.back.serve.service.IGameTencentMiniGameBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameCallbackService;
+import com.zanxiang.game.back.serve.service.IGameTencentMiniGameUserService;
 import com.zanxiang.game.module.base.ServerInfo;
 import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
 import com.zanxiang.game.module.base.rpc.IAgentRpc;
+import com.zanxiang.module.redis.service.IDistributedLockComponent;
 import com.zanxiang.module.util.DateUtil;
 import com.zanxiang.module.util.JsonUtil;
 import com.zanxiang.module.util.bean.BeanUtil;
@@ -15,11 +26,14 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.ProducerRecord;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @Service
@@ -35,6 +49,18 @@ public class GameTencentMiniGameCallbackServiceImpl extends ServiceImpl<GameTenc
     @Autowired
     private KafkaProducer<String, String> kafkaProducer;
 
+    @Autowired
+    private IDistributedLockComponent distributedLockComponent;
+
+    @Autowired
+    private IGameBackPolicyService gameBackPolicyService;
+
+    @Autowired
+    private IGameTencentMiniGameUserService gameTencentMiniGameUserService;
+
+    @Autowired
+    private IGameTencentMiniGameBackLogService gameTencentMiniGameBackLogService;
+
     @Override
     public boolean callback(GameTencentCallbackDTO dto) {
         AgentRpcVO agent = agentRpc.getByTencentAccountId(dto.getAccountId()).getData();
@@ -45,17 +71,72 @@ public class GameTencentMiniGameCallbackServiceImpl extends ServiceImpl<GameTenc
         if (agent != null) {
             callback.setAgentKey(agent.getAgentKey());
             callback.setGameId(agent.getGameId());
+            callback.setWechatAppId(agent.getAppId());
         } else {
             callback.setAgentKey("-");
             callback.setGameId(-1L);
         }
         callback.setDay(dto.getClickTime() == null || dto.getClickTime() < 1000 ? LocalDate.now() : DateUtil.secondToLocalDate(dto.getClickTime()));
         save(callback);
+        //信息发送到卡夫卡
         try {
             kafkaProducer.send(new ProducerRecord<>(tencentCallbackTopic, dto.getAccountId().toString(), JsonUtil.toString(callback)));
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }
+        //监测链接执行注册回传
+        try {
+            this.linkCallBack(callback, agent);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
         return true;
     }
+
+    private void linkCallBack(GameTencentMiniGameCallback callback, AgentRpcVO agent) {
+        //渠道参数判断
+        if (agent == null || agent.getBackPolicyId() == null) {
+            return;
+        }
+        //查询策略, 判断是否开启监测链接回传
+        GameBackPolicy gameBackPolicy = gameBackPolicyService.getById(agent.getBackPolicyId());
+        if (!Objects.equals(gameBackPolicy.getLinkCallBack(), Boolean.TRUE)) {
+            return;
+        }
+        //参数校验, 判断是否符合回传条件
+        if (callback.getGameId() == null || Strings.isBlank(callback.getWechatAppId())
+                || callback.getAccountId() == null || Strings.isBlank(callback.getWechatOpenid())) {
+            log.error("监测链接回传参数不全, id : {}", callback.getId());
+            return;
+        }
+        //判断是否是新用户, 已注册的老用户不回传
+        if (gameTencentMiniGameUserService.count(new LambdaQueryWrapper<GameTencentMiniGameUser>()
+                .eq(GameTencentMiniGameUser::getGameId, callback.getGameId())
+                .eq(GameTencentMiniGameUser::getWechatAppId, callback.getWechatAppId())
+                .eq(GameTencentMiniGameUser::getWechatOpenid, callback.getWechatOpenid())
+        ) > 0) {
+            return;
+        }
+        //线程锁, 防止重复请求
+        String lockKey = com.zanxiang.game.back.base.ServerInfo.SERVER_NAME + ":tencentMiniLinkCallBack:"
+                + callback.getGameId() + ":" + callback.getAccountId() + ":"
+                + callback.getWechatAppId() + ":" + callback.getWechatOpenid();
+        if (!distributedLockComponent.doLock(lockKey, 0L, 3L, TimeUnit.MINUTES)) {
+            return;
+        }
+        //注册已回传判断
+        if (gameTencentMiniGameBackLogService.count(new LambdaQueryWrapper<GameTencentMiniGameBackLog>()
+                .eq(GameTencentMiniGameBackLog::getGameId, callback.getGameId())
+                .eq(GameTencentMiniGameBackLog::getWechatAppId, callback.getWechatAppId())
+                .eq(GameTencentMiniGameBackLog::getWechatOpenid, callback.getWechatOpenid())
+                .eq(GameTencentMiniGameBackLog::getAdAccountId, callback.getAccountId())
+                .eq(GameTencentMiniGameBackLog::getActionType, ActionTypeEnum.REGISTER.getActionType())
+                .eq(GameTencentMiniGameBackLog::getBackStatus, BackStatusEnum.SUCCESS.getBackStatus())
+                .eq(GameTencentMiniGameBackLog::getBackType, BackTypeEnum.BACK_API.getBackType())
+        ) > 0) {
+            return;
+        }
+        //注册回传
+        gameTencentMiniGameBackLogService.linkCallBack(callback);
+    }
 }

+ 11 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameUserServiceImpl.java

@@ -23,6 +23,7 @@ import com.zanxiang.game.back.serve.service.IGameTencentMiniGameUserService;
 import com.zanxiang.game.module.base.ServerInfo;
 import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
 import com.zanxiang.game.module.base.rpc.IAgentRpc;
+import com.zanxiang.module.redis.service.IDistributedLockComponent;
 import com.zanxiang.module.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -35,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -48,6 +50,8 @@ public class GameTencentMiniGameUserServiceImpl extends ServiceImpl<GameTencentM
     @Autowired
     private IGameTencentMiniGameBackLogService gameTencentMiniGameBackLogService;
     @Autowired
+    private IDistributedLockComponent distributedLockComponent;
+    @Autowired
     private IGameBackPolicyService gameBackPolicyService;
     @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
     private IAgentRpc agentRpc;
@@ -143,6 +147,13 @@ public class GameTencentMiniGameUserServiceImpl extends ServiceImpl<GameTencentM
             //返回注册已回传
             return Tuple2.with(BackStatusEnum.NO, null);
         }
+        //判断回传是否正在执行中
+        String lockKey = com.zanxiang.game.back.base.ServerInfo.SERVER_NAME + ":tencentMiniLinkCallBack:"
+                + userLog.getGameId() + ":" + userLog.getAdAccountId() + ":"
+                + userLog.getWechatAppId() + ":" + userLog.getWechatOpenid();
+        if (!distributedLockComponent.doLock(lockKey, 0L, 1L, TimeUnit.SECONDS)) {
+            return Tuple2.with(BackStatusEnum.NO, null);
+        }
         //回传策略
         GameBackPolicy gameBackPolicy = userLog.getBackPolicyId() == null ? null
                 : gameBackPolicyService.getById(userLog.getBackPolicyId());

+ 5 - 0
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/vo/AgentRpcVO.java

@@ -59,4 +59,9 @@ public class AgentRpcVO implements Serializable {
      * 投放状态
      */
     private Integer putStatus;
+
+    /**
+     * 游戏对应小程序appId
+     */
+    private String appId;
 }

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -23,7 +23,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 < (导量游戏用户增加单独字段表示 ・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 < (查询渠道接口新增字段修复问题01 ・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 14 - 3
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/rpc/impl/AgentRpcImpl.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zanxiang.game.module.base.pojo.enums.AccountTypeEnum;
 import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
 import com.zanxiang.game.module.base.rpc.IAgentRpc;
+import com.zanxiang.game.module.manage.pojo.dto.GameAppletDTO;
 import com.zanxiang.game.module.manage.service.IAgentService;
+import com.zanxiang.game.module.manage.service.IGameAppletService;
 import com.zanxiang.game.module.mybatis.entity.Agent;
 import com.zanxiang.module.util.bean.BeanUtil;
 import com.zanxiang.module.util.pojo.ResultVO;
@@ -18,11 +20,15 @@ import java.util.stream.Collectors;
 
 @DubboService
 public class AgentRpcImpl implements IAgentRpc {
+
     @Autowired
     private IAgentService agentService;
 
+    @Autowired
+    private IGameAppletService gameAppletService;
+
     @Override
-    public ResultVO<AgentRpcVO>  getByByteAccountId(Long accountId) {
+    public ResultVO<AgentRpcVO> getByByteAccountId(Long accountId) {
         return ResultVO.ok(toVOSimple(agentService.getOne(new LambdaQueryWrapper<Agent>()
                 .eq(Agent::getAccountId, accountId)
                 .in(Agent::getAccountType, Arrays.asList(AccountTypeEnum.BYTE.getValue(), AccountTypeEnum.BYTE_APP.getValue()))
@@ -30,7 +36,7 @@ public class AgentRpcImpl implements IAgentRpc {
     }
 
     @Override
-    public ResultVO<AgentRpcVO>  getByTencentAccountId(Long accountId) {
+    public ResultVO<AgentRpcVO> getByTencentAccountId(Long accountId) {
         return ResultVO.ok(toVOSimple(agentService.getOne(new LambdaQueryWrapper<Agent>()
                 .eq(Agent::getAccountId, accountId)
                 .in(Agent::getAccountType, Arrays.asList(AccountTypeEnum.TENCENT_H5.getValue(), AccountTypeEnum.TENCENT_MINI_GAME.getValue(), AccountTypeEnum.TENCENT_APP.getValue(), AccountTypeEnum.TENCENT_APP_API.getValue()))
@@ -51,6 +57,11 @@ public class AgentRpcImpl implements IAgentRpc {
         if (agent == null) {
             return null;
         }
-        return BeanUtil.copy(agent, AgentRpcVO.class);
+        AgentRpcVO agentRpcVO = BeanUtil.copy(agent, AgentRpcVO.class);
+        GameAppletDTO gameAppletDTO = gameAppletService.getByGameId(agent.getGameId());
+        if (gameAppletDTO != null) {
+            agentRpcVO.setAppId(gameAppletDTO.getAppId());
+        }
+        return agentRpcVO;
     }
 }