Преглед изворни кода

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

shishaosong пре 1 година
родитељ
комит
559c743be7
23 измењених фајлова са 409 додато и 48 уклоњено
  1. 5 0
      game-back/game-back-serve/pom.xml
  2. 1 1
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/GameBackApplication.java
  3. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameOceanengineOrderLogVO.java
  4. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameOceanengineUserLogVO.java
  5. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentMiniGameOrderVO.java
  6. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentMiniGameUserVO.java
  7. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentOrderVO.java
  8. 3 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentUserVO.java
  9. 48 6
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineOrderLogServiceImpl.java
  10. 43 2
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineUserLogServiceImpl.java
  11. 42 2
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameOrderServiceImpl.java
  12. 43 6
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameUserServiceImpl.java
  13. 48 6
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentOrderServiceImpl.java
  14. 43 6
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentUserServiceImpl.java
  15. 1 3
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryAgent.java
  16. 1 3
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryAmount.java
  17. 1 3
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryCost.java
  18. 1 5
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryGame.java
  19. 1 3
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryUser.java
  20. 5 2
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/ServerInfo.java
  21. 59 0
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/vo/AgentRpcVO.java
  22. 11 0
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/rpc/IAgentRpc.java
  23. 38 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/rpc/impl/AgentRpcImpl.java

+ 5 - 0
game-back/game-back-serve/pom.xml

@@ -135,6 +135,11 @@
             <artifactId>jsqlparser</artifactId>
             <version>4.2</version>
         </dependency>
+        <dependency>
+            <groupId>com.zanxiang.game</groupId>
+            <artifactId>game-module-base</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <!-- Mysql Connector -->
         <dependency>
             <groupId>mysql</groupId>

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

@@ -16,7 +16,7 @@ public class GameBackApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(GameBackApplication.class, args);
-        System.out.println("游戏回传服务启动成功 <dubbo升级3.0, 删掉dubbo的group> ( ´・・)ノ(._.`) \n" +
+        System.out.println("游戏回传服务启动成功 ( ´・・)ノ(._.`) \n" +
                 " ______  __     __     \n" +
                 "/_____/\\/__/\\ /__/\\    \n" +
                 "\\:::__\\/\\ \\::\\\\:.\\ \\   \n" +

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

@@ -43,6 +43,9 @@ public class GameOceanengineOrderLogVO {
     @ApiModelProperty("渠道标识")
     private String agentKey;
 
+    @ApiModelProperty("渠道名称")
+    private String agentName;
+
     @ApiModelProperty("订单编号")
     private String orderNo;
 

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

@@ -43,6 +43,9 @@ public class GameOceanengineUserLogVO {
     @ApiModelProperty("渠道标识")
     private String agentKey;
 
+    @ApiModelProperty("渠道名称")
+    private String agentName;
+
     @ApiModelProperty("注册Token")
     private String clueToken;
 

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

@@ -29,6 +29,9 @@ public class GameTencentMiniGameOrderVO {
     @ApiModelProperty("渠道号")
     private String agentKey;
 
+    @ApiModelProperty("渠道名称")
+    private String agentName;
+
     /**
      * 游戏ID
      */

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

@@ -29,6 +29,9 @@ public class GameTencentMiniGameUserVO {
     @ApiModelProperty("渠道号")
     private String agentKey;
 
+    @ApiModelProperty("渠道名称")
+    private String agentName;
+
     /**
      * 游戏ID
      */

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

@@ -31,6 +31,9 @@ public class GameTencentOrderVO {
     @ApiModelProperty("渠道号")
     private String channel;
 
+    @ApiModelProperty("渠道名称")
+    private String agentName;
+
     /**
      * 游戏ID
      */

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

@@ -31,6 +31,9 @@ public class GameTencentUserVO {
     @ApiModelProperty("渠道号")
     private String channel;
 
+    @ApiModelProperty("渠道名称")
+    private String agentName;
+
     /**
      * 游戏ID
      */

+ 48 - 6
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineOrderLogServiceImpl.java

@@ -3,9 +3,8 @@ package com.zanxiang.game.back.serve.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zanxiang.erp.base.ErpServer;
-import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
 import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineOrderLogMapper;
 import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
@@ -19,8 +18,12 @@ import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineOrderLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
 import com.zanxiang.game.back.serve.utils.BackPolicyUtil;
+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.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,8 +31,14 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -43,8 +52,8 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
     private IGameOceanengineUserLogService gameOceanengineUserLogService;
     @Autowired
     private IGameOceanengineBackLogService gameOceanengineBackLogService;
-    @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
-    private ISysUserRpc sysUserRpc;
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IAgentRpc agentRpc;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -97,7 +106,7 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
 
     @Override
     public IPage<GameOceanengineOrderLogVO> oceanengineOrderLogList(GameOceanengineOrderLogDTO dto) {
-        return page(dto.toPage(), new LambdaQueryWrapper<GameOceanengineOrderLog>()
+        IPage<GameOceanengineOrderLog> page = page(dto.toPage(), new LambdaQueryWrapper<GameOceanengineOrderLog>()
                 .eq(StringUtils.isNotBlank(dto.getAgentKey()), GameOceanengineOrderLog::getAgentKey, dto.getAgentKey())
                 .eq(null != dto.getGameId(), GameOceanengineOrderLog::getGameId, dto.getGameId())
                 .eq(null != dto.getAccountId(), GameOceanengineOrderLog::getAccountId, dto.getAccountId())
@@ -107,7 +116,40 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
                 .eq(null != dto.getBackStatus(), GameOceanengineOrderLog::getBackStatus, dto.getBackStatus())
                 .eq(null != dto.getOrderStatus(), GameOceanengineOrderLog::getOrderStatus, dto.getOrderStatus())
                 .orderByDesc(GameOceanengineOrderLog::getCreateTime)
-        ).convert(item -> BeanUtil.copy(item, GameOceanengineOrderLogVO.class));
+        );
+        IPage<GameOceanengineOrderLogVO> result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        if (CollectionUtils.isEmpty(page.getRecords())) {
+            return result;
+        }
+        result.setRecords(toVOBatch(page.getRecords()));
+        return result;
+    }
+
+    private List<GameOceanengineOrderLogVO> toVOBatch(List<GameOceanengineOrderLog> logList) {
+        if (CollectionUtils.isEmpty(logList)) {
+            return Collections.emptyList();
+        }
+        Set<String> agentKeys = logList.stream().map(GameOceanengineOrderLog::getAgentKey).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
+        Map<String, AgentRpcVO> agentMap = CollectionUtils.isEmpty(agentKeys) ? Collections.emptyMap() : agentRpc.getByAgentKeys(new ArrayList<>(agentKeys))
+                .getData().stream().collect(Collectors.toMap(AgentRpcVO::getAgentKey, Function.identity()));
+        return logList.stream().map(log -> {
+            GameOceanengineOrderLogVO vo = toVOSimple(log);
+            if (StringUtils.isNotBlank(log.getAgentKey())) {
+                AgentRpcVO agent = agentMap.get(log.getAgentKey());
+                if (agent != null) {
+                    vo.setAgentName(agent.getAgentName());
+                }
+            }
+            return vo;
+        }).collect(Collectors.toList());
+
+    }
+
+    private GameOceanengineOrderLogVO toVOSimple(GameOceanengineOrderLog log) {
+        if (log == null) {
+            return null;
+        }
+        return BeanUtil.copy(log, GameOceanengineOrderLogVO.class);
     }
 
     @Override

+ 43 - 2
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineUserLogServiceImpl.java

@@ -3,12 +3,14 @@ package com.zanxiang.game.back.serve.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineUserLogMapper;
 import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
 import com.zanxiang.game.back.serve.oceanengine.OceanengineCallbackException;
 import com.zanxiang.game.back.serve.pojo.dto.GameOceanengineUserLogDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineBackLog;
+import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
@@ -16,16 +18,27 @@ import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineOrderLogVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineUserLogVO;
 import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
+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.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -36,6 +49,8 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
     private MiniGameCallback miniGameCallback;
     @Autowired
     private IGameOceanengineBackLogService gameOceanengineBackLogService;
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IAgentRpc agentRpc;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -49,7 +64,7 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
 
     @Override
     public IPage<GameOceanengineUserLogVO> oceanengineUserLogList(GameOceanengineUserLogDTO dto) {
-        return page(dto.toPage(), new LambdaQueryWrapper<GameOceanengineUserLog>()
+        IPage<GameOceanengineUserLog> page = page(dto.toPage(), new LambdaQueryWrapper<GameOceanengineUserLog>()
                 .eq(StringUtils.isNotBlank(dto.getAgentKey()), GameOceanengineUserLog::getAgentKey, dto.getAgentKey())
                 .eq(null != dto.getGameId(), GameOceanengineUserLog::getGameId, dto.getGameId())
                 .eq(null != dto.getAccountId(), GameOceanengineUserLog::getAccountId, dto.getAccountId())
@@ -59,7 +74,33 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
                 .eq(null != dto.getProjectId(), GameOceanengineUserLog::getProjectId, dto.getProjectId())
                 .eq(null != dto.getPromotionId(), GameOceanengineUserLog::getPromotionId, dto.getPromotionId())
                 .orderByDesc(GameOceanengineUserLog::getCreateTime)
-        ).convert(item -> BeanUtil.copy(item, GameOceanengineUserLogVO.class));
+        );
+        IPage<GameOceanengineUserLogVO> result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        if (CollectionUtils.isEmpty(page.getRecords())) {
+            return result;
+        }
+        result.setRecords(toVOBatch(page.getRecords()));
+        return result;
+    }
+
+    private List<GameOceanengineUserLogVO> toVOBatch(List<GameOceanengineUserLog> logList) {
+        if (CollectionUtils.isEmpty(logList)) {
+            return Collections.emptyList();
+        }
+        Set<String> agentKeys = logList.stream().map(GameOceanengineUserLog::getAgentKey).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
+        Map<String, AgentRpcVO> agentMap = CollectionUtils.isEmpty(agentKeys) ? Collections.emptyMap() : agentRpc.getByAgentKeys(new ArrayList<>(agentKeys))
+                .getData().stream().collect(Collectors.toMap(AgentRpcVO::getAgentKey, Function.identity()));
+        return logList.stream().map(log -> {
+            GameOceanengineUserLogVO vo = BeanUtil.copy(log, GameOceanengineUserLogVO.class);
+            if (StringUtils.isNotBlank(log.getAgentKey())) {
+                AgentRpcVO agent = agentMap.get(log.getAgentKey());
+                if (agent != null) {
+                    vo.setAgentName(agent.getAgentName());
+                }
+            }
+            return vo;
+        }).collect(Collectors.toList());
+
     }
 
     @Override

+ 42 - 2
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameOrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.zanxiang.game.back.serve.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.advertising.tencent.base.AdvertisingTencentServer;
 import com.zanxiang.advertising.tencent.base.rpc.IUserActionSetRpc;
@@ -12,23 +13,35 @@ import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentMiniGameOrderMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentMiniGameOrderDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameOrder;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineOrderLogVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentMiniGameOrderVO;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameOrderService;
 import com.zanxiang.game.back.serve.utils.BackPolicyUtil;
+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.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -43,6 +56,8 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
     private IGameTencentMiniGameBackLogService gameTencentMiniGameBackLogService;
     @Autowired
     private IGameBackPolicyService gameBackPolicyService;
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IAgentRpc agentRpc;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -99,7 +114,7 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
 
     @Override
     public IPage<GameTencentMiniGameOrderVO> listOfPage(GameTencentMiniGameOrderDTO dto) {
-        return page(dto.toPage(), new LambdaQueryWrapper<GameTencentMiniGameOrder>()
+        IPage<GameTencentMiniGameOrder> page = page(dto.toPage(), new LambdaQueryWrapper<GameTencentMiniGameOrder>()
                 .eq(StringUtils.isNotBlank(dto.getAgentKey()), GameTencentMiniGameOrder::getAgentKey, dto.getAgentKey())
                 .eq(null != dto.getGameId(), GameTencentMiniGameOrder::getGameId, dto.getGameId())
                 .eq(null != dto.getAdAccountId(), GameTencentMiniGameOrder::getAdAccountId, dto.getAdAccountId())
@@ -109,7 +124,13 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
                 .eq(null != dto.getBackStatus(), GameTencentMiniGameOrder::getBackStatus, dto.getBackStatus())
                 .eq(null != dto.getOrderStatus(), GameTencentMiniGameOrder::getOrderStatus, dto.getOrderStatus())
                 .orderByDesc(GameTencentMiniGameOrder::getCreateTime)
-        ).convert(this::toVOSimple);
+        );
+        IPage<GameTencentMiniGameOrderVO> result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        if (CollectionUtils.isEmpty(page.getRecords())) {
+            return result;
+        }
+        result.setRecords(toVOBatch(page.getRecords()));
+        return result;
     }
 
     @Override
@@ -124,6 +145,25 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
         return true;
     }
 
+    private List<GameTencentMiniGameOrderVO> toVOBatch(List<GameTencentMiniGameOrder> logList) {
+        if (CollectionUtils.isEmpty(logList)) {
+            return Collections.emptyList();
+        }
+        Set<String> agentKeys = logList.stream().map(GameTencentMiniGameOrder::getAgentKey).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
+        Map<String, AgentRpcVO> agentMap = CollectionUtils.isEmpty(agentKeys) ? Collections.emptyMap() : agentRpc.getByAgentKeys(new ArrayList<>(agentKeys))
+                .getData().stream().collect(Collectors.toMap(AgentRpcVO::getAgentKey, Function.identity()));
+        return logList.stream().map(log -> {
+            GameTencentMiniGameOrderVO vo = toVOSimple(log);
+            if (StringUtils.isNotBlank(log.getAgentKey())) {
+                AgentRpcVO agent = agentMap.get(log.getAgentKey());
+                if (agent != null) {
+                    vo.setAgentName(agent.getAgentName());
+                }
+            }
+            return vo;
+        }).collect(Collectors.toList());
+    }
+
     private GameTencentMiniGameOrderVO toVOSimple(GameTencentMiniGameOrder orderLog) {
         return BeanUtil.copy(orderLog, GameTencentMiniGameOrderVO.class);
     }

+ 43 - 6
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameUserServiceImpl.java

@@ -3,28 +3,39 @@ package com.zanxiang.game.back.serve.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.advertising.tencent.base.AdvertisingTencentServer;
 import com.zanxiang.advertising.tencent.base.rpc.IUserActionSetRpc;
-import com.zanxiang.erp.base.ErpServer;
-import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentMiniGameUserMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentMiniGameUserDTO;
+import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameBackLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameUser;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineOrderLogVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentMiniGameUserVO;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameBackLogService;
 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.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -33,10 +44,10 @@ public class GameTencentMiniGameUserServiceImpl extends ServiceImpl<GameTencentM
 
     @DubboReference(providedBy = AdvertisingTencentServer.SERVER_DUBBO_NAME)
     private IUserActionSetRpc userActionSetRpc;
-    @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
-    private ISysUserRpc sysUserRpc;
     @Autowired
     private IGameTencentMiniGameBackLogService gameTencentMiniGameBackLogService;
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IAgentRpc agentRpc;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -55,7 +66,7 @@ public class GameTencentMiniGameUserServiceImpl extends ServiceImpl<GameTencentM
 
     @Override
     public IPage<GameTencentMiniGameUserVO> listOfPage(GameTencentMiniGameUserDTO dto) {
-        return page(dto.toPage(), new LambdaQueryWrapper<GameTencentMiniGameUser>()
+        IPage<GameTencentMiniGameUser> page = page(dto.toPage(), new LambdaQueryWrapper<GameTencentMiniGameUser>()
                 .eq(StringUtils.isNotBlank(dto.getAgentKey()), GameTencentMiniGameUser::getAgentKey, dto.getAgentKey())
                 .eq(null != dto.getGameId(), GameTencentMiniGameUser::getGameId, dto.getGameId())
                 .eq(null != dto.getAdAccountId(), GameTencentMiniGameUser::getAdAccountId, dto.getAdAccountId())
@@ -63,7 +74,13 @@ public class GameTencentMiniGameUserServiceImpl extends ServiceImpl<GameTencentM
                 .eq(StringUtils.isNotBlank(dto.getWechatOpenid()), GameTencentMiniGameUser::getWechatOpenid, dto.getWechatOpenid())
                 .eq(null != dto.getBackStatus(), GameTencentMiniGameUser::getBackStatus, dto.getBackStatus())
                 .orderByDesc(GameTencentMiniGameUser::getCreateTime)
-        ).convert(this::toVOSimple);
+        );
+        IPage<GameTencentMiniGameUserVO> result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        if (CollectionUtils.isEmpty(page.getRecords())) {
+            return result;
+        }
+        result.setRecords(toVOBatch(page.getRecords()));
+        return result;
     }
 
     @Override
@@ -78,6 +95,26 @@ public class GameTencentMiniGameUserServiceImpl extends ServiceImpl<GameTencentM
         return true;
     }
 
+    private List<GameTencentMiniGameUserVO> toVOBatch(List<GameTencentMiniGameUser> logList) {
+        if (CollectionUtils.isEmpty(logList)) {
+            return Collections.emptyList();
+        }
+        Set<String> agentKeys = logList.stream().map(GameTencentMiniGameUser::getAgentKey).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
+        Map<String, AgentRpcVO> agentMap = CollectionUtils.isEmpty(agentKeys) ? Collections.emptyMap() : agentRpc.getByAgentKeys(new ArrayList<>(agentKeys))
+                .getData().stream().collect(Collectors.toMap(AgentRpcVO::getAgentKey, Function.identity()));
+        return logList.stream().map(log -> {
+            GameTencentMiniGameUserVO vo = toVOSimple(log);
+            if (StringUtils.isNotBlank(log.getAgentKey())) {
+                AgentRpcVO agent = agentMap.get(log.getAgentKey());
+                if (agent != null) {
+                    vo.setAgentName(agent.getAgentName());
+                }
+            }
+            return vo;
+        }).collect(Collectors.toList());
+
+    }
+
 
     private BackStatusEnum doCallback(GameTencentMiniGameUser userLog, boolean mustBack) {
         boolean isBack = mustBack ? false : gameTencentMiniGameBackLogService.count(new LambdaQueryWrapper<GameTencentMiniGameBackLog>()

+ 48 - 6
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentOrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.zanxiang.game.back.serve.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zanxiang.advertising.tencent.base.AdvertisingTencentServer;
 import com.zanxiang.advertising.tencent.base.pojo.dto.DataReportOfAppIdRpcDTO;
 import com.zanxiang.advertising.tencent.base.pojo.dto.UserActionRpcDTO;
@@ -13,19 +14,25 @@ import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentOrderDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameOrder;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentOrderMapper;
 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.vo.GameTencentMiniGameOrderVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentOrderVO;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.game.back.serve.utils.BackPolicyUtil;
+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.util.bean.BeanUtil;
 import com.zanxiang.module.util.pojo.ResultVO;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,10 +40,15 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -57,6 +69,8 @@ public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMap
     private IGameTencentBackLogService gameTencentBackLogService;
     @Autowired
     private IGameBackPolicyService gameBackPolicyService;
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IAgentRpc agentRpc;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -109,7 +123,7 @@ public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMap
 
     @Override
     public IPage<GameTencentOrderVO> tencentOrderLogList(GameTencentOrderDTO dto) {
-        return page(dto.toPage(), new LambdaQueryWrapper<GameTencentOrder>()
+        IPage<GameTencentOrder> page = page(dto.toPage(), new LambdaQueryWrapper<GameTencentOrder>()
                 .eq(StringUtils.isNotBlank(dto.getChannel()), GameTencentOrder::getChannel, dto.getChannel())
                 .eq(null != dto.getGameId(), GameTencentOrder::getGameId, dto.getGameId())
                 .eq(null != dto.getAdAccountId(), GameTencentOrder::getAdAccountId, dto.getAdAccountId())
@@ -119,11 +133,39 @@ public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMap
                 .eq(null != dto.getIsBack(), GameTencentOrder::getIsBack, dto.getIsBack())
                 .eq(null != dto.getOrderStatus(), GameTencentOrder::getOrderStatus, dto.getOrderStatus())
                 .orderByDesc(GameTencentOrder::getCreateTime)
-        ).convert(item -> {
-            GameTencentOrderVO copy = BeanUtil.copy(item, GameTencentOrderVO.class);
-            copy.setUpdateName(null == item.getUpdateBy() ? null : sysUserRpc.getById(item.getUpdateBy()).getData().getNickName());
-            return copy;
-        });
+        );
+        IPage<GameTencentOrderVO> result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        if (CollectionUtils.isEmpty(page.getRecords())) {
+            return result;
+        }
+        result.setRecords(toVOBatch(page.getRecords()));
+        return result;
+    }
+
+    private List<GameTencentOrderVO> toVOBatch(List<GameTencentOrder> logList) {
+        if (CollectionUtils.isEmpty(logList)) {
+            return Collections.emptyList();
+        }
+        Set<String> agentKeys = logList.stream().map(GameTencentOrder::getChannel).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
+        Map<String, AgentRpcVO> agentMap = CollectionUtils.isEmpty(agentKeys) ? Collections.emptyMap() : agentRpc.getByAgentKeys(new ArrayList<>(agentKeys))
+                .getData().stream().collect(Collectors.toMap(AgentRpcVO::getAgentKey, Function.identity()));
+        return logList.stream().map(log -> {
+            GameTencentOrderVO vo = toVOSimple(log);
+            if (StringUtils.isNotBlank(log.getChannel())) {
+                AgentRpcVO agent = agentMap.get(log.getChannel());
+                if (agent != null) {
+                    vo.setAgentName(agent.getAgentName());
+                }
+            }
+            return vo;
+        }).collect(Collectors.toList());
+    }
+
+    private GameTencentOrderVO toVOSimple(GameTencentOrder log) {
+        if (log == null) {
+            return null;
+        }
+        return BeanUtil.copy(log, GameTencentOrderVO.class);
     }
 
     @Override

+ 43 - 6
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentUserServiceImpl.java

@@ -3,6 +3,7 @@ package com.zanxiang.game.back.serve.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.advertising.tencent.base.AdvertisingTencentServer;
 import com.zanxiang.advertising.tencent.base.pojo.dto.DataReportOfAppIdRpcDTO;
@@ -13,15 +14,21 @@ import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentUserMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentUserDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameUser;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 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.vo.GameTencentMiniGameUserVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentUserVO;
 import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentUserService;
+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.util.bean.BeanUtil;
 import com.zanxiang.module.util.pojo.ResultVO;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,9 +36,14 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -51,6 +63,8 @@ public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMappe
     private ISysUserRpc sysUserRpc;
     @Autowired
     private IGameTencentBackLogService gameTencentBackLogService;
+    @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
+    private IAgentRpc agentRpc;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -65,7 +79,7 @@ public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMappe
 
     @Override
     public IPage<GameTencentUserVO> tencentUserLogList(GameTencentUserDTO dto) {
-        return page(dto.toPage(), new LambdaQueryWrapper<GameTencentUser>()
+        IPage<GameTencentUser> page = page(dto.toPage(), new LambdaQueryWrapper<GameTencentUser>()
                 .eq(StringUtils.isNotBlank(dto.getChannel()), GameTencentUser::getChannel, dto.getChannel())
                 .eq(null != dto.getGameId(), GameTencentUser::getGameId, dto.getGameId())
                 .eq(null != dto.getAdAccountId(), GameTencentUser::getAdAccountId, dto.getAdAccountId())
@@ -73,11 +87,14 @@ public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMappe
                 .eq(StringUtils.isNotBlank(dto.getWechatOpenid()), GameTencentUser::getWechatOpenid, dto.getWechatOpenid())
                 .eq(null != dto.getIsBack(), GameTencentUser::getIsBack, dto.getIsBack())
                 .orderByDesc(GameTencentUser::getCreateTime)
-        ).convert(item -> {
-            GameTencentUserVO copy = BeanUtil.copy(item, GameTencentUserVO.class);
-            copy.setUpdateName(null == item.getUpdateBy() ? null : sysUserRpc.getById(item.getUpdateBy()).getData().getNickName());
-            return copy;
-        });
+        );
+
+        IPage<GameTencentUserVO> result = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        if (CollectionUtils.isEmpty(page.getRecords())) {
+            return result;
+        }
+        result.setRecords(toVOBatch(page.getRecords()));
+        return result;
     }
 
     @Override
@@ -92,6 +109,26 @@ public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMappe
         return true;
     }
 
+    private List<GameTencentUserVO> toVOBatch(List<GameTencentUser> logList) {
+        if (CollectionUtils.isEmpty(logList)) {
+            return Collections.emptyList();
+        }
+        Set<String> agentKeys = logList.stream().map(GameTencentUser::getChannel).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
+        Map<String, AgentRpcVO> agentMap = CollectionUtils.isEmpty(agentKeys) ? Collections.emptyMap() : agentRpc.getByAgentKeys(new ArrayList<>(agentKeys))
+                .getData().stream().collect(Collectors.toMap(AgentRpcVO::getAgentKey, Function.identity()));
+        return logList.stream().map(log -> {
+            GameTencentUserVO vo = BeanUtil.copy(log, GameTencentUserVO.class);
+            if (StringUtils.isNotBlank(log.getChannel())) {
+                AgentRpcVO agent = agentMap.get(log.getChannel());
+                if (agent != null) {
+                    vo.setAgentName(agent.getAgentName());
+                }
+            }
+            return vo;
+        }).collect(Collectors.toList());
+
+    }
+
 
     private BackStatusEnum doCallback(GameTencentUser userLog, boolean mustBack) {
         boolean isBack = mustBack ? false : gameTencentBackLogService.count(new LambdaQueryWrapper<GameTencentBackLog>()

+ 1 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryAgent.java

@@ -25,7 +25,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @Builder
 @Table(AdsGameDayAgainNature.TABLE_NAME)
-@PK({"dt", "agentId", "accountId", "sourceSystem"})
+@PK({"dt", "agentId", "accountId", "sourceSystem", "pitcherId", "gameId"})
 public class AdsOverallSummaryAgent implements Serializable {
     private static final long serialVersionUID = 1L;
     public static final String TABLE_NAME = "ads_overall_summary_agent";
@@ -53,13 +53,11 @@ public class AdsOverallSummaryAgent implements Serializable {
     /**
      * 投手ID
      */
-    @Column
     private Long pitcherId;
 
     /**
      * 游戏ID
      */
-    @Column
     private Long gameId;
 
     /**

+ 1 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryAmount.java

@@ -26,7 +26,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @Builder
 @Table(AdsGameDayAgainNature.TABLE_NAME)
-@PK({"dt", "agentId", "accountId", "sourceSystem"})
+@PK({"dt", "agentId", "accountId", "sourceSystem", "pitcherId", "gameId"})
 public class AdsOverallSummaryAmount implements Serializable {
     private static final long serialVersionUID = 1L;
     public static final String TABLE_NAME = "ads_overall_summary_amount";
@@ -54,13 +54,11 @@ public class AdsOverallSummaryAmount implements Serializable {
     /**
      * 投手ID
      */
-    @Column
     private Long pitcherId;
 
     /**
      * 游戏ID
      */
-    @Column
     private Long gameId;
 
     /**

+ 1 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryCost.java

@@ -26,7 +26,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @Builder
 @Table(AdsGameDayAgainNature.TABLE_NAME)
-@PK({"dt", "agentId", "accountId", "sourceSystem"})
+@PK({"dt", "agentId", "accountId", "sourceSystem", "pitcherId", "gameId"})
 public class AdsOverallSummaryCost implements Serializable {
     private static final long serialVersionUID = 1L;
     public static final String TABLE_NAME = "ads_overall_summary_cost";
@@ -54,13 +54,11 @@ public class AdsOverallSummaryCost implements Serializable {
     /**
      * 投手ID
      */
-    @Column
     private Long pitcherId;
 
     /**
      * 游戏ID
      */
-    @Column
     private Long gameId;
 
     /**

+ 1 - 5
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryGame.java

@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.nutz.dao.entity.annotation.Column;
 import org.nutz.dao.entity.annotation.PK;
 import org.nutz.dao.entity.annotation.Table;
 
@@ -25,7 +24,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @Builder
 @Table(AdsGameDayAgainNature.TABLE_NAME)
-@PK({"dt", "agentId", "pitcherId", "accountId", "sourceSystem"})
+@PK({"dt", "agentId", "pitcherId", "accountId", "sourceSystem", "pitcherId", "gameId", "gameName"})
 public class AdsOverallSummaryGame implements Serializable {
     private static final long serialVersionUID = 1L;
     public static final String TABLE_NAME = "ads_overall_summary_game";
@@ -58,19 +57,16 @@ public class AdsOverallSummaryGame implements Serializable {
     /**
      * 投手名字
      */
-    @Column
     private Long pitcherName;
 
     /**
      * 游戏ID
      */
-    @Column
     private Long gameId;
 
     /**
      * 游戏名称
      */
-    @Column
     private Long gameName;
 
 }

+ 1 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummaryUser.java

@@ -25,7 +25,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @Builder
 @Table(AdsGameDayAgainNature.TABLE_NAME)
-@PK({"dt", "agentId", "accountId", "sourceSystem"})
+@PK({"dt", "agentId", "accountId", "sourceSystem", "pitcherId", "gameId"})
 public class AdsOverallSummaryUser implements Serializable {
     private static final long serialVersionUID = 1L;
     public static final String TABLE_NAME = "ads_overall_summary_user";
@@ -53,13 +53,11 @@ public class AdsOverallSummaryUser implements Serializable {
     /**
      * 投手ID
      */
-    @Column
     private Long pitcherId;
 
     /**
      * 游戏ID
      */
-    @Column
     private Long gameId;
 
     /**

+ 5 - 2
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/ServerInfo.java

@@ -2,6 +2,9 @@ package com.zanxiang.game.module.base;
 
 public class ServerInfo {
 
-    public static final String SERVER_NAME = "game-module";
-    public static final String SERVER_DUBBO_NAME = "game-module-dubbo";
+    public static final String SERVER_NAME = "game-manage";
+    public static final String SERVER_DUBBO_NAME = "game-manage-dubbo";
+
+    public static final String SERVER_SDK_NAME = "game-sdk";
+    public static final String SERVER_SDK_DUBBO_NAME = "game-sdk-dubbo";
 }

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

@@ -0,0 +1,59 @@
+package com.zanxiang.game.module.base.pojo.vo;
+
+import lombok.Data;
+
+@Data
+public class AgentRpcVO {
+
+    private Long id;
+
+    /**
+     * 渠道名称
+     */
+    private String agentName;
+
+    /**
+     * 渠道唯一标识
+     */
+    private String agentKey;
+
+    /**
+     * 推广账号类型(1:腾讯、2:头条)
+     */
+    private Integer accountType;
+
+    /**
+     * 账号类型
+     */
+    private Long accountId;
+
+    /**
+     * 游戏id
+     */
+    private Long gameId;
+
+    /**
+     * 腾讯用户行为数据源 id
+     */
+    private Long userActionSetId;
+
+    /**
+     * 回传策略 id
+     */
+    private Long backPolicyId;
+
+    /**
+     * 头条回传 token
+     */
+    private String reportToken;
+
+    /**
+     * 头条回传 url
+     */
+    private String reportUrl;
+
+    /**
+     * 投放状态
+     */
+    private Integer putStatus;
+}

+ 11 - 0
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/rpc/IAgentRpc.java

@@ -0,0 +1,11 @@
+package com.zanxiang.game.module.base.rpc;
+
+import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
+import com.zanxiang.module.util.pojo.ResultVO;
+
+import java.util.List;
+
+public interface IAgentRpc {
+
+    ResultVO<List<AgentRpcVO>> getByAgentKeys(List<String> agentKeys);
+}

+ 38 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/rpc/impl/AgentRpcImpl.java

@@ -0,0 +1,38 @@
+package com.zanxiang.game.module.manage.rpc.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
+import com.zanxiang.game.module.base.rpc.IAgentRpc;
+import com.zanxiang.game.module.manage.service.IAgentService;
+import com.zanxiang.game.module.mybatis.entity.Agent;
+import com.zanxiang.module.util.bean.BeanUtil;
+import com.zanxiang.module.util.pojo.ResultVO;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@DubboService
+public class AgentRpcImpl implements IAgentRpc {
+    @Autowired
+    private IAgentService agentService;
+
+    @Override
+    public ResultVO<List<AgentRpcVO>> getByAgentKeys(List<String> agentKeys) {
+        if (CollectionUtils.isEmpty(agentKeys)) {
+            return ResultVO.ok();
+        }
+        return ResultVO.ok(agentService.list(new LambdaQueryWrapper<Agent>()
+                .in(Agent::getAgentKey, agentKeys)
+        ).stream().map(this::toVOSimple).collect(Collectors.toList()));
+    }
+
+    private AgentRpcVO toVOSimple(Agent agent) {
+        if (agent == null) {
+            return null;
+        }
+        return BeanUtil.copy(agent, AgentRpcVO.class);
+    }
+}