Parcourir la source

修改内容:游戏数据-游戏,用户排行榜;订单明细;推广每日数据

shishaosong il y a 2 ans
Parent
commit
2aa37295c1
100 fichiers modifiés avec 9045 ajouts et 58 suppressions
  1. 53 3
      game-data/game-data-serve/pom.xml
  2. 18 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/DruidConfig.java
  3. 1 1
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/MybatisPlusConfig.java
  4. 88 4
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameConditionController.java
  5. 17 4
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameOrderController.java
  6. 16 4
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GamePromoteController.java
  7. 25 10
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameRankingController.java
  8. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdAccountMapper.java
  9. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdAccountStatDayMapper.java
  10. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdDataMapper.java
  11. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdInfoMapper.java
  12. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/CompanyMapper.java
  13. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/CompanyStatDayMapper.java
  14. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/CpMapper.java
  15. 25 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameMapper.java
  16. 25 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameOrderMapper.java
  17. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GamePlayerMapper.java
  18. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GamePlayerRoleMapper.java
  19. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameServerMapper.java
  20. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameServerStatDayMapper.java
  21. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameStatDayMapper.java
  22. 19 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameUserMapper.java
  23. 21 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameUserStatDayMapper.java
  24. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/PromoteAgentMapper.java
  25. 21 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/PromoteAgentStatDayMapper.java
  26. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/SysUserMapper.java
  27. 30 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/base/BasePage.java
  28. 90 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameOrderDetailDTO.java
  29. 50 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GamePromoteDTO.java
  30. 3 2
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameRankingDTO.java
  31. 447 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdAccount.java
  32. 433 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdAccountStatDay.java
  33. 468 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdData.java
  34. 502 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdInfo.java
  35. 203 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/Company.java
  36. 209 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/CompanyStatDay.java
  37. 96 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/Cp.java
  38. 717 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/Game.java
  39. 267 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameOrder.java
  40. 222 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GamePlayer.java
  41. 187 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GamePlayerRole.java
  42. 372 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameServer.java
  43. 321 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameServerStatDay.java
  44. 721 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameStatDay.java
  45. 247 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameUser.java
  46. 251 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameUserStatDay.java
  47. 80 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/PromoteAgent.java
  48. 593 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/PromoteAgentStatDay.java
  49. 56 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/SysUser.java
  50. 26 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameConditionVO.java
  51. 49 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameOrderDetailVO.java
  52. 372 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GamePromoteVO.java
  53. 18 5
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameRankingRechargeGameVO.java
  54. 70 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameRankingRechargeUserVO.java
  55. 188 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/OrderDetailVO.java
  56. 31 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/RechargeTrendVO.java
  57. 21 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/RetentionTrendVO.java
  58. 24 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/TotalDataVO.java
  59. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdAccountService.java
  60. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdAccountStatDayService.java
  61. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdDataService.java
  62. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdInfoService.java
  63. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ICompanyService.java
  64. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ICompanyStatDayService.java
  65. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ICpService.java
  66. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameOrderService.java
  67. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGamePlayerRoleService.java
  68. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGamePlayerService.java
  69. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameServerService.java
  70. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameServerStatDayService.java
  71. 30 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameService.java
  72. 16 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameStatDayService.java
  73. 25 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameUserService.java
  74. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameUserStatDayService.java
  75. 22 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IPromoteAgentService.java
  76. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IPromoteAgentStatDayService.java
  77. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ISysUserService.java
  78. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdAccountServiceImpl.java
  79. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdAccountStatDayServiceImpl.java
  80. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdDataServiceImpl.java
  81. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdInfoServiceImpl.java
  82. 34 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/CompanyServiceImpl.java
  83. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/CompanyStatDayServiceImpl.java
  84. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/CpServiceImpl.java
  85. 104 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameOrderServiceImpl.java
  86. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GamePlayerRoleServiceImpl.java
  87. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GamePlayerServiceImpl.java
  88. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerServiceImpl.java
  89. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerStatDayServiceImpl.java
  90. 72 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServiceImpl.java
  91. 20 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameStatDayServiceImpl.java
  92. 76 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameUserServiceImpl.java
  93. 23 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameUserStatDayServiceImpl.java
  94. 40 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PromoteAgentServiceImpl.java
  95. 32 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PromoteAgentStatDayServiceImpl.java
  96. 35 0
      game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/SysUserServiceImpl.java
  97. 25 25
      game-data/game-data-serve/src/main/resources/bootstrap.yml
  98. 5 0
      game-data/game-data-serve/src/main/resources/mapper/AdAccountMapper.xml
  99. 5 0
      game-data/game-data-serve/src/main/resources/mapper/AdAccountStatDayMapper.xml
  100. 5 0
      game-data/game-data-serve/src/main/resources/mapper/AdDataMapper.xml

+ 53 - 3
game-data/game-data-serve/pom.xml

@@ -66,6 +66,10 @@
             <groupId>com.alibaba.nacos</groupId>
             <artifactId>nacos-client</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.zanxiang.erp</groupId>
+            <artifactId>erp-security</artifactId>
+        </dependency>
         <!--sms集成-->
         <dependency>
             <groupId>com.zanxiang.module</groupId>
@@ -100,16 +104,62 @@
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger-ui</artifactId>
             <version>2.9.2</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>io.swagger</groupId>
+                    <artifactId>swagger-models</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-models</artifactId>
+            <version>1.5.21</version>
         </dependency>
         <!-- Mybatis Plus -->
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
         </dependency>
-        <!-- Mysql Connector -->
+        <!--clickhouse-->
+        <dependency>
+            <groupId>ru.yandex.clickhouse</groupId>
+            <artifactId>clickhouse-jdbc</artifactId>
+            <version>0.3.1</version>
+        </dependency>
         <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
+            <groupId>com.github.jsqlparser</groupId>
+            <artifactId>jsqlparser</artifactId>
+            <version>4.2</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.2.6</version>
         </dependency>
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.github.shalousun</groupId>
+                <artifactId>smart-doc-maven-plugin</artifactId>
+                <version>2.6.0</version>
+                <configuration>
+                    <!--指定生成文档使用的配置文件-->
+                    <configFile>./src/main/resources/smart-doc.json</configFile>
+                </configuration>
+                <executions>
+                    <execution>
+                        <!--不需要在编译项目时自动生成文档可注释phase-->
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>html</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>

+ 18 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/DruidConfig.java

@@ -0,0 +1,18 @@
+package com.zanxiang.game.data.serve.config;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.sql.DataSource;
+
+
+@Configuration
+public class DruidConfig {
+    @Bean
+    @ConfigurationProperties(prefix = "spring.datasource.click")
+    public DataSource druidDataSource() {
+        return new DruidDataSource();
+    }
+}

+ 1 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/MybatisPlusConfig.java

@@ -19,7 +19,7 @@ public class MybatisPlusConfig {
     @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.CLICK_HOUSE));
         return interceptor;
     }
 }

+ 88 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameConditionController.java

@@ -1,16 +1,100 @@
 package com.zanxiang.game.data.serve.controller;
 
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.*;
 import com.zanxiang.module.util.pojo.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
+@Api(tags = "筛选条件")
 @RestController
 @RequestMapping("/game/condition")
 public class GameConditionController {
-    @PutMapping("/xx")
-    public ResultVO<Boolean> xx() {
-        System.out.println("访问成功");
-        return ResultVO.ok();
+    @Autowired
+    private IAdAccountService adAccountService;
+    @Autowired
+    private ICompanyService companyService;
+    @Autowired
+    private ICpService cpService;
+    @Autowired
+    private IGameService gameService;
+    @Autowired
+    private IGamePlayerService gamePlayerService;
+    @Autowired
+    private IGamePlayerRoleService gamePlayerRoleService;
+    @Autowired
+    private IGameServerService gameServerService;
+    @Autowired
+    private IGameUserService gameUserService;
+    @Autowired
+    private IPromoteAgentService agentService;
+    @Autowired
+    private ISysUserService sysUserService;
+    
+    @ApiOperation(value = "游戏列表")
+    @GetMapping("/game")
+    public ResultVO<List<GameConditionVO>> game() {
+        return ResultVO.ok(gameService.getList());
+    }
+
+    @ApiOperation(value = "cp列表")
+    @GetMapping("/cp")
+    public ResultVO<List<GameConditionVO>> cp() {
+        return ResultVO.ok(cpService.getList());
+    }
+
+    @ApiOperation(value = "推广账号列表")
+    @GetMapping("/adAccount")
+    public ResultVO<List<GameConditionVO>> adAccount() {
+        return ResultVO.ok(adAccountService.getList());
+    }
+
+    @ApiOperation(value = "公司列表")
+    @GetMapping("/company")
+    public ResultVO<List<GameConditionVO>> company() {
+        return ResultVO.ok(companyService.getList());
+    }
+
+    @ApiOperation(value = "游戏玩家列表")
+    @GetMapping("/gamePlayer")
+    public ResultVO<List<GameConditionVO>> gamePlayer() {
+        return ResultVO.ok(gamePlayerService.getList());
+    }
+
+    @ApiOperation(value = "游戏玩家角色列表")
+    @GetMapping("/gamePlayerRole")
+    public ResultVO<List<GameConditionVO>> gamePlayerRole() {
+        return ResultVO.ok(gamePlayerRoleService.getList());
+    }
+
+    @ApiOperation(value = "游戏区服列表")
+    @GetMapping("/gameServer")
+    public ResultVO<List<GameConditionVO>> gameServer() {
+        return ResultVO.ok(gameServerService.getList());
+    }
+
+    @ApiOperation(value = "游戏用户列表")
+    @GetMapping("/gameUser")
+    public ResultVO<List<GameConditionVO>> gameUser() {
+        return ResultVO.ok(gameUserService.getList());
+    }
+
+    @ApiOperation(value = "渠道列表")
+    @GetMapping("/promoteAgent")
+    public ResultVO<List<GameConditionVO>> promoteAgent() {
+        return ResultVO.ok(agentService.getList());
+    }
+
+    @ApiOperation(value = "投手列表")
+    @GetMapping("/sysUser")
+    public ResultVO<List<GameConditionVO>> sysUser() {
+        return ResultVO.ok(sysUserService.getList());
     }
 }

+ 17 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameOrderController.java

@@ -1,16 +1,29 @@
 package com.zanxiang.game.data.serve.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameOrderDetailDTO;
+import com.zanxiang.game.data.serve.pojo.vo.GameOrderDetailVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeUserVO;
+import com.zanxiang.game.data.serve.service.IGameOrderService;
 import com.zanxiang.module.util.pojo.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+@Api(tags = "订单")
 @RestController
 @RequestMapping("/game/order")
 public class GameOrderController {
-    @PutMapping("/xx")
-    public ResultVO<Boolean> xx() {
-        System.out.println("访问成功");
-        return ResultVO.ok();
+    @Autowired
+    private IGameOrderService gameOrderService;
+
+    @ApiOperation(value = "订单明细")
+    @PutMapping("/detail")
+    public ResultVO<GameOrderDetailVO> detail(@RequestBody GameOrderDetailDTO dto) {
+        return ResultVO.ok(gameOrderService.getOrderDetail(dto));
     }
 }

+ 16 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GamePromoteController.java

@@ -1,16 +1,28 @@
 package com.zanxiang.game.data.serve.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GamePromoteDTO;
+import com.zanxiang.game.data.serve.pojo.vo.GamePromoteVO;
+import com.zanxiang.game.data.serve.service.IPromoteAgentStatDayService;
 import com.zanxiang.module.util.pojo.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+@Api(tags = "推广")
 @RestController
 @RequestMapping("/game/promote")
 public class GamePromoteController {
-    @PutMapping("/xx")
-    public ResultVO<Boolean> xx() {
-        System.out.println("访问成功");
-        return ResultVO.ok();
+    @Autowired
+    private IPromoteAgentStatDayService agentStatDayService;
+
+    @ApiOperation(value = "推广每日数据")
+    @PutMapping("/day/data")
+    public ResultVO<IPage<GamePromoteVO>> dayData(@RequestBody GamePromoteDTO dto) {
+        return ResultVO.ok(agentStatDayService.getDayData(dto));
     }
 }

+ 25 - 10
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameRankingController.java

@@ -1,24 +1,39 @@
 package com.zanxiang.game.data.serve.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeGameVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeUserVO;
+import com.zanxiang.game.data.serve.service.IGameService;
+import com.zanxiang.game.data.serve.service.IGameUserService;
 import com.zanxiang.module.util.pojo.ResultVO;
-import org.springframework.web.bind.annotation.*;
-
-import java.time.LocalDate;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
+@Api(tags = "排行榜")
 @RestController
 @RequestMapping("/game/ranking")
 public class GameRankingController {
-    @PutMapping("/recharge/game")
-    public ResultVO<Boolean> game(@RequestBody GameRankingDTO dto) {
+    @Autowired
+    private IGameService gameService;
+    @Autowired
+    private IGameUserService gameUserService;
 
-        return ResultVO.ok();
+    @ApiOperation(value = "游戏充值排行榜")
+    @PutMapping("/recharge/game")
+    public ResultVO<IPage<GameRankingRechargeGameVO>> game(@RequestBody GameRankingDTO dto) {
+        return ResultVO.ok(gameService.getGameRechargeRank(dto));
     }
 
-    @PutMapping("/recharge/player")
-    public ResultVO<Boolean> player(@RequestBody GameRankingDTO dto) {
-        System.out.println("访问成功");
-        return ResultVO.ok();
+    @ApiOperation(value = "用户充值排行榜")
+    @PutMapping("/recharge/user")
+    public ResultVO<IPage<GameRankingRechargeUserVO>> user(@RequestBody GameRankingDTO dto) {
+        return ResultVO.ok(gameUserService.getUserRechargeRank(dto));
     }
 
     @PutMapping("/recharge/promote/agent")

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdAccountMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdAccount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_ad_account Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface AdAccountMapper extends BaseMapper<AdAccount> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdAccountStatDayMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdAccountStatDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_ad_account_stat_day Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface AdAccountStatDayMapper extends BaseMapper<AdAccountStatDay> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdDataMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_ad_data Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface AdDataMapper extends BaseMapper<AdData> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/AdInfoMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_ad_info Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface AdInfoMapper extends BaseMapper<AdInfo> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/CompanyMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.Company;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天) Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+public interface CompanyMapper extends BaseMapper<Company> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/CompanyStatDayMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.CompanyStatDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天) Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+public interface CompanyStatDayMapper extends BaseMapper<CompanyStatDay> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/CpMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.Cp;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_cp Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface CpMapper extends BaseMapper<Cp> {
+
+}

+ 25 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameMapper.java

@@ -0,0 +1,25 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.Game;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeGameVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+
+/**
+ * <p>
+ * t_game Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GameMapper extends BaseMapper<Game> {
+
+    IPage<GameRankingRechargeGameVO> getGameRankingRechargeVO(IPage<GameRankingDTO> page, @Param("dto") GameRankingDTO dto);
+
+    GameRankingRechargeGameVO getTodayMoney(@Param("gameId") String gameId, @Param("now") LocalDate now, @Param("sysUserId") Long sysUserId);
+}

+ 25 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameOrderMapper.java

@@ -0,0 +1,25 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameOrderDetailDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameOrder;
+import com.zanxiang.game.data.serve.pojo.vo.GameOrderDetailVO;
+import com.zanxiang.game.data.serve.pojo.vo.OrderDetailVO;
+import com.zanxiang.game.data.serve.pojo.vo.TotalDataVO;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * t_game_order Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GameOrderMapper extends BaseMapper<GameOrder> {
+
+    IPage<OrderDetailVO> getOrderDetail(@Param("page") IPage<GameOrder> page, @Param("dto") GameOrderDetailDTO dto);
+
+    TotalDataVO getAmountSum(@Param("dto") GameOrderDetailDTO dto);
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GamePlayerMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.GamePlayer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_game_player Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GamePlayerMapper extends BaseMapper<GamePlayer> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GamePlayerRoleMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.GamePlayerRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_game_player_role Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GamePlayerRoleMapper extends BaseMapper<GamePlayerRole> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameServerMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameServer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_game_server Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GameServerMapper extends BaseMapper<GameServer> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameServerStatDayMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameServerStatDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_game_server_stat_day Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GameServerStatDayMapper extends BaseMapper<GameServerStatDay> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameStatDayMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameStatDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_game_stat_day Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+public interface GameStatDayMapper extends BaseMapper<GameStatDay> {
+
+}

+ 19 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameUserMapper.java

@@ -0,0 +1,19 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zanxiang.game.data.serve.pojo.entity.GameUser;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeUserVO;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * t_game_user Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface GameUserMapper extends BaseMapper<GameUser> {
+
+    GameRankingRechargeUserVO getTodayGameUserRecharge(@Param("userId") Long userId, @Param("regAgent") String regAgent, @Param("sysUserId") Long sysUserId);
+}

+ 21 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/GameUserStatDayMapper.java

@@ -0,0 +1,21 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameUserStatDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeUserVO;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * t_game_user_stat_day Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-13
+ */
+public interface GameUserStatDayMapper extends BaseMapper<GameUserStatDay> {
+
+    IPage<GameRankingRechargeUserVO> getGameUserRankingRechargeVO(IPage<GameRankingDTO> page, @Param("dto") GameRankingDTO dto);
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/PromoteAgentMapper.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgent;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_promote_agent Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface PromoteAgentMapper extends BaseMapper<PromoteAgent> {
+
+    List<PromoteAgent> getPromoteAgent(@Param("sysUserId") Long sysUserId);
+}

+ 21 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/PromoteAgentStatDayMapper.java

@@ -0,0 +1,21 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GamePromoteDTO;
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgentStatDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GamePromoteVO;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 游戏推广渠道日报表 Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+public interface PromoteAgentStatDayMapper extends BaseMapper<PromoteAgentStatDay> {
+
+    IPage<GamePromoteVO> getDayDate(IPage<PromoteAgentStatDay> toPage, @Param("dto") GamePromoteDTO dto);
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/dao/mapper/SysUserMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.dao.mapper;
+
+import com.zanxiang.game.data.serve.pojo.entity.SysUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * t_sys_user Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface SysUserMapper extends BaseMapper<SysUser> {
+
+}

+ 30 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/base/BasePage.java

@@ -0,0 +1,30 @@
+package com.zanxiang.game.data.serve.pojo.base;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BasePage<T> {
+    @ApiModelProperty(notes = "页码")
+    private Integer pageNum;
+
+    @ApiModelProperty(notes = "分页大小")
+    private Integer pageSize;
+
+    @ApiModelProperty(notes = "投手id")
+    private Long sysUserId;
+
+    @ApiModelProperty(notes = "公司id")
+    private Long companyId;
+
+    /**
+     * 构造方法
+     *
+     * @return : 返回分页对象
+     */
+    public IPage<T> toPage() {
+        return new Page<>(pageNum, pageSize);
+    }
+}

+ 90 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameOrderDetailDTO.java

@@ -0,0 +1,90 @@
+package com.zanxiang.game.data.serve.pojo.dto;
+
+import com.zanxiang.game.data.serve.pojo.base.BasePage;
+import com.zanxiang.game.data.serve.pojo.entity.GameOrder;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOrderDetailDTO extends BasePage<GameOrder> implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(notes = "商户订单ID")
+    private String orderId;
+
+    @ApiModelProperty(notes = "CP方订单ID")
+    private String cpOrderId;
+
+    @ApiModelProperty(notes = "用户id")
+    private Long userId;
+    @ApiModelProperty(notes = "用户名")
+    private Long userName;
+
+    @ApiModelProperty(notes = "游戏角色名id")
+    private Long gameRoleId;
+    @ApiModelProperty(notes = "游戏角色名:订单号")
+    private String gameRoleName;
+
+    @ApiModelProperty(notes = "cpId")
+    private Long cpId;
+    @ApiModelProperty(notes = "cp名")
+    private String cpName;
+
+    @ApiModelProperty(notes = "注册游戏id")
+    private Long regGameId;
+    @ApiModelProperty(notes = "注册游戏名")
+    private String regGameName;
+    @ApiModelProperty(notes = "游戏id")
+    private Long gameId;
+    @ApiModelProperty(notes = "游戏名")
+    private String rechargeGameName;
+
+    @ApiModelProperty(notes = "注册渠道id")
+    private Long regAgentId;
+    @ApiModelProperty(notes = "注册渠道名")
+    private String regAgent;
+
+    @ApiModelProperty(notes = "广告账号id")
+    private String accountId;
+    @ApiModelProperty(notes = "广告账号")
+    private String account;
+
+    @ApiModelProperty(notes = "投手名")
+    private String sysUser;
+
+    @ApiModelProperty(notes = "操作设备")
+    private String device;
+    @ApiModelProperty(notes = "是否切量  0 否 1 是")
+    private Integer isSwitch;
+    @ApiModelProperty(notes = "产品名称")
+    private String productName;
+    @ApiModelProperty(notes = "支付方式")
+    private String payWay;
+    @ApiModelProperty(notes = "收款商户号")
+    private String merchantNo;
+    @ApiModelProperty(notes = "支付状态,1为待处理,2为成功,3为失败")
+    private Integer payStatus;
+    @ApiModelProperty(notes = "CP通知状态,1为待处理,2为成功,3为失败")
+    private Integer cpStatus;
+    @ApiModelProperty(notes = "是否首充 0 否 1 是")
+    private Integer isFirstRecharge;
+
+    @ApiModelProperty(notes = "用户注册开始日期")
+    private LocalDate regStartDay;
+    @ApiModelProperty(notes = "用户注册结石日期")
+    private LocalDate regEndDay;
+
+    @ApiModelProperty(notes = "订单创建开始日期")
+    private LocalDate createStartDay;
+    @ApiModelProperty(notes = "订单创建结束日期")
+    private LocalDate createEndDay;
+}

+ 50 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GamePromoteDTO.java

@@ -0,0 +1,50 @@
+package com.zanxiang.game.data.serve.pojo.dto;
+
+import com.zanxiang.game.data.serve.pojo.base.BasePage;
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgentStatDay;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GamePromoteDTO extends BasePage<PromoteAgentStatDay> implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(notes = "推广账号名称")
+    private String accountName;
+    @ApiModelProperty(notes = "推广账号ID")
+    private String accountId;
+
+    @ApiModelProperty(notes = "投放渠道")
+    private String putAgent;
+    @ApiModelProperty(notes = "推广状态")
+    private String promoteStatus;
+
+    @ApiModelProperty(notes = "投手名")
+    private String sysUserName;
+
+    @ApiModelProperty(notes = "cpId")
+    private Long cpId;
+    @ApiModelProperty(notes = "cp名")
+    private String cpName;
+
+    @ApiModelProperty(notes = "游戏id")
+    private Long gameId;
+    @ApiModelProperty(notes = "游戏名")
+    private String gameName;
+    @ApiModelProperty(notes = "游戏应用类型")
+    private String gameType;
+
+    @ApiModelProperty(notes = "消耗开始日期")
+    private LocalDate beginDay;
+    @ApiModelProperty(notes = "消耗结束日期")
+    private LocalDate endDay;
+}

+ 3 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameRankingDTO.java

@@ -1,5 +1,6 @@
 package com.zanxiang.game.data.serve.pojo.dto;
 
+import com.zanxiang.game.data.serve.pojo.base.BasePage;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -12,10 +13,10 @@ import java.time.LocalDate;
 @NoArgsConstructor
 @AllArgsConstructor
 @Builder
-public class GameRankingDTO implements Serializable {
+public class GameRankingDTO extends BasePage<GameRankingDTO> implements Serializable {
     private static final long serialVersionUID = 1L;
 
-    private LocalDate startDay;
+    private LocalDate beginDay;
 
     private LocalDate endDay;
 }

+ 447 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdAccount.java

@@ -0,0 +1,447 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_ad_account
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_ad_account")
+public class AdAccount implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 账号id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 公司 id
+     */
+    private Long companyId;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 账号所属渠道(MP | GDT |  BYTE)
+     */
+    private String accountChannel;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 账号名称
+     */
+    private String accountName;
+
+    /**
+     * 账号是否可用:0不可用 1可用
+     */
+    private Integer enabled;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 计划数量(总)
+     */
+    private Long campaignCount;
+
+    /**
+     * 计划数量(今日)
+     */
+    private Long campaignCountToday;
+
+    /**
+     * 计划数量(昨日)
+     */
+    private Long campaignCountYesterday;
+
+    /**
+     * 广告数量(总)
+     */
+    private Long adCount;
+
+    /**
+     * 广告数量(今日)
+     */
+    private Long adCountToday;
+
+    /**
+     * 广告数量(昨日)
+     */
+    private Long adCountYesterday;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 消耗(昨日)
+     */
+    private BigDecimal costYesterday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 赔付金(昨日)
+     */
+    private BigDecimal costBackYesterday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 实际消耗(昨日)
+     */
+    private BigDecimal costRealYesterday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 曝光数(昨日)
+     */
+    private Long viewCountYesterday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 点击数量(昨日)
+     */
+    private Long clickCountYesterday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 转化量(昨日)
+     */
+    private Long convertCountYesterday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 深度转化(昨日)
+     */
+    private Long deepConvertCountYesterday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appDownloadCountYesterday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appInstallCountYesterday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 应用激活数(昨日)
+     */
+    private Long appActiveCountYesterday;
+
+
+}

+ 433 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdAccountStatDay.java

@@ -0,0 +1,433 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_ad_account_stat_day
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_ad_account_stat_day")
+public class AdAccountStatDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 账号id
+     */
+    private String id;
+
+    /**
+     * 统计日期
+     */
+    private LocalDateTime statDay;
+
+    /**
+     * 公司 id
+     */
+    private Long companyId;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 计划数量(总)
+     */
+    private Long campaignCount;
+
+    /**
+     * 计划数量(今日)
+     */
+    private Long campaignCountToday;
+
+    /**
+     * 计划数量(昨日)
+     */
+    private Long campaignCountYesterday;
+
+    /**
+     * 广告数量(总)
+     */
+    private Long adCount;
+
+    /**
+     * 广告数量(今日)
+     */
+    private Long adCountToday;
+
+    /**
+     * 广告数量(昨日)
+     */
+    private Long adCountYesterday;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 消耗(昨日)
+     */
+    private BigDecimal costYesterday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 赔付金(昨日)
+     */
+    private BigDecimal costBackYesterday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 实际消耗(昨日)
+     */
+    private BigDecimal costRealYesterday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 曝光数(昨日)
+     */
+    private Long viewCountYesterday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 点击数量(昨日)
+     */
+    private Long clickCountYesterday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 转化量(昨日)
+     */
+    private Long convertCountYesterday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 深度转化(昨日)
+     */
+    private Long deepConvertCountYesterday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appDownloadCountYesterday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appInstallCountYesterday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 应用激活数(昨日)
+     */
+    private Long appActiveCountYesterday;
+
+    private LocalDateTime createTime;
+
+
+}

+ 468 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdData.java

@@ -0,0 +1,468 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_ad_data
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_ad_data")
+public class AdData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 广告小时数据id
+     */
+    private Long id;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 广告 id
+     */
+    private Long adId;
+
+    private LocalDateTime createTime;
+
+    /**
+     * 日期
+     */
+    private LocalDateTime statDay;
+
+    /**
+     * 小时
+     */
+    private Integer hour;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 消耗(昨日)
+     */
+    private BigDecimal costYesterday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 赔付金(昨日)
+     */
+    private BigDecimal costBackYesterday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 实际消耗(昨日)
+     */
+    private BigDecimal costRealYesterday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 曝光数(昨日)
+     */
+    private Long viewCountYesterday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 点击数量(昨日)
+     */
+    private Long clickCountYesterday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 注册人数(昨日)(自然量)
+     */
+    private Long regUserCountNaturalYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(昨日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalYesterday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 首日充值金额(昨日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值人数(昨日)(自然量)
+     */
+    private Long rechargeUserNaturalYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 转化量(昨日)
+     */
+    private Long convertCountYesterday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 深度转化(昨日)
+     */
+    private Long deepConvertCountYesterday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appDownloadCountYesterday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appInstallCountYesterday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 应用激活数(昨日)
+     */
+    private Long appActiveCountYesterday;
+
+
+}

+ 502 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdInfo.java

@@ -0,0 +1,502 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_ad_info
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_ad_info")
+public class AdInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 广告ID
+     */
+    @TableId(value = "ad_id", type = IdType.AUTO)
+    private String adId;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 计划 id(广告所属计划)
+     */
+    private Long campaignId;
+
+    /**
+     * 广告名称
+     */
+    private String adName;
+
+    /**
+     * 广告出价
+     */
+    private BigDecimal bidAmount;
+
+    /**
+     * 总预算
+     */
+    private BigDecimal totalBudget;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 开始投放时间
+     */
+    private LocalDateTime beginTime;
+
+    /**
+     * 结束时间
+     */
+    private LocalDateTime endTime;
+
+    /**
+     * 投放渠道
+     */
+    private Long agentId;
+
+    /**
+     * 投放渠道标识
+     */
+    private String agentKey;
+
+    /**
+     * 账号是否可用:0不可用 1可用
+     */
+    private Integer enabled;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 消耗(昨日)
+     */
+    private BigDecimal costYesterday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 赔付金(昨日)
+     */
+    private BigDecimal costBackYesterday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 实际消耗(昨日)
+     */
+    private BigDecimal costRealYesterday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 曝光数(昨日)
+     */
+    private Long viewCountYesterday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 点击数量(昨日)
+     */
+    private Long clickCountYesterday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 注册人数(昨日)(自然量)
+     */
+    private Long regUserCountNaturalYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(昨日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalYesterday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 首日充值金额(昨日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值人数(昨日)(自然量)
+     */
+    private Long rechargeUserNaturalYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 转化量(昨日)
+     */
+    private Long convertCountYesterday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 深度转化(昨日)
+     */
+    private Long deepConvertCountYesterday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appDownloadCountYesterday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appInstallCountYesterday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 应用激活数(昨日)
+     */
+    private Long appActiveCountYesterday;
+
+
+}

+ 203 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/Company.java

@@ -0,0 +1,203 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天)
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-07
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_company")
+public class Company implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 公司id
+     */
+    private Long id;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 广告账号数量
+     */
+    private Long adAccountCount;
+
+    /**
+     * 广告数量
+     */
+    private Long adCount;
+
+    /**
+     * 总消耗
+     */
+    private BigDecimal cost;
+
+    /**
+     * 游戏数量
+     */
+    private Long gameCount;
+
+    /**
+     * 用户数
+     */
+    private Long gameUserCount;
+
+    /**
+     * 新用户数
+     */
+    private Long gameUserCountNew;
+
+    /**
+     * 用户数(自然量)
+     */
+    private Long gameUserCountNatural;
+
+    /**
+     * 下单用户数
+     */
+    private Long gameOrderUserCount;
+
+    /**
+     * 玩家角色数
+     */
+    private Long gameRoleCount;
+
+    /**
+     * 玩家角色数(自然量)
+     */
+    private Long gameRoleCountNatural;
+
+    /**
+     * 充值次数
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(自然量)
+     */
+    private Long rechargeCountNatural;
+
+    /**
+     * 充值金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 当日新用户充值次数
+     */
+    private Long rechargeCountNew;
+
+    /**
+     * 当日新用户充值金额
+     */
+    private BigDecimal rechargeMoneyNew;
+
+    /**
+     * 总充值次数(包含充值失败)
+     */
+    private Long rechargeCountTotal;
+
+    /**
+     * 总充值次数(包含充值失败)(自然量)
+     */
+    private Long rechargeCountTotalNatural;
+
+    /**
+     * 平均每笔订单金额
+     */
+    private BigDecimal averageOrderMoney;
+
+    /**
+     * 平均每个用户下单金额
+     */
+    private BigDecimal averageUserMoney;
+
+    /**
+     * ROI
+     */
+    private BigDecimal roi;
+
+    /**
+     * 首日ROI
+     */
+    private BigDecimal roi1;
+
+    /**
+     * 7日ROI
+     */
+    private BigDecimal roi7;
+
+    /**
+     * 12日ROI
+     */
+    private BigDecimal roi30;
+
+    /**
+     * 当日消耗
+     */
+    private BigDecimal costDay;
+
+    /**
+     * 当日充值次数/订单数
+     */
+    private Long rechargeCountDay;
+
+    /**
+     * 当日充值金额
+     */
+    private BigDecimal rechargeMoneyDay;
+
+    /**
+     * 平均单笔订单金额
+     */
+    private BigDecimal averageOrderMoneyDay;
+
+    /**
+     * 当日总充值次数(包括未支付成功的订单)
+     */
+    private Long rechargeCountTotalDay;
+
+    /**
+     * 当日新增玩家数
+     */
+    private Long gameUserCountDay;
+
+    /**
+     * 当日创建角色数
+     */
+    private Long gameRoleCountDay;
+
+    /**
+     * 当日回本率
+     */
+    private BigDecimal roiDay;
+
+    /**
+     * 首日ROI(当天注册用户充值 / 当日消耗)
+     */
+    private BigDecimal firstRoiDay;
+
+
+}

+ 209 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/CompanyStatDay.java

@@ -0,0 +1,209 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天)
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-07
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_company_stat_day")
+public class CompanyStatDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 公司id
+     */
+    private Long id;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 日期
+     */
+    private LocalDate statDay;
+
+    /**
+     * 广告账号数量
+     */
+    private Long adAccountCount;
+
+    /**
+     * 广告数量
+     */
+    private Long adCount;
+
+    /**
+     * 总消耗
+     */
+    private BigDecimal cost;
+
+    /**
+     * 游戏数量
+     */
+    private Long gameCount;
+
+    /**
+     * 用户数
+     */
+    private Long gameUserCount;
+
+    /**
+     * 新用户数
+     */
+    private Long gameUserCountNew;
+
+    /**
+     * 用户数(自然量)
+     */
+    private Long gameUserCountNatural;
+
+    /**
+     * 下单用户数
+     */
+    private Long gameOrderUserCount;
+
+    /**
+     * 玩家角色数
+     */
+    private Long gameRoleCount;
+
+    /**
+     * 玩家角色数(自然量)
+     */
+    private Long gameRoleCountNatural;
+
+    /**
+     * 充值次数
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(自然量)
+     */
+    private Long rechargeCountNatural;
+
+    /**
+     * 充值金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 当日新用户充值次数
+     */
+    private Long rechargeCountNew;
+
+    /**
+     * 当日新用户充值金额
+     */
+    private BigDecimal rechargeMoneyNew;
+
+    /**
+     * 总充值次数(包含充值失败)
+     */
+    private Long rechargeCountTotal;
+
+    /**
+     * 总充值次数(包含充值失败)(自然量)
+     */
+    private Long rechargeCountTotalNatural;
+
+    /**
+     * 平均每笔订单金额
+     */
+    private BigDecimal averageOrderMoney;
+
+    /**
+     * 平均每个用户下单金额
+     */
+    private BigDecimal averageUserMoney;
+
+    /**
+     * ROI
+     */
+    private BigDecimal roi;
+
+    /**
+     * 首日ROI
+     */
+    private BigDecimal roi1;
+
+    /**
+     * 7日ROI
+     */
+    private BigDecimal roi7;
+
+    /**
+     * 12日ROI
+     */
+    private BigDecimal roi30;
+
+    /**
+     * 当日消耗
+     */
+    private BigDecimal costDay;
+
+    /**
+     * 当日充值次数/订单数
+     */
+    private Long rechargeCountDay;
+
+    /**
+     * 当日充值金额
+     */
+    private BigDecimal rechargeMoneyDay;
+
+    /**
+     * 平均单笔订单金额
+     */
+    private BigDecimal averageOrderMoneyDay;
+
+    /**
+     * 当日总充值次数(包括未支付成功的订单)
+     */
+    private Long rechargeCountTotalDay;
+
+    /**
+     * 当日新增玩家数
+     */
+    private Long gameUserCountDay;
+
+    /**
+     * 当日创建角色数
+     */
+    private Long gameRoleCountDay;
+
+    /**
+     * 当日回本率
+     */
+    private BigDecimal roiDay;
+
+    /**
+     * 首日ROI(当天注册用户充值 / 当日消耗)
+     */
+    private BigDecimal firstRoiDay;
+
+
+}

+ 96 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/Cp.java

@@ -0,0 +1,96 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_cp
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_cp")
+public class Cp implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * cp_id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * cp名称
+     */
+    private String cpName;
+
+    /**
+     * 对接状态
+     */
+    private String status;
+
+    /**
+     * 联系人
+     */
+    private String linkMan;
+
+    /**
+     * 手机号
+     */
+    private String mobile;
+
+    /**
+     * 职位
+     */
+    private String position;
+
+    /**
+     * 1 伪删除  2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 渠道
+     */
+    private Long channel;
+
+    /**
+     * 删除时间
+     */
+    private LocalDateTime deleteTime;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 717 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/Game.java

@@ -0,0 +1,717 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game")
+public class Game implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 游戏id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * CP方 id
+     */
+    private Long cpId;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 投放渠道
+     */
+    private Long agentId;
+
+    /**
+     * 游戏名称
+     */
+    private String gameName;
+
+    /**
+     * 游戏的拼音
+     */
+    private String enName;
+
+    /**
+     * 首字母
+     */
+    private String enAbbr;
+
+    /**
+     * appkey
+     */
+    private String appKey;
+
+    /**
+     * 游戏标签
+     */
+    private String tags;
+
+    /**
+     * 游戏类型
+     */
+    private String category;
+
+    /**
+     * 游戏类别,3开头为android 4 开头为IOS 5 开头为H5 6开头为小程序 对应于game_class中的ID
+     */
+    private Integer classify;
+
+    /**
+     * CP回调路径
+     */
+    private String cpPaybackUrl;
+
+    /**
+     * 父游戏ID
+     */
+    private Long parentId;
+
+    /**
+     * 包名
+     */
+    private String packageName;
+
+    /**
+     * 上线时间
+     */
+    private LocalDateTime runTime;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 删除时间
+     */
+    private LocalDateTime deleteTime;
+
+    /**
+     * 添加CP时间
+     */
+    private LocalDateTime addCpTime;
+
+    /**
+     * 苹果应用ID
+     */
+    private String appleId;
+
+    /**
+     * 扩展 JSON格式 hot_image fine_image rebate_description  vip_description fine_description
+     */
+    private String extInfo;
+
+    /**
+     * 游戏互跳,1为互跳,2为不互跳
+     */
+    private Integer jumpSwitch;
+
+    /**
+     * 是否推广,1为推广,2为不推广
+     */
+    private Integer isPush;
+
+    /**
+     * 是否异常,1为异常,2为不异常
+     */
+    private Integer isExp;
+
+    /**
+     * 支付切换,1为切换,2为不切换
+     */
+    private Integer paySwitch;
+
+    /**
+     * 是否开启订单切量 1否 2是
+     */
+    private Integer orderSwitch;
+
+    /**
+     * 支付显示,1为不显示,2为显示
+     */
+    private Integer payShow;
+
+    /**
+     * 1 不显示浮点 2 显示浮点
+     */
+    private Integer floatIsShow;
+
+    /**
+     * 上线状态1 接入中, 2 可上线,3 已下线
+     */
+    private Integer status;
+
+    /**
+     * 1 伪删除  2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     *  1在线游戏 2 单机 
+     */
+    private Integer isOnline;
+
+    /**
+     * 1 不是SDK游戏  2 是SDK游戏
+     */
+    private Integer isSdk;
+
+    /**
+     * 分成比例
+     */
+    private Double shareScale;
+
+    /**
+     * 关联h5游戏id
+     */
+    private Long h5GameId;
+
+    /**
+     * 导量游戏id
+     */
+    private Long guideGameId;
+
+    /**
+     * 游戏地址
+     */
+    private String gameUrl;
+
+    /**
+     * 版本
+     */
+    private String version;
+
+    /**
+     * 游戏投放渠道数量(总)
+     */
+    private Long agentCount;
+
+    /**
+     * 游戏投放渠道数量(今日)
+     */
+    private Long agentCountToday;
+
+    /**
+     * 游戏投放渠道数量(昨日)
+     */
+    private Long agentCountYesterday;
+
+    /**
+     * 广告数量(总)
+     */
+    private Long adCount;
+
+    /**
+     * 广告数量(今日)
+     */
+    private Long adCountToday;
+
+    /**
+     * 广告数量(昨日)
+     */
+    private Long adCountYesterday;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 消耗(昨日)
+     */
+    private BigDecimal costYesterday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 赔付金(昨日)
+     */
+    private BigDecimal costBackYesterday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 实际消耗(昨日)
+     */
+    private BigDecimal costRealYesterday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 曝光数(昨日)
+     */
+    private Long viewCountYesterday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 点击数量(昨日)
+     */
+    private Long clickCountYesterday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 注册人数(总)(买量)
+     */
+    private Long regUserCountBuy;
+
+    /**
+     * 注册人数(今日)(买量)
+     */
+    private Long regUserCountBuyToday;
+
+    /**
+     * 注册 人数(昨日)(买量)
+     */
+    private Long regUserCountBuyYesterday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 注册人数(昨日)(自然量)
+     */
+    private Long regUserCountNaturalYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 首日充值金额(总)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuy;
+
+    /**
+     * 首日充值金额(今日)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuyToday;
+
+    /**
+     * 首日充值金额(昨日)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuyYesterday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 首日充值金额(昨日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)(买量)
+     */
+    private BigDecimal rechargeMoneyBuy;
+
+    /**
+     * 充值金额(今日)(买量)
+     */
+    private BigDecimal rechargeMoneyBuyToday;
+
+    /**
+     * 充值金额(昨日)(买量)
+     */
+    private BigDecimal rechargeMoneyBuyYesterday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(昨日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值人数(总)(买量)
+     */
+    private Long rechargeUserBuy;
+
+    /**
+     * 充值人数(今日)(买量)
+     */
+    private Long rechargeUserBuyToday;
+
+    /**
+     * 充值人数(昨日)(买量)
+     */
+    private Long rechargeUserBuyYesterday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值人数(昨日)(自然量)
+     */
+    private Long rechargeUserNaturalYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 转化量(昨日)
+     */
+    private Long convertCountYesterday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 深度转化(昨日)
+     */
+    private Long deepConvertCountYesterday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appDownloadCountYesterday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appInstallCountYesterday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 应用激活数(昨日)
+     */
+    private Long appActiveCountYesterday;
+
+
+}

+ 267 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameOrder.java

@@ -0,0 +1,267 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_order
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_order")
+public class GameOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 自增id
+     */
+    private Long id;
+
+    /**
+     * 充值日期
+     */
+    private LocalDate statDay;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 商户号
+     */
+    private String merchantNo;
+
+    /**
+     * 商户名称
+     */
+    private String merchantName;
+
+    /**
+     * 商户订单号
+     */
+    private String orderId;
+
+    /**
+     * CP订单号
+     */
+    private String cpOrderId;
+
+    /**
+     * 注册游戏id
+     */
+    private Long regGameId;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 游戏用户ID
+     */
+    private Long gameUserId;
+
+    /**
+     * 服务器id
+     */
+    private String serverId;
+
+    /**
+     * 游戏玩家ID
+     */
+    private Long gamePlayerId;
+
+    /**
+     * 角色id
+     */
+    private Long gameRoleId;
+
+    /**
+     * 游戏渠道ID
+     */
+    private Long agentId;
+
+    /**
+     * 货物总价
+     */
+    private BigDecimal amount;
+
+    /**
+     * 实际支付金额
+     */
+    private BigDecimal realAmount;
+
+    /**
+     * 游戏商品ID
+     */
+    private String productId;
+
+    /**
+     * 游戏商品数量
+     */
+    private Long productCount;
+
+    /**
+     * 游戏商品名称
+     */
+    private String productName;
+
+    /**
+     * 优惠券抵扣
+     */
+    private BigDecimal couponAmount;
+
+    /**
+     * 平台币抵扣金额
+     */
+    private BigDecimal ptbAmount;
+
+    /**
+     * 游戏币使用余额
+     */
+    private BigDecimal gmAmount;
+
+    /**
+     * 使用积分
+     */
+    private Long integral;
+
+    /**
+     * 使用积分抵多少钱
+     */
+    private BigDecimal integralMoney;
+
+    /**
+     * 返利数量 默认为0
+     */
+    private BigDecimal rebateAmount;
+
+    /**
+     * 支付平台返回交易订单号
+     */
+    private String merchantOrderNo;
+
+    /**
+     * 折扣
+     */
+    private BigDecimal rate;
+
+    /**
+     * 支付状态,1为待处理,2为成功,3为失败
+     */
+    private Integer status;
+
+    /**
+     * CP通知状态,1为待处理,2为成功,3为失败
+     */
+    private Integer cpStatus;
+
+    /**
+     * 支付方式名称
+     */
+    private String payway;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime regTime;
+
+    /**
+     * 支付时间
+     */
+    private LocalDateTime payTime;
+
+    /**
+     * 充值时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 结束时间
+     */
+    private LocalDateTime endTime;
+
+    /**
+     * 是否首充 0 否 1 是
+     */
+    private Integer isFirstRecharge;
+
+    /**
+     * 操作系统
+     */
+    private String fromDevice;
+
+    /**
+     * 支付类型, 1:PC, 2: h5支付, 3: App支付, 4: 小程序支付, 5: 米大师支付
+     */
+    private Integer payDevice;
+
+    /**
+     * 通知次数
+     */
+    private Long notifyCnt;
+
+    /**
+     * 最近通知时间
+     */
+    private LocalDateTime lastNotifyTime;
+
+    /**
+     * CP附加参数
+     */
+    private String ext;
+
+    /**
+     * 是否切换 1切换 2 不切换
+     */
+    private Integer isSwitch;
+
+    /**
+     * 米大师虚拟币余额
+     */
+    private BigDecimal midasBalance;
+
+    /**
+     * 删除状态 0 正常 1 已删除
+     */
+    private Integer isDelete;
+
+    /**
+     * SDK来源
+     */
+    private String sourceSystem;
+
+
+}

+ 222 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GamePlayer.java

@@ -0,0 +1,222 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_player
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_player")
+public class GamePlayer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 玩家id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 用户 id
+     */
+    private Long gameUserId;
+
+    /**
+     * 所属渠道ID
+     */
+    private Long agentId;
+
+    /**
+     * 广告id
+     */
+    private Long adId;
+
+    /**
+     * 父Id
+     */
+    private Long parentId;
+
+    /**
+     * 注册日期
+     */
+    private LocalDateTime regDay;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 昵称
+     */
+    private String nickname;
+
+    /**
+     * 注册手机号
+     */
+    private String regMobile;
+
+    /**
+     * 注册邮箱
+     */
+    private String regEmail;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 绑定手机号码
+     */
+    private String mobile;
+
+    /**
+     * 设备来源 mobile,android,iphone,ipad,web,pc,mac,wxapp
+     */
+    private String fromDevice;
+
+    /**
+     * 设备ID android 为imei ios 为idfa
+     */
+    private String deviceId;
+
+    /**
+     * 运营商
+     */
+    private String operatorType;
+
+    /**
+     * 1 为试玩状态 2为正常状态,3为冻结状态
+     */
+    private Integer status;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更改时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否切换 1 切换 2不切换
+     */
+    private Integer isSwitch;
+
+    /**
+     * 切量时间 指定切量时间后的订单都会被切量
+     */
+    private LocalDateTime switchTime;
+
+    /**
+     * 切量金额 大于指定切量金额的订单都才被切量
+     */
+    private BigDecimal switchMoney;
+
+    /**
+     * 平台币余额
+     */
+    private BigDecimal platformCoin;
+
+    /**
+     * 是否GS
+     */
+    private Long isGs;
+
+    /**
+     * 拥有角色最高vip
+     */
+    private Long vipMax;
+
+    /**
+     * 创角数
+     */
+    private Long roleCount;
+
+    /**
+     * 首次充值金额
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首次充值时间
+     */
+    private LocalDateTime firstRechargeTime;
+
+    /**
+     * 充值成功次数
+     */
+    private Long rechargeCount;
+
+    /**
+     * 累计账面充值金额
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 累计支付金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 今日充值金额
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 昨日充值金额
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 最后充值时间
+     */
+    private LocalDateTime lastRechargeTime;
+
+    /**
+     * 最后充值金额
+     */
+    private BigDecimal lastRechargeMoney;
+
+    /**
+     * 发起充值次数(包括未支付的订单)
+     */
+    private Long rechargeCountTotal;
+
+
+}

+ 187 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GamePlayerRole.java

@@ -0,0 +1,187 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_player_role
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_player_role")
+public class GamePlayerRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 角色id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 投放渠道
+     */
+    private Long agentId;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 游戏用户id, 对应game_user主键id
+     */
+    private Long gameUserId;
+
+    /**
+     * 游戏区服id
+     */
+    private String serverId;
+
+    /**
+     * 游戏玩家 id
+     */
+    private Long gamePlayerId;
+
+    /**
+     * 区服id(大区)
+     */
+    private String regionalId;
+
+    /**
+     * 角色id
+     */
+    private Long roleId;
+
+    /**
+     * 注册日期
+     */
+    private LocalDateTime regDay;
+
+    /**
+     * 角色名称
+     */
+    private String roleName;
+
+    /**
+     * 角色等级
+     */
+    private Long roleLevel;
+
+    /**
+     * 角色VIP
+     */
+    private Long roleVip;
+
+    /**
+     * 金钱
+     */
+    private BigDecimal money;
+
+    /**
+     * 玩家角色战力
+     */
+    private Long combatNum;
+
+    /**
+     * 扩展信息
+     */
+    private String ext;
+
+    /**
+     * 操作系统
+     */
+    private String os;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 最后登录时间
+     */
+    private LocalDateTime lastLoginTime;
+
+    /**
+     * 首次充值金额
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首次充值时间
+     */
+    private LocalDateTime firstRechargeTime;
+
+    /**
+     * 充值成功次数
+     */
+    private Long rechargeCount;
+
+    /**
+     * 累计账面充值金额
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 累计支付金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 今日充值金额
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 昨日充值金额
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 最后充值时间
+     */
+    private LocalDateTime lastRechargeTime;
+
+    /**
+     * 最后充值金额
+     */
+    private BigDecimal lastRechargeMoney;
+
+    /**
+     * 发起充值次数(包括未支付的订单)
+     */
+    private Long rechargeCountTotal;
+
+
+}

+ 372 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameServer.java

@@ -0,0 +1,372 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_server
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_server")
+public class GameServer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 区服id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 小区服id
+     */
+    private String serverId;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 所属渠道ID
+     */
+    private Long agentId;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 区服名称
+     */
+    private String serverName;
+
+    /**
+     * 大区服id
+     */
+    private String regionalId;
+
+    /**
+     * 大区服名称
+     */
+    private Integer regionalName;
+
+    /**
+     * 区服标识
+     */
+    private String serCode;
+
+    /**
+     * 新服描述
+     */
+    private String serDesc;
+
+    /**
+     * 开服时间
+     */
+    private LocalDateTime startTime;
+
+    /**
+     * 新服状态,1为预告,2为已开服
+     */
+    private Integer status;
+
+    /**
+     * 伪删除,2 正常,1 删除
+     */
+    private Integer isDelete;
+
+    /**
+     * 删除时间
+     */
+    private LocalDateTime deleteTime;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 注册人数(昨日)(自然量)
+     */
+    private Long regUserCountNaturalYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(昨日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalYesterday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 首日充值金额(昨日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值人数(昨日)(自然量)
+     */
+    private Long rechargeUserNaturalYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+
+}

+ 321 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameServerStatDay.java

@@ -0,0 +1,321 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_server_stat_day
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_server_stat_day")
+public class GameServerStatDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 区服id
+     */
+    private Long id;
+
+    /**
+     * 游戏区服ID
+     */
+    private Long serverId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 开始时间
+     */
+    private LocalDateTime statDay;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 所属渠道ID
+     */
+    private Long agentId;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 注册人数(昨日)(自然量)
+     */
+    private Long regUserCountNaturalYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(昨日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalYesterday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 首日充值金额(昨日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值人数(昨日)(自然量)
+     */
+    private Long rechargeUserNaturalYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+
+}

+ 721 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameStatDay.java

@@ -0,0 +1,721 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_stat_day
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_stat_day")
+public class GameStatDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 游戏id
+     */
+    private Long id;
+
+    /**
+     * 日期
+     */
+    private LocalDateTime statDay;
+
+    /**
+     * CP方 id
+     */
+    private Long cpId;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 投放渠道
+     */
+    private Long agentId;
+
+    /**
+     * 游戏名称
+     */
+    private String gameName;
+
+    /**
+     * 游戏的拼音
+     */
+    private String enName;
+
+    /**
+     * 首字母
+     */
+    private String enAbbr;
+
+    /**
+     * appkey
+     */
+    private String appKey;
+
+    /**
+     * 游戏标签
+     */
+    private String tags;
+
+    /**
+     * 游戏类型
+     */
+    private String category;
+
+    /**
+     * 游戏类别,3开头为android 4 开头为IOS 5 开头为H5 6开头为小程序 对应于game_class中的ID
+     */
+    private Integer classify;
+
+    /**
+     * CP回调路径
+     */
+    private String cpPaybackUrl;
+
+    /**
+     * 父游戏ID
+     */
+    private Long parentId;
+
+    /**
+     * 包名
+     */
+    private String packageName;
+
+    /**
+     * 上线时间
+     */
+    private LocalDateTime runTime;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 删除时间
+     */
+    private LocalDateTime deleteTime;
+
+    /**
+     * 添加CP时间
+     */
+    private LocalDateTime addCpTime;
+
+    /**
+     * 苹果应用ID
+     */
+    private String appleId;
+
+    /**
+     * 扩展 JSON格式 hot_image fine_image rebate_description  vip_description fine_description
+     */
+    private String extInfo;
+
+    /**
+     * 游戏互跳,1为互跳,2为不互跳
+     */
+    private Integer jumpSwitch;
+
+    /**
+     * 是否推广,1为推广,2为不推广
+     */
+    private Integer isPush;
+
+    /**
+     * 是否异常,1为异常,2为不异常
+     */
+    private Integer isExp;
+
+    /**
+     * 支付切换,1为切换,2为不切换
+     */
+    private Integer paySwitch;
+
+    /**
+     * 是否开启订单切量 1否 2是
+     */
+    private Integer orderSwitch;
+
+    /**
+     * 支付显示,1为不显示,2为显示
+     */
+    private Integer payShow;
+
+    /**
+     * 1 不显示浮点 2 显示浮点
+     */
+    private Integer floatIsShow;
+
+    /**
+     * 上线状态1 接入中, 2 可上线,3 已下线
+     */
+    private Integer status;
+
+    /**
+     * 1 伪删除  2 正常
+     */
+    private Integer isDelete;
+
+    /**
+     *  1在线游戏 2 单机 
+     */
+    private Integer isOnline;
+
+    /**
+     * 1 不是SDK游戏  2 是SDK游戏
+     */
+    private Integer isSdk;
+
+    /**
+     * 分成比例
+     */
+    private Double shareScale;
+
+    /**
+     * 关联h5游戏id
+     */
+    private Long h5GameId;
+
+    /**
+     * 导量游戏id
+     */
+    private Long guideGameId;
+
+    /**
+     * 游戏地址
+     */
+    private String gameUrl;
+
+    /**
+     * 版本
+     */
+    private String version;
+
+    /**
+     * 游戏投放渠道数量(总)
+     */
+    private Long agentCount;
+
+    /**
+     * 游戏投放渠道数量(今日)
+     */
+    private Long agentCountToday;
+
+    /**
+     * 游戏投放渠道数量(昨日)
+     */
+    private Long agentCountYesterday;
+
+    /**
+     * 广告数量(总)
+     */
+    private Long adCount;
+
+    /**
+     * 广告数量(今日)
+     */
+    private Long adCountToday;
+
+    /**
+     * 广告数量(昨日)
+     */
+    private Long adCountYesterday;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 消耗(昨日)
+     */
+    private BigDecimal costYesterday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 赔付金(昨日)
+     */
+    private BigDecimal costBackYesterday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 实际消耗(昨日)
+     */
+    private BigDecimal costRealYesterday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 曝光数(昨日)
+     */
+    private Long viewCountYesterday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 点击数量(昨日)
+     */
+    private Long clickCountYesterday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(昨日)
+     */
+    private Long regUserCountYesterday;
+
+    /**
+     * 注册人数(总)(买量)
+     */
+    private Long regUserCountBuy;
+
+    /**
+     * 注册人数(今日)(买量)
+     */
+    private Long regUserCountBuyToday;
+
+    /**
+     * 注册 人数(昨日)(买量)
+     */
+    private Long regUserCountBuyYesterday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 注册人数(昨日)(自然量)
+     */
+    private Long regUserCountNaturalYesterday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 首日创角人数(昨日)
+     */
+    private Long userCountOfFirstCreateRoleYesterday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 创角人数(昨日)
+     */
+    private Long userCountOfCreateRoleYesterday;
+
+    /**
+     * 创角数(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角数(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 创角数(昨日)
+     */
+    private Long createRoleCountYesterday;
+
+    /**
+     * 首日创角数(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角数(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 首日创角数(昨日)
+     */
+    private Long firstCreateRoleCountYesterday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 活跃人数(昨日)
+     */
+    private Long activeUserCountYesterday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值人数(昨日)
+     */
+    private Long firstRechargeUserYesterday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值次数(昨日)
+     */
+    private Long firstRechargeCountYesterday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(昨日)
+     */
+    private BigDecimal firstRechargeMoneyYesterday;
+
+    /**
+     * 首日充值金额(总)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuy;
+
+    /**
+     * 首日充值金额(今日)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuyToday;
+
+    /**
+     * 首日充值金额(昨日)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuyYesterday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 首日充值金额(昨日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalYesterday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(昨日)
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 充值金额(总)(买量)
+     */
+    private BigDecimal rechargeMoneyBuy;
+
+    /**
+     * 充值金额(今日)(买量)
+     */
+    private BigDecimal rechargeMoneyBuyToday;
+
+    /**
+     * 充值金额(昨日)(买量)
+     */
+    private BigDecimal rechargeMoneyBuyYesterday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(昨日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalYesterday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 账面充值金额(昨日)
+     */
+    private BigDecimal showRechargeMoneyYesterday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(昨日)
+     */
+    private Long rechargeUserYesterday;
+
+    /**
+     * 充值人数(总)(买量)
+     */
+    private Long rechargeUserBuy;
+
+    /**
+     * 充值人数(今日)(买量)
+     */
+    private Long rechargeUserBuyToday;
+
+    /**
+     * 充值人数(昨日)(买量)
+     */
+    private Long rechargeUserBuyYesterday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值人数(昨日)(自然量)
+     */
+    private Long rechargeUserNaturalYesterday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 充值次数(昨日)
+     */
+    private Long rechargeCountYesterday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 转化量(昨日)
+     */
+    private Long convertCountYesterday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 深度转化(昨日)
+     */
+    private Long deepConvertCountYesterday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appDownloadCountYesterday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载量(昨日)
+     */
+    private Long appInstallCountYesterday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 应用激活数(昨日)
+     */
+    private Long appActiveCountYesterday;
+
+
+}

+ 247 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameUser.java

@@ -0,0 +1,247 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_user
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_user")
+public class GameUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 注册日期
+     */
+    private LocalDateTime regDay;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 所属渠道ID
+     */
+    private Long agentId;
+
+    /**
+     * 游戏 id
+     */
+    private Long gameId;
+
+    /**
+     * 广告id
+     */
+    private Long adId;
+
+    /**
+     * 是否自然量;1:自然量;2:买量
+     */
+    private Integer isNatural;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 昵称
+     */
+    private String nickname;
+
+    /**
+     * 注册手机号
+     */
+    private String regMobile;
+
+    /**
+     * 注册邮箱
+     */
+    private String regEmail;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 绑定手机号码
+     */
+    private String mobile;
+
+    /**
+     * 设备来源 mobile,android,iphone,ipad,web,pc,mac,wxapp
+     */
+    private String fromDevice;
+
+    /**
+     * 设备ID android 为imei ios 为idfa
+     */
+    private String deviceId;
+
+    /**
+     * 运营商
+     */
+    private String operatorType;
+
+    /**
+     * 父Id
+     */
+    private Long parentId;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更改时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否切换 1 切换 2不切换
+     */
+    private Integer isSwitch;
+
+    /**
+     * 切量时间 指定切量时间后的订单都会被切量
+     */
+    private LocalDateTime switchTime;
+
+    /**
+     * 切量金额 大于指定切量金额的订单都才被切量
+     */
+    private BigDecimal switchMoney;
+
+    /**
+     * 平台币余额
+     */
+    private BigDecimal platformCoin;
+
+    /**
+     * 是否GS
+     */
+    private Long isGs;
+
+    /**
+     * 拥有角色最高vip
+     */
+    private Long vipMax;
+
+    /**
+     * 用户标签(用户等级)
+     */
+    private String userTags;
+
+    /**
+     * 创角数
+     */
+    private Long roleCount;
+
+    /**
+     * 首次充值金额
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首次充值时间
+     */
+    private LocalDateTime firstRechargeTime;
+
+    /**
+     * 充值成功次数
+     */
+    private Long rechargeCount;
+
+    /**
+     * 累计账面充值金额
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 累计支付金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 订单均价
+     */
+    private BigDecimal avgOrderMoney;
+
+    /**
+     * 今日充值金额
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 昨日充值金额
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 最后充值时间
+     */
+    private LocalDateTime lastRechargeTime;
+
+    /**
+     * 最后充值金额
+     */
+    private BigDecimal lastRechargeMoney;
+
+    /**
+     * 发起充值次数(包括未支付的订单)
+     */
+    private Long rechargeCountTotal;
+
+    /**
+     * 最后充值游戏ID
+     */
+    private Long lastRechargeGameId;
+
+    /**
+     * 最后充值游戏
+     */
+    private String lastRechargeGameName;
+
+    /**
+     * 注册游戏ID
+     */
+    private Long registerRechargeGameId;
+
+    /**
+     * 注册游戏
+     */
+    private String registerRechargeGameName;
+
+
+}

+ 251 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/GameUserStatDay.java

@@ -0,0 +1,251 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_game_user_stat_day
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_game_user_stat_day")
+public class GameUserStatDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户id
+     */
+    private Long id;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 游戏 id
+     */
+    private Long gameId;
+
+    /**
+     * 是否自然量;1:自然量;2:买量
+     */
+    private Integer isNatural;
+
+    /**
+     * 开始时间
+     */
+    private LocalDateTime statDay;
+
+    /**
+     * 注册日期
+     */
+    private LocalDateTime regDay;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 昵称
+     */
+    private String nickname;
+
+    /**
+     * 注册手机号
+     */
+    private String regMobile;
+
+    /**
+     * 注册邮箱
+     */
+    private String regEmail;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
+    /**
+     * 绑定手机号码
+     */
+    private String mobile;
+
+    /**
+     * 设备来源 mobile,android,iphone,ipad,web,pc,mac,wxapp
+     */
+    private String fromDevice;
+
+    /**
+     * 设备ID android 为imei ios 为idfa
+     */
+    private String deviceId;
+
+    /**
+     * 运营商
+     */
+    private String operatorType;
+
+    /**
+     * 所属渠道ID
+     */
+    private Long agentId;
+
+    /**
+     * 父Id
+     */
+    private Long parentId;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更改时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 是否切换 1 切换 2不切换
+     */
+    private Integer isSwitch;
+
+    /**
+     * 切量时间 指定切量时间后的订单都会被切量
+     */
+    private LocalDateTime switchTime;
+
+    /**
+     * 切量金额 大于指定切量金额的订单都才被切量
+     */
+    private Long switchMoney;
+
+    /**
+     * 平台币余额
+     */
+    private BigDecimal platformCoin;
+
+    /**
+     * 是否GS
+     */
+    private Long isGs;
+
+    /**
+     * 拥有角色最高vip
+     */
+    private Long vipMax;
+
+    /**
+     * 广告id
+     */
+    private Long adId;
+
+    /**
+     * 用户标签(用户等级)
+     */
+    private String userTags;
+
+    /**
+     * 创角数
+     */
+    private Long roleCount;
+
+    /**
+     * 首次充值金额
+     */
+    private BigDecimal firstRechargeMoney;
+
+    /**
+     * 首次充值时间
+     */
+    private LocalDateTime firstRechargeTime;
+
+    /**
+     * 充值成功次数
+     */
+    private Long rechargeCount;
+
+    /**
+     * 累计账面充值金额
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 累计支付金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 订单均价
+     */
+    private BigDecimal avgOrderMoney;
+
+    /**
+     * 今日充值金额
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 昨日充值金额
+     */
+    private BigDecimal rechargeMoneyYesterday;
+
+    /**
+     * 最后充值时间
+     */
+    private LocalDateTime lastRechargeTime;
+
+    /**
+     * 最后充值金额
+     */
+    private BigDecimal lastRechargeMoney;
+
+    /**
+     * 发起充值次数(包括未支付的订单)
+     */
+    private Long rechargeCountTotal;
+
+    /**
+     * 最后充值游戏ID
+     */
+    private Long lastRechargeGameId;
+
+    /**
+     * 最后充值游戏
+     */
+    private String lastRechargeGameName;
+
+    /**
+     * 注册游戏ID
+     */
+    private Long registerRechargeGameId;
+
+    /**
+     * 注册游戏
+     */
+    private String registerRechargeGameName;
+
+
+}

+ 80 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/PromoteAgent.java

@@ -0,0 +1,80 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_promote_agent
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_promote_agent")
+public class PromoteAgent implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 渠道id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 投手 id
+     */
+    private Long sysUserId;
+
+    /**
+     * 广告账号
+     */
+    private String accountId;
+
+    /**
+     * 游戏 id
+     */
+    private Long gameId;
+
+    /**
+     * 渠道标识(唯一)
+     */
+    private String agentKey;
+
+    /**
+     * 渠道名称
+     */
+    private String agentName;
+
+    /**
+     * 账号是否可用:0不可用 1可用
+     */
+    private Integer enabled;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 推广媒体
+     */
+    private String promoteMedia;
+
+
+}

+ 593 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/PromoteAgentStatDay.java

@@ -0,0 +1,593 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 游戏推广渠道日报表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-07
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_promote_agent_stat_day")
+public class PromoteAgentStatDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 渠道id
+     */
+    private Long agentId;
+
+    /**
+     * 统计日期
+     */
+    private LocalDate statDay;
+
+    /**
+     * 订单日期
+     */
+    private LocalDate orderDay;
+
+    /**
+     * 推广账号名称
+     */
+    private String promoteAccountName;
+
+    /**
+     * 推广账号ID
+     */
+    private String promoteAccountId;
+
+    /**
+     * 推广状态(ing,stop)
+     */
+    private String promoteStatus;
+
+    /**
+     * CP_ID
+     */
+    private Long cpId;
+
+    /**
+     * CP名称
+     */
+    private String cpName;
+
+    /**
+     * 游戏id
+     */
+    private Long gameId;
+
+    /**
+     * 游戏名称
+     */
+    private String gameName;
+
+    /**
+     * 游戏类型
+     */
+    private String gameType;
+
+    /**
+     * 投放渠道(mp/gdt/byte)
+     */
+    private String putAgent;
+
+    /**
+     * 投手id
+     */
+    private Long sysUserId;
+
+    /**
+     * 投手名称
+     */
+    private String sysUserName;
+
+    /**
+     * 广告数量(总)
+     */
+    private Long adCount;
+
+    /**
+     * 广告数量(今日)
+     */
+    private Long adCountToday;
+
+    /**
+     * 消耗(总)
+     */
+    private BigDecimal cost;
+
+    /**
+     * 消耗(今日)
+     */
+    private BigDecimal costToday;
+
+    /**
+     * 赔付金(总)
+     */
+    private BigDecimal costBack;
+
+    /**
+     * 赔付金(今日)
+     */
+    private BigDecimal costBackToday;
+
+    /**
+     * 实际消耗(总)
+     */
+    private BigDecimal costReal;
+
+    /**
+     * 实际消耗(今日)
+     */
+    private BigDecimal costRealToday;
+
+    /**
+     * 曝光数(总)
+     */
+    private Long viewCount;
+
+    /**
+     * 曝光数(今日)
+     */
+    private Long viewCountToday;
+
+    /**
+     * 点击数(总)
+     */
+    private Long clickCount;
+
+    /**
+     * 点击数量(今日)
+     */
+    private Long clickCountToday;
+
+    /**
+     * 转化量(总)
+     */
+    private Long convertCount;
+
+    /**
+     * 转化量(今日)
+     */
+    private Long convertCountToday;
+
+    /**
+     * 深度转化(总)
+     */
+    private Long deepConvertCount;
+
+    /**
+     * 深度转化(今日)
+     */
+    private Long deepConvertCountToday;
+
+    /**
+     * 应用下载量(总)
+     */
+    private Long appDownloadCount;
+
+    /**
+     * 应用下载量(今日)
+     */
+    private Long appDownloadCountToday;
+
+    /**
+     * 应用安装量(总)
+     */
+    private Long appInstallCount;
+
+    /**
+     * 应用安装量(今日)
+     */
+    private Long appInstallCountToday;
+
+    /**
+     * 应用下载完成量 (总)
+     */
+    private Long downloadFinish;
+
+    /**
+     * 应用下载完成量(今日)
+     */
+    private Long downloadFinishToday;
+
+    /**
+     * 应用激活数(总)
+     */
+    private Long appActiveCount;
+
+    /**
+     * 应用激活数(今日)
+     */
+    private Long appActiveCountToday;
+
+    /**
+     * 注册人数(总)
+     */
+    private Long regUserCount;
+
+    /**
+     * 注册人数(今日)
+     */
+    private Long regUserCountToday;
+
+    /**
+     * 注册人数(总)(买量)
+     */
+    private Long regUserCountBuy;
+
+    /**
+     * 注册人数(今日)(买量)
+     */
+    private Long regUserCountBuyToday;
+
+    /**
+     * 注册人数(总)(自然量)
+     */
+    private Long regUserCountNatural;
+
+    /**
+     * 注册人数(今日)(自然量)
+     */
+    private Long regUserCountNaturalToday;
+
+    /**
+     * 活跃人数(总)
+     */
+    private Long activeUserCount;
+
+    /**
+     * 活跃人数(今日)
+     */
+    private Long activeUserCountToday;
+
+    /**
+     * 创角人数(总)
+     */
+    private Long userCountOfCreateRole;
+
+    /**
+     * 创角人数(今日)
+     */
+    private Long userCountOfCreateRoleToday;
+
+    /**
+     * 首日创角人数(总)
+     */
+    private Long userCountOfFirstCreateRole;
+
+    /**
+     * 首日创角人数(今日)
+     */
+    private Long userCountOfFirstCreateRoleToday;
+
+    /**
+     * 新用户累计创角人数(总)
+     */
+    private Long firstUserCountOfFirstCreateRole;
+
+    /**
+     * 新用户累计创角人数(今日)
+     */
+    private Long firstUserCountOfFirstCreateRoleToday;
+
+    /**
+     * 创角量(总)
+     */
+    private Long createRoleCount;
+
+    /**
+     * 创角量(今日)
+     */
+    private Long createRoleCountToday;
+
+    /**
+     * 首日创角量(总)
+     */
+    private Long firstCreateRoleCount;
+
+    /**
+     * 首日创角量(今日)
+     */
+    private Long firstCreateRoleCountToday;
+
+    /**
+     * 新用户累计创角量(总)
+     */
+    private Long roleCountOfFirstUser;
+
+    /**
+     * 新用户累计创角量(今日)
+     */
+    private Long roleCountOfFirstUserToday;
+
+    /**
+     * 首日新用户充值次数(总)
+     */
+    private Long firstUserRechargeCount;
+
+    /**
+     * 首日新用户充值次数(今日)
+     */
+    private Long firstUserRechargeCountToday;
+
+    /**
+     * 首日新用户充值人数(总)
+     */
+    private Long firstUserRechargeUser;
+
+    /**
+     * 首日新用户充值人数(今日)
+     */
+    private Long firstUserRechargeUserToday;
+
+    /**
+     * 首日新用户充值金额(总)
+     */
+    private BigDecimal firstUserRechargeMoney;
+
+    /**
+     * 首日新用户充值金额(今日)
+     */
+    private BigDecimal firstUserRechargeMoneyToday;
+
+    /**
+     * 老用户充值次数(总)
+     */
+    private Long oldUserRechargeCount;
+
+    /**
+     * 老用户充值次数(今日)
+     */
+    private Long oldUserRechargeCountToday;
+
+    /**
+     * 老用户充值人数(总)
+     */
+    private Long oldUserRechargeUser;
+
+    /**
+     * 老用户充值人数(今日)
+     */
+    private Long oldUserRechargeUserToday;
+
+    /**
+     * 老用户充值金额(总)
+     */
+    private BigDecimal oldUserRechargeMoney;
+
+    /**
+     * 老用户充值金额(今日)
+     */
+    private BigDecimal oldUserRechargeMoneyToday;
+
+    /**
+     * 账面充值次数(总)
+     */
+    private Long showRechargeCount;
+
+    /**
+     * 账面充值次数(今日)
+     */
+    private Long showRechargeCountToday;
+
+    /**
+     * 账面充值人数(总)
+     */
+    private Long showRechargeUser;
+
+    /**
+     * 账面充值人数(今日)
+     */
+    private Long showRechargeUserToday;
+
+    /**
+     * 账面充值金额(总)
+     */
+    private BigDecimal showRechargeMoney;
+
+    /**
+     * 账面充值金额(今日)
+     */
+    private BigDecimal showRechargeMoneyToday;
+
+    /**
+     * 新用户累计充值次数(总)
+     */
+    private Long newUserRechargeCount;
+
+    /**
+     * 新用户累计充值次数(今日)
+     */
+    private Long newUserRechargeCountToday;
+
+    /**
+     * 新用户累计充值人数(总)
+     */
+    private Long newUserRechargeUser;
+
+    /**
+     * 新用户累计充值人数(今日)
+     */
+    private Long newUserRechargeUserToday;
+
+    /**
+     * 新用户累计充值金额(总)
+     */
+    private BigDecimal newUserRechargeMoney;
+
+    /**
+     * 新用户累计充值金额(今日)
+     */
+    private BigDecimal newUserRechargeMoneyToday;
+
+    /**
+     * 首日充值人数(总)
+     */
+    private Long firstRechargeUser;
+
+    /**
+     * 首日充值人数(今日)
+     */
+    private Long firstRechargeUserToday;
+
+    /**
+     * 首日充值次数(总)
+     */
+    private Long firstRechargeCount;
+
+    /**
+     * 首日充值次数(今日)
+     */
+    private Long firstRechargeCountToday;
+
+    /**
+     * 首日充值金额(总)
+     */
+    private Long firstRechargeMoney;
+
+    /**
+     * 首日充值金额(今日)
+     */
+    private BigDecimal firstRechargeMoneyToday;
+
+    /**
+     * 首日充值金额(总)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuy;
+
+    /**
+     * 首日充值金额(今日)(买量)
+     */
+    private BigDecimal firstRechargeMoneyBuyToday;
+
+    /**
+     * 首日充值金额(总)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNatural;
+
+    /**
+     * 首日充值金额(今日)(自然量)
+     */
+    private BigDecimal firstRechargeMoneyNaturalToday;
+
+    /**
+     * 充值金额(总)
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 充值金额(今日)
+     */
+    private BigDecimal rechargeMoneyToday;
+
+    /**
+     * 充值金额(总)(买量)
+     */
+    private BigDecimal rechargeMoneyBuy;
+
+    /**
+     * 充值金额(今日)(买量)
+     */
+    private BigDecimal rechargeMoneyBuyToday;
+
+    /**
+     * 充值金额(总)(自然量)
+     */
+    private BigDecimal rechargeMoneyNatural;
+
+    /**
+     * 充值金额(今日)(自然量)
+     */
+    private BigDecimal rechargeMoneyNaturalToday;
+
+    /**
+     * 充值人数(总)
+     */
+    private Long rechargeUser;
+
+    /**
+     * 充值人数(今日)
+     */
+    private Long rechargeUserToday;
+
+    /**
+     * 充值人数(总)(买量)
+     */
+    private Long rechargeUserBuy;
+
+    /**
+     * 充值人数(今日)(买量)
+     */
+    private Long rechargeUserBuyToday;
+
+    /**
+     * 充值人数(总)(自然量)
+     */
+    private Long rechargeUserNatural;
+
+    /**
+     * 充值人数(今日)(自然量)
+     */
+    private Long rechargeUserNaturalToday;
+
+    /**
+     * 充值次数(总)
+     */
+    private Long rechargeCount;
+
+    /**
+     * 充值次数(今日)
+     */
+    private Long rechargeCountToday;
+
+    /**
+     * 新用户复充人数(充值次数大于2)
+     */
+    private Long firstUserRepeatRechargeCount;
+
+    /**
+     * 次日登录用户数
+     */
+    private Long nextDayLogin;
+
+    /**
+     * 七日登录用户数
+     */
+    private Long sevenDayLogin;
+
+    /**
+     * 新增总用户数
+     */
+    private Long firstUserCount;
+
+    /**
+     * 总付费用户数
+     */
+    private Long rechargeUserCount;
+
+    /**
+     * 计划数量(总)
+     */
+    private Long adPlanCount;
+
+    /**
+     * 计划数量(今日)
+     */
+    private Long adPlanCountToday;
+
+
+}

+ 56 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/SysUser.java

@@ -0,0 +1,56 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigInteger;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * t_sys_user
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_sys_user")
+public class SysUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 投手id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 公司 id
+     */
+    private Long companyId;
+
+    /**
+     * 投手昵称
+     */
+    private String nickname;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 项目组
+     */
+    private String projectTeam;
+
+
+}

+ 26 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameConditionVO.java

@@ -0,0 +1,26 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameConditionVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(notes = "主键id")
+    private String id;
+
+    @ApiModelProperty(notes = "名称")
+    private String name;
+}

+ 49 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameOrderDetailVO.java

@@ -0,0 +1,49 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOrderDetailVO {
+
+    @ApiModelProperty(notes = "订单列表数据")
+    private List<OrderDetailVO> records;
+
+    @ApiModelProperty(notes = "订单统计数据")
+    private TotalDataVO totalData;
+
+    @ApiModelProperty(notes = "总数据")
+    private Long total;
+
+    @ApiModelProperty(notes = "每页显示条数")
+    private Long size;
+
+    @ApiModelProperty(notes = "当前页")
+    private Long current;
+
+    @ApiModelProperty(notes = "分页总页数")
+    private Long pages;
+
+    public GameOrderDetailVO(Long size) {
+        this.records = Collections.emptyList();
+        this.totalData = null;
+        this.total = 0L;
+        this.size = size;
+        this.current = 1L;
+        this.pages = 0L;
+    }
+}

+ 372 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GamePromoteVO.java

@@ -0,0 +1,372 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GamePromoteVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(notes = "渠道id")
+    private Long agentId;
+
+    @ApiModelProperty(notes = "推广账号名称")
+    private String accountName;
+    @ApiModelProperty(notes = "推广账号ID")
+    private String accountId;
+
+    @ApiModelProperty(notes = "投放渠道")
+    private String putAgent;
+    @ApiModelProperty(notes = "推广状态")
+    private String promoteStatus;
+
+    @ApiModelProperty(notes = "投手名")
+    private String sysUserName;
+
+    @ApiModelProperty(notes = "cpId")
+    private Long cpId;
+    @ApiModelProperty(notes = "cp名")
+    private String cpName;
+
+    @ApiModelProperty(notes = "游戏id")
+    private Long gameId;
+    @ApiModelProperty(notes = "游戏名")
+    private String gameName;
+    @ApiModelProperty(notes = "游戏应用类型")
+    private String gameType;
+
+    @ApiModelProperty(notes = "消耗日期")
+    private LocalDate costDay;
+
+    @ApiModelProperty(notes = "投手id")
+    private Long sysUserId;
+
+    @ApiModelProperty(notes = "消耗")
+    private BigDecimal cost;
+
+    @ApiModelProperty(notes = "广告数量")
+    private Long adCount;
+
+    @ApiModelProperty(notes = "广告计划数量")
+    private Long adPlanCount;
+
+    @ApiModelProperty(notes = "赔付金")
+    private BigDecimal costBack;
+
+    @ApiModelProperty(notes = "实际消耗")
+    private BigDecimal costReal;
+
+    @ApiModelProperty(notes = "曝光数")
+    private Long viewCount;
+
+    @ApiModelProperty(notes = "点击数")
+    private Long clickCount;
+
+    @ApiModelProperty(notes = "转化量")
+    private Long convertCount;
+
+    @ApiModelProperty(notes = "转化率(目标转化率)=转化量/点击量*100%")
+    private BigDecimal convertRate;
+
+    @ApiModelProperty(notes = "平均转化成本=实际消耗/转化量")
+    private BigDecimal avgConvertCost;
+
+    @ApiModelProperty(notes = "深度转化量")
+    private Long deepConvertCount;
+
+    @ApiModelProperty(notes = "深度转化成本=实际消耗/深度转化量")
+    private BigDecimal deepConvertCost;
+
+    @ApiModelProperty(notes = "深度转化率=深度转化量/转化量*100%")
+    private BigDecimal deepConvertRate;
+
+    @ApiModelProperty(notes = "千次曝光成本=实际消耗/曝光量*1000")
+    private BigDecimal thousandViewCost;
+
+    @ApiModelProperty(notes = "点击率=点击量/曝光量*100%")
+    private BigDecimal clickRate;
+
+    @ApiModelProperty(notes = "平均点击均价=实际消耗/点击量")
+    private BigDecimal avgClickCost;
+
+    @ApiModelProperty(notes = "应用下载量")
+    private Long appDownloadCount;
+
+    @ApiModelProperty(notes = "应用下载成本=实际消耗/安卓下载开始数")
+    private BigDecimal appDownloadCost;
+
+    @ApiModelProperty(notes = "应用下载率=安卓下载开始数/点击数")
+    private BigDecimal appDownloadRate;
+
+    @ApiModelProperty(notes = "应用下载完成量")
+    private Long downloadFinish;
+
+    @ApiModelProperty(notes = "应用安装量")
+    private Long appInstallCount;
+
+    @ApiModelProperty(notes = "应用安装成本=实际消耗/安卓安装完成数")
+    private BigDecimal appInstallCost;
+
+    @ApiModelProperty(notes = "应用安装率=安卓安装完成数/安卓下载完成数")
+    private BigDecimal appInstallRate;
+
+    @ApiModelProperty(notes = "应用下载完成成本=实际消耗/安卓下载完成数")
+    private BigDecimal downloadFinishCost;
+
+    @ApiModelProperty(notes = "应用下载完成率=安卓下载完成数/安卓下载开始数")
+    private BigDecimal downloadFinishRate;
+
+    @ApiModelProperty(notes = "应用激活数")
+    private Long appActiveCount;
+
+    @ApiModelProperty(notes = "应用激活成本=实际消耗/激活数")
+    private BigDecimal appActiveCost;
+
+    @ApiModelProperty(notes = "应用激活率=激活数/点击数*100%")
+    private BigDecimal appActiveRate;
+
+    @ApiModelProperty(notes = "注册人数")
+    private Long regUserCount;
+
+    @ApiModelProperty(notes = "活跃人数")
+    private Long activeUserCount;
+
+    @ApiModelProperty(notes = "创角人数")
+    private Long userCountOfCreateRole;
+
+    @ApiModelProperty(notes = "首日创角人数")
+    private Long userCountOfFirstCreateRole;
+
+    @ApiModelProperty(notes = "新用户累计创角人数")
+    private Long firstUserCountOfFirstCreateRole;
+
+    @ApiModelProperty(notes = "创角量")
+    private Long createRoleCount;
+
+    @ApiModelProperty(notes = "首日创角量")
+    private Long firstCreateRoleCount;
+
+    @ApiModelProperty(notes = "新用户累计创角量")
+    private Long roleCountOfFirstUser;
+
+    @ApiModelProperty(notes = "注册成本=实际消耗/注册人数")
+    private BigDecimal regCost;
+
+    @ApiModelProperty(notes = "首日创角成本=实际消耗/首日创角人数")
+    private BigDecimal firstCreateRoleCost;
+
+    @ApiModelProperty(notes = "新用户创角成本=实际消耗/新用户累计创角人数")
+    private BigDecimal firstUserCreateRoleCost;
+
+    @ApiModelProperty(notes = "首日创角率=首日创角人数/注册人数")
+    private BigDecimal firstCreateRoleRate;
+
+    @ApiModelProperty(notes = "新用户创角率=新用户累计创角人数/注册人数")
+    private BigDecimal firstUserCreateRoleRate;
+
+    @ApiModelProperty(notes = "当天激活活跃用户LTV=(新用户累计充值/Σ活跃人数)*(累计充值人数/Σ活跃人数)")
+    private BigDecimal todayActiveUserLTV;
+
+    @ApiModelProperty(notes = "游戏当日广告变现ROI=当日LTV/所选时间的消耗")
+    private BigDecimal todayAdCashROI;
+
+    @ApiModelProperty(notes = "首日新用户充值次数")
+    private Long firstUserRechargeCount;
+
+    @ApiModelProperty(notes = "首日新用户充值人数")
+    private Long firstUserRechargeUser;
+
+    @ApiModelProperty(notes = "首日新用户充值金额")
+    private BigDecimal firstUserRechargeMoney;
+
+    @ApiModelProperty(notes = "老用户充值次数")
+    private Long oldUserRechargeCount;
+
+    @ApiModelProperty(notes = "老用户充值人数")
+    private Long oldUserRechargeUser;
+
+    @ApiModelProperty(notes = "老用户充值金额")
+    private BigDecimal oldUserRechargeMoney;
+
+    @ApiModelProperty(notes = "账面充值次数")
+    private Long showRechargeCount;
+
+    @ApiModelProperty(notes = "账面充值人数")
+    private Long showRechargeUser;
+
+    @ApiModelProperty(notes = "账面充值金额")
+    private BigDecimal showRechargeMoney;
+
+    @ApiModelProperty(notes = "新用户累计充值次数")
+    private Long newUserRechargeCount;
+
+    @ApiModelProperty(notes = "新用户累计充值人数")
+    private Long newUserRechargeUser;
+
+    @ApiModelProperty(notes = "新用户累计充值金额")
+    private BigDecimal newUserRechargeMoney;
+
+    @ApiModelProperty(notes = "首日ROI=首日新用户充值金额/实际消耗")
+    private BigDecimal firstRecoveryRate;
+
+    @ApiModelProperty(notes = "买量回收率=新用户累计充值金额/实际消耗")
+    private BigDecimal buyRecoveryRate;
+
+    @ApiModelProperty(notes = "毛利率=新用户累计充值金额-实际消耗")
+    private BigDecimal grossMargin;
+
+    @ApiModelProperty(notes = "3日ROI=新用户3日累计充值金额/实际消耗")
+    private BigDecimal threeDayROI;
+
+    @ApiModelProperty(notes = "5日ROI=新用户5日累计充值金额/实际消耗")
+    private BigDecimal fiveDayROI;
+
+    @ApiModelProperty(notes = "7日ROI=新用户7日累计充值金额/实际消耗")
+    private BigDecimal sevenDayROI;
+
+    @ApiModelProperty(notes = "15日ROI=新用户15日累计充值金额/实际消耗")
+    private BigDecimal fifteenDayROI;
+
+    @ApiModelProperty(notes = "30日ROI=新用户30日累计充值金额/实际消耗")
+    private BigDecimal thirtyDayROI;
+
+    @ApiModelProperty(notes = "60日ROI=新用户60日累计充值金额/实际消耗")
+    private BigDecimal sixtyDayROI;
+
+    @ApiModelProperty(notes = "180日ROI=新用户180日累计充值金额/实际消耗")
+    private BigDecimal oneHundredAndEightyDayROI;
+
+    @ApiModelProperty(notes = "一年ROI=新用户一年累计充值金额/实际消耗")
+    private BigDecimal oneYearROI;
+
+    @ApiModelProperty(notes = "首日付费率=首日新用户充值人数/注册人数")
+    private BigDecimal firstRechargeRate;
+
+    @ApiModelProperty(notes = "买量用户付费率=新用户累计充值人数/注册人数")
+    private BigDecimal buyUserRechargeRate;
+
+    @ApiModelProperty(notes = "新用户付费比=首日新用户充值人数/账面充值人数")
+    private BigDecimal newUserRechargeRate;
+
+    @ApiModelProperty(notes = "活跃用户付费率=账面充值人数/活跃人数")
+    private BigDecimal activeUserRechargeRate;
+
+    @ApiModelProperty(notes = "首日客单价=首日新用户充值金额/首日新用户充值次数")
+    private BigDecimal avgFirstUserRecharge;
+
+    @ApiModelProperty(notes = "买量客单价=新用户累计充值金额/新用户累计充值次数")
+    private BigDecimal avgBuyUserRecharge;
+
+    @ApiModelProperty(notes = "账面客单价=账面充值金额/账面充值次数")
+    private BigDecimal avgShowUserRecharge;
+
+    @ApiModelProperty(notes = "首日充值成本=实际消耗/首日新用户充值人数")
+    private BigDecimal firstRechargeCost;
+
+    @ApiModelProperty(notes = "买量充值成本=实际消耗/新用户累计充值人数")
+    private BigDecimal buyUserRechargeCost;
+
+    @ApiModelProperty(notes = "复充率=新用户复充人数/新用户累计充值人数")
+    private BigDecimal repeatRechargeRate;
+
+    @ApiModelProperty(notes = "平均活跃付费率=∑每日付费人数/∑活跃人数")
+    private BigDecimal avgActiveRechargeRate;
+
+    @ApiModelProperty(notes = "新增注册ARPU=新用户累计充值金额/注册人数")
+    private BigDecimal newRegARPU;
+
+    @ApiModelProperty(notes = "活跃ARPPU=首日新用户充值金额/活跃人数")
+    private BigDecimal activeARPU;
+
+    @ApiModelProperty(notes = "首日付费ARPU=首日新用户充值金额/首日新用户充值人数")
+    private BigDecimal firstRechargeARPU;
+
+    @ApiModelProperty(notes = "买付费ARPU=新用户累计充值金额/新用户累计充值人数")
+    private BigDecimal todayRechargeARPU;
+
+    @ApiModelProperty(notes = "账面ARPU=账面充值金额/账面充值人数")
+    private BigDecimal showRechargeARPU;
+
+    @ApiModelProperty(notes = "付费趋势:1天")
+    private RechargeTrendVO oneDayRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:3天")
+    private RechargeTrendVO threeDayRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:7天")
+    private RechargeTrendVO sevenDayRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:15天")
+    private RechargeTrendVO fifteenDayRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:1个月")
+    private RechargeTrendVO oneMonthRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:2个月")
+    private RechargeTrendVO twoMonthRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:三个月")
+    private RechargeTrendVO threeMonthRechargeTrend;
+
+    @ApiModelProperty(notes = "付费趋势:总")
+    private RechargeTrendVO totalRechargeTrend;
+
+    @ApiModelProperty(notes = "LTV数据:1天--(充值金额/活跃人数)*(充值人数/活跃人数)")
+    private BigDecimal oneDayLTV;
+
+    @ApiModelProperty(notes = "LTV数据:3天")
+    private BigDecimal threeDayLTV;
+
+    @ApiModelProperty(notes = "LTV数据:7天")
+    private BigDecimal sevenDayLTV;
+
+    @ApiModelProperty(notes = "LTV数据:15天")
+    private BigDecimal fifteenDayLTV;
+
+    @ApiModelProperty(notes = "LTV数据:1个月")
+    private BigDecimal oneMonthLTV;
+
+    @ApiModelProperty(notes = "LTV数据:2个月")
+    private BigDecimal twoMonthLTV;
+
+    @ApiModelProperty(notes = "LTV数据:三个月")
+    private BigDecimal threeMonthLTV;
+
+    @ApiModelProperty(notes = "LTV数据:总")
+    private BigDecimal totalLTV;
+
+    @ApiModelProperty(notes = "留存率:1天")
+    private RetentionTrendVO oneDayRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:3天")
+    private RetentionTrendVO threeDayRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:7天")
+    private RetentionTrendVO sevenDayRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:15天")
+    private RetentionTrendVO fifteenDayRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:1个月")
+    private RetentionTrendVO oneMonthRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:2个月")
+    private RetentionTrendVO twoMonthRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:三个月")
+    private RetentionTrendVO threeMonthRetentionRate;
+
+    @ApiModelProperty(notes = "留存率:总")
+    private RetentionTrendVO totalRetentionRate;
+}

+ 18 - 5
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameRankingRechargeGameVO.java

@@ -1,5 +1,6 @@
 package com.zanxiang.game.data.serve.pojo.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -15,45 +16,57 @@ import java.time.LocalDate;
 @Builder
 public class GameRankingRechargeGameVO implements Serializable {
     private static final long serialVersionUID = 1L;
-
-    private Long number;
-
+    @ApiModelProperty(notes = "游戏id")
     private String gameId;
 
+    @ApiModelProperty(notes = "游戏名称")
     private String gameName;
 
+    @ApiModelProperty(notes = "游戏类型")
     private String gameCategory;
 
+    @ApiModelProperty(notes = "当天充值金额")
     private BigDecimal todayRechargeMoney;
 
+    @ApiModelProperty(notes = "当天买量充值金额")
     private BigDecimal todayPurchaseRechargeMoney;
 
+    @ApiModelProperty(notes = "当天自然量充值金额")
     private BigDecimal todayNatureRechargeMoney;
 
     /**
      * 默认排名标准
      */
+    @ApiModelProperty(notes = "累计充值金额")
     private BigDecimal totalRechargeMoney;
 
+    @ApiModelProperty(notes = "累计买量充值金额")
     private BigDecimal totalPurchaseRechargeMoney;
 
+    @ApiModelProperty(notes = "累计自然量充值金额")
     private BigDecimal totalNatureRechargeMoney;
 
     /**
      * 累计充值金额/累计充值次数
      */
+    @ApiModelProperty(notes = "平均客单价")
     private BigDecimal avgMoney;
 
-    private Long registerPlayer;
+    @ApiModelProperty(notes = "注册人数")
+    private Long registerUser;
 
-    private Long totalRechargePlayer;
+    @ApiModelProperty(notes = "累计充值人数")
+    private Long totalRechargeUser;
 
+    @ApiModelProperty(notes = "累计充值次数")
     private Long totalRechargeCount;
 
+    @ApiModelProperty(notes = "累计消耗")
     private BigDecimal totalCost;
 
     /**
      * 累计买量充值金额/累计消耗
      */
+    @ApiModelProperty(notes = "回本率")
     private BigDecimal paybackRate;
 }

+ 70 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameRankingRechargeUserVO.java

@@ -0,0 +1,70 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameRankingRechargeUserVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(notes = "玩家ID")
+    private Long userId;
+
+    @ApiModelProperty(notes = "玩家账号")
+    private String userAccount;
+
+    @ApiModelProperty(notes = "注册渠道")
+    private String regAgent;
+
+    @ApiModelProperty(notes = "注册时间")
+    private LocalDateTime regTime;
+
+    @ApiModelProperty(notes = "注册游戏")
+    private String regGameName;
+
+    @ApiModelProperty(notes = "玩家操作系统")
+    private String userDevice;
+
+    @ApiModelProperty(notes = "当天充值金额")
+    private BigDecimal todayRechargeMoney;
+
+    @ApiModelProperty(notes = "首充金额")
+    private BigDecimal firstRechargeMoney;
+
+    @ApiModelProperty(notes = "最近充值金额")
+    private BigDecimal recentRechargeMoney;
+
+    /**
+     * 默认排名标准
+     */
+    @ApiModelProperty(notes = "累计充值金额")
+    private BigDecimal totalRechargeMoney;
+
+    /**
+     * 累计充值金额/累计充值次数
+     */
+    @ApiModelProperty(notes = "平均单价")
+    private BigDecimal avgMoney;
+
+    @ApiModelProperty(notes = "累计充值次数")
+    private Long totalRechargeCount;
+
+    @ApiModelProperty(notes = "玩家等级标签")
+    private String tag;
+
+    @ApiModelProperty(notes = "最近充值游戏")
+    private String recentRechargeGame;
+
+    @ApiModelProperty(notes = "最近充值时间")
+    private LocalDateTime recentRechargeTime;
+}

+ 188 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/OrderDetailVO.java

@@ -0,0 +1,188 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class OrderDetailVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(notes = "自增id")
+    private Long id;
+
+    @ApiModelProperty(notes = "订单创建日期")
+    private LocalDate createDay;
+
+    @ApiModelProperty(notes = "商户订单号")
+    private String orderId;
+
+    @ApiModelProperty(notes = "cp订单号")
+    private String cpOrderId;
+
+    @ApiModelProperty(notes = "第三方支付订单号")
+    private String merchantOrderNo;
+
+    @ApiModelProperty(notes = "玩家id")
+    private Long userId;
+
+    @ApiModelProperty(notes = "玩家账号")
+    private String userName;
+
+    @ApiModelProperty(notes = "注册时间")
+    private LocalDateTime userRegTime;
+
+    @ApiModelProperty(notes = "注册渠道id")
+    private Long userRegAgentId;
+
+    @ApiModelProperty(notes = "注册渠道名称")
+    private String userRegAgentName;
+
+    @ApiModelProperty(notes = "注册游戏id")
+    private Long userRegGameId;
+
+    @ApiModelProperty(notes = "注册游戏名称")
+    private String userRegGameName;
+
+    @ApiModelProperty(notes = "cpId")
+    private Long cpId;
+
+    @ApiModelProperty(notes = "cp名称")
+    private String cpName;
+
+    @ApiModelProperty(notes = "注册游戏id")
+    private Long regGameId;
+
+    @ApiModelProperty(notes = "注册游戏应用类型id")
+    private Long regGameCategoryId;
+
+    @ApiModelProperty(notes = "注册游戏应用类型名称")
+    private String regGameCategoryName;
+
+    @ApiModelProperty(notes = "归因投放人员id")
+    private String pitcherId;
+
+    @ApiModelProperty(notes = "归因投放人员名字")
+    private String pitcherName;
+
+    @ApiModelProperty(notes = "归因推广账号id")
+    private Long accountId;
+
+    @ApiModelProperty(notes = "归因推广账号")
+    private String accountName;
+
+    @ApiModelProperty(notes = "归因媒体id")
+    private Long mediaId;
+
+    @ApiModelProperty(notes = "归因媒体名称")
+    private String mediaName;
+
+    @ApiModelProperty(notes = "归因广告id")
+    private String adId;
+
+    @ApiModelProperty(notes = "充值渠道id")
+    private Long rechargeAgentId;
+
+    @ApiModelProperty(notes = "充值渠道名称")
+    private String rechargeAgentName;
+
+    @ApiModelProperty(notes = "充值游戏id")
+    private Long rechargeGameId;
+
+    @ApiModelProperty(notes = "充值游戏名称")
+    private String rechargeGameName;
+
+    @ApiModelProperty(notes = "充值游戏类型id")
+    private Long rechargeGameCategoryId;
+
+    @ApiModelProperty(notes = "充值游戏类型")
+    private String rechargeGameCategory;
+
+    @ApiModelProperty(notes = "游戏产品ID")
+    private String productId;
+
+    @ApiModelProperty(notes = "产品名称")
+    private String productName;
+
+    @ApiModelProperty(notes = "订单金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(notes = "订单实付金额")
+    private BigDecimal realAmount;
+
+    @ApiModelProperty(notes = "支付方式id")
+    private Long payWayId;
+
+    @ApiModelProperty(notes = "支付方式")
+    private String payWay;
+
+    @ApiModelProperty(notes = "支付场景id")
+    private Integer payDevice;
+
+    @ApiModelProperty(notes = "支付场景")
+    private String payDeviceName;
+
+    @ApiModelProperty(notes = "收款账户号")
+    private String merchantNo;
+
+    @ApiModelProperty(notes = "收款账户名称")
+    private String merchantName;
+
+    @ApiModelProperty(notes = "服务区服id")
+    private String serverId;
+
+    @ApiModelProperty(notes = "服务区服名称")
+    private String serverName;
+
+    @ApiModelProperty(notes = "角色id")
+    private String roleId;
+
+    @ApiModelProperty(notes = "角色名称")
+    private String roleName;
+
+    @ApiModelProperty(notes = "角色等级")
+    private Long roleLevel;
+
+    @ApiModelProperty(notes = "角色VIP")
+    private Long roleVipLevel;
+
+    @ApiModelProperty(notes = "客户端操作系统, android, ios, windows, mac")
+    private String deviceSystem;
+
+    @ApiModelProperty(notes = "是否切量  0 否 1 是")
+    private Boolean isSwitch;
+
+    @ApiModelProperty(notes = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(notes = "支付时间")
+    private LocalDateTime payTime;
+
+    @ApiModelProperty(notes = "订单结束时间")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(notes = "cp最后通知时间")
+    private LocalDateTime lastCpNotifyTime;
+
+    @ApiModelProperty(notes = "支付状态,1为待处理,2为成功,3为失败")
+    private Integer status;
+
+    @ApiModelProperty(notes = "CP通知状态,1为待处理,2为成功,3为失败")
+    private Integer cpStatus;
+
+    @ApiModelProperty(notes = "是否首充 0 否 1 是")
+    private Integer isFirstRecharge;
+
+    @ApiModelProperty(notes = "广告上报状态, 0 : 未上报, 1 : 上报成功, 2 : 上报失败")
+    private Integer callBackStatus;
+}

+ 31 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/RechargeTrendVO.java

@@ -0,0 +1,31 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class RechargeTrendVO {
+    @ApiModelProperty(notes = "充值人数")
+    private Long rechargeCount;
+
+    @ApiModelProperty(notes = "充值金额")
+    private BigDecimal rechargeMoney;
+
+    @ApiModelProperty(notes = "增=当天回本 - 上一天回本")
+    private BigDecimal addPayBack;
+
+    @ApiModelProperty(notes = "回=当天充值/总消耗")
+    private BigDecimal payBack;
+
+    @ApiModelProperty(notes = "倍=新用户总充值/第一天的新用户充值")
+    private BigDecimal newUserRechargeRate;
+}

+ 21 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/RetentionTrendVO.java

@@ -0,0 +1,21 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class RetentionTrendVO {
+    @ApiModelProperty(notes = "注册用户留存率=(当天新增的用户中,在注册的第n天还登录的用户数)/新增总用户数")
+    private BigDecimal regUserRetentionRate;
+
+    @ApiModelProperty(notes = "付费留存率=(当天新增的用户中,在注册的第2天还登录的用户数)/总付费用户数")
+    private BigDecimal rechargeUserRetentionRate;
+}

+ 24 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/TotalDataVO.java

@@ -0,0 +1,24 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class TotalDataVO {
+    @ApiModelProperty(notes = "总计订单金额")
+    private BigDecimal totalAmount;
+
+    @ApiModelProperty(notes = "总计订单实付金额")
+    private BigDecimal totalRealAmount;
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdAccountService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdAccount;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_ad_account 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IAdAccountService extends IService<AdAccount> {
+
+    List<GameConditionVO> getList();
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdAccountStatDayService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdAccountStatDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * t_ad_account_stat_day 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IAdAccountStatDayService extends IService<AdAccountStatDay> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdDataService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdData;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * t_ad_data 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IAdDataService extends IService<AdData> {
+
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IAdInfoService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * t_ad_info 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IAdInfoService extends IService<AdInfo> {
+
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ICompanyService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.Company;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天) 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+public interface ICompanyService extends IService<Company> {
+
+    List<GameConditionVO> getList();
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ICompanyStatDayService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.CompanyStatDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天) 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+public interface ICompanyStatDayService extends IService<CompanyStatDay> {
+
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ICpService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.Cp;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_cp 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface ICpService extends IService<Cp> {
+
+    List<GameConditionVO> getList();
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameOrderService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameOrderDetailDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameOrderDetailVO;
+
+/**
+ * <p>
+ * t_game_order 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGameOrderService extends IService<GameOrder> {
+
+    GameOrderDetailVO getOrderDetail(GameOrderDetailDTO dto);
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGamePlayerRoleService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.GamePlayerRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_game_player_role 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGamePlayerRoleService extends IService<GamePlayerRole> {
+
+    List<GameConditionVO> getList();
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGamePlayerService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.GamePlayer;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_game_player 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGamePlayerService extends IService<GamePlayer> {
+
+    List<GameConditionVO> getList();
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameServerService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameServer;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_game_server 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGameServerService extends IService<GameServer> {
+
+    List<GameConditionVO> getList();
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameServerStatDayService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameServerStatDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * t_game_server_stat_day 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGameServerStatDayService extends IService<GameServerStatDay> {
+
+}

+ 30 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameService.java

@@ -0,0 +1,30 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.Game;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeGameVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_game 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGameService extends IService<Game> {
+    /**
+     * 游戏充值排行榜
+     * @param dto
+     * @return
+     */
+    IPage<GameRankingRechargeGameVO> getGameRechargeRank(GameRankingDTO dto);
+
+    List<GameConditionVO> getList();
+}

+ 16 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameStatDayService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameStatDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * t_game_stat_day 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+public interface IGameStatDayService extends IService<GameStatDay> {
+
+}

+ 25 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameUserService.java

@@ -0,0 +1,25 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeUserVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_game_user 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IGameUserService extends IService<GameUser> {
+
+    IPage<GameRankingRechargeUserVO> getUserRechargeRank(GameRankingDTO dto);
+
+    List<GameConditionVO> getList();
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameUserStatDayService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameUserStatDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeGameVO;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * t_game_user_stat_day 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-13
+ */
+public interface IGameUserStatDayService extends IService<GameUserStatDay> {
+
+}

+ 22 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IPromoteAgentService.java

@@ -0,0 +1,22 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgent;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_promote_agent 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface IPromoteAgentService extends IService<PromoteAgent> {
+
+    List<PromoteAgent> getPromoteAgent(Long sysUserId, Long companyId);
+
+    List<GameConditionVO> getList();
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IPromoteAgentStatDayService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GamePromoteDTO;
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgentStatDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GamePromoteVO;
+
+/**
+ * <p>
+ * 游戏推广渠道日报表 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+public interface IPromoteAgentStatDayService extends IService<PromoteAgentStatDay> {
+
+    IPage<GamePromoteVO> getDayData(GamePromoteDTO dto);
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/ISysUserService.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.entity.SysUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * t_sys_user 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+public interface ISysUserService extends IService<SysUser> {
+
+    List<GameConditionVO> getList();
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdAccountServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdAccount;
+import com.zanxiang.game.data.serve.dao.mapper.AdAccountMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.IAdAccountService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_ad_account 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class AdAccountServiceImpl extends ServiceImpl<AdAccountMapper, AdAccount> implements IAdAccountService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(item.getId())
+                        .name(item.getAccountName())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdAccountStatDayServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdAccountStatDay;
+import com.zanxiang.game.data.serve.dao.mapper.AdAccountStatDayMapper;
+import com.zanxiang.game.data.serve.service.IAdAccountStatDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * t_ad_account_stat_day 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class AdAccountStatDayServiceImpl extends ServiceImpl<AdAccountStatDayMapper, AdAccountStatDay> implements IAdAccountStatDayService {
+
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdDataServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdData;
+import com.zanxiang.game.data.serve.dao.mapper.AdDataMapper;
+import com.zanxiang.game.data.serve.service.IAdDataService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * t_ad_data 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class AdDataServiceImpl extends ServiceImpl<AdDataMapper, AdData> implements IAdDataService {
+
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.AdInfo;
+import com.zanxiang.game.data.serve.dao.mapper.AdInfoMapper;
+import com.zanxiang.game.data.serve.service.IAdInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * t_ad_info 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class AdInfoServiceImpl extends ServiceImpl<AdInfoMapper, AdInfo> implements IAdInfoService {
+
+}

+ 34 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/CompanyServiceImpl.java

@@ -0,0 +1,34 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.Company;
+import com.zanxiang.game.data.serve.dao.mapper.CompanyMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.ICompanyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天) 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+@Service
+public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/CompanyStatDayServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.CompanyStatDay;
+import com.zanxiang.game.data.serve.dao.mapper.CompanyStatDayMapper;
+import com.zanxiang.game.data.serve.service.ICompanyStatDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 公司维度统计数据(按天) 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+@Service
+public class CompanyStatDayServiceImpl extends ServiceImpl<CompanyStatDayMapper, CompanyStatDay> implements ICompanyStatDayService {
+
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/CpServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.Cp;
+import com.zanxiang.game.data.serve.dao.mapper.CpMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.ICpService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_cp 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class CpServiceImpl extends ServiceImpl<CpMapper, Cp> implements ICpService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getCpName())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 104 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameOrderServiceImpl.java

@@ -0,0 +1,104 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.data.serve.dao.mapper.*;
+import com.zanxiang.game.data.serve.pojo.dto.GameOrderDetailDTO;
+import com.zanxiang.game.data.serve.pojo.entity.*;
+import com.zanxiang.game.data.serve.pojo.vo.GameOrderDetailVO;
+import com.zanxiang.game.data.serve.pojo.vo.OrderDetailVO;
+import com.zanxiang.game.data.serve.pojo.vo.TotalDataVO;
+import com.zanxiang.game.data.serve.service.IGameOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.game.data.serve.service.IPromoteAgentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Objects;
+
+/**
+ * <p>
+ * t_game_order 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GameOrderServiceImpl extends ServiceImpl<GameOrderMapper, GameOrder> implements IGameOrderService {
+    @Autowired
+    private GameUserMapper gameUserMapper;
+    @Autowired
+    private PromoteAgentMapper promoteAgentMapper;
+    @Autowired
+    private GameMapper gameMapper;
+    @Autowired
+    private AdAccountMapper adAccountMapper;
+    @Autowired
+    private GamePlayerRoleMapper gamePlayerRoleMapper;
+    @Autowired
+    private GameServerMapper gameServerMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
+    @Override
+    public GameOrderDetailVO getOrderDetail(GameOrderDetailDTO dto) {
+        Long sysUserId = SecurityUtil.isAdmin() ? null : SecurityUtil.getUserId();
+        sysUserId = null == dto.getSysUserId() ? sysUserId : dto.getSysUserId();
+        dto.setSysUserId(sysUserId);
+        IPage<OrderDetailVO> orderDetail = getBaseMapper().getOrderDetail(dto.toPage(), dto);
+        TotalDataVO amountSum = getBaseMapper().getAmountSum(dto);
+
+        orderDetail.getRecords().forEach(item->{
+            Game regGame = gameMapper.selectById(item.getRegGameId());
+            if (Objects.nonNull(regGame)){
+                item.setRegGameCategoryName(regGame.getCategory());
+                item.setUserRegGameName(regGame.getGameName());
+            }
+            Game rechargeGame = gameMapper.selectById(item.getRechargeGameId());
+            if (Objects.nonNull(rechargeGame)){
+                item.setRegGameCategoryName(rechargeGame.getCategory());
+                item.setUserRegGameName(rechargeGame.getGameName());
+            }
+            SysUser sysUser = sysUserMapper.selectById(item.getPitcherId());
+            if (Objects.nonNull(sysUser)){
+                item.setPitcherName(sysUser.getNickname());
+            }
+            PromoteAgent rechargeAgent = promoteAgentMapper.selectById(item.getRechargeAgentId());
+            if (Objects.nonNull(rechargeAgent)) {
+                item.setRechargeAgentName(rechargeAgent.getAgentName());
+                item.setMediaName(rechargeAgent.getPromoteMedia());
+            }
+            GameUser gameUser = gameUserMapper.selectById(item.getUserId());
+            if (Objects.nonNull(gameUser)){
+                PromoteAgent userAgent = promoteAgentMapper.selectById(gameUser.getAgentId());
+                if (Objects.nonNull(userAgent)) {
+                    item.setUserRegAgentName(userAgent.getAgentName());
+                    item.setUserRegAgentId(userAgent.getId());
+                }
+            }
+            GameServer gameServer = gameServerMapper.selectById(item.getServerId());
+            if (Objects.nonNull(gameServer)){
+                item.setServerName(gameServer.getServerName());
+            }
+            GamePlayerRole gamePlayerRole = gamePlayerRoleMapper.selectById(item.getRoleId());
+            if (Objects.nonNull(gamePlayerRole)){
+                item.setRoleLevel(gamePlayerRole.getRoleLevel());
+                item.setRoleName(gamePlayerRole.getRoleName());
+                item.setRoleVipLevel(gamePlayerRole.getRoleVip());
+            }
+        });
+        return GameOrderDetailVO.builder()
+                .totalData(TotalDataVO.builder()
+                        .totalAmount(Objects.nonNull(amountSum)?amountSum.getTotalAmount() : BigDecimal.valueOf(0))
+                        .totalRealAmount(Objects.nonNull(amountSum)?amountSum.getTotalRealAmount() : BigDecimal.valueOf(0))
+                        .build())
+                .records(orderDetail.getRecords())
+                .current(orderDetail.getCurrent())
+                .pages(orderDetail.getPages())
+                .size(orderDetail.getSize())
+                .total(orderDetail.getTotal())
+                .build();
+    }
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GamePlayerRoleServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.GamePlayerRole;
+import com.zanxiang.game.data.serve.dao.mapper.GamePlayerRoleMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.IGamePlayerRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_game_player_role 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GamePlayerRoleServiceImpl extends ServiceImpl<GamePlayerRoleMapper, GamePlayerRole> implements IGamePlayerRoleService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getRoleName())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GamePlayerServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.GamePlayer;
+import com.zanxiang.game.data.serve.dao.mapper.GamePlayerMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.IGamePlayerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_game_player 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GamePlayerServiceImpl extends ServiceImpl<GamePlayerMapper, GamePlayer> implements IGamePlayerService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getNickname())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameServer;
+import com.zanxiang.game.data.serve.dao.mapper.GameServerMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.IGameServerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_game_server 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameServer> implements IGameServerService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getServerName())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerStatDayServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameServerStatDay;
+import com.zanxiang.game.data.serve.dao.mapper.GameServerStatDayMapper;
+import com.zanxiang.game.data.serve.service.IGameServerStatDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * t_game_server_stat_day 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GameServerStatDayServiceImpl extends ServiceImpl<GameServerStatDayMapper, GameServerStatDay> implements IGameServerStatDayService {
+
+}

+ 72 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServiceImpl.java

@@ -0,0 +1,72 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.Game;
+import com.zanxiang.game.data.serve.dao.mapper.GameMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeGameVO;
+import com.zanxiang.game.data.serve.service.IGameService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.game.data.serve.service.IPromoteAgentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_game 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements IGameService {
+    @Autowired
+    private IPromoteAgentService promoteAgentService;
+
+    @Override
+    public IPage<GameRankingRechargeGameVO> getGameRechargeRank(GameRankingDTO dto) {
+        Long sysUserId = SecurityUtil.isAdmin() ? null : SecurityUtil.getUserId();
+        sysUserId = null == dto.getSysUserId() ? sysUserId : dto.getSysUserId();
+        dto.setSysUserId(sysUserId);
+        IPage<GameRankingRechargeGameVO> gameRankingRechargeVO = getBaseMapper().getGameRankingRechargeVO(dto.toPage(), dto);
+        gameRankingRechargeVO.getRecords().forEach(item -> {
+                    BigDecimal paybackRate = null == item.getTotalCost() ?
+                            BigDecimal.valueOf(0) : item.getTotalPurchaseRechargeMoney().divide(item.getTotalCost(), 4, RoundingMode.DOWN);
+                    BigDecimal avgMoney = null == item.getTotalRechargeCount() ?
+                            BigDecimal.valueOf(0) : item.getTotalRechargeMoney().divide(BigDecimal.valueOf(item.getTotalRechargeCount()), 4, RoundingMode.DOWN);
+                    GameRankingRechargeGameVO todayMoney = getBaseMapper().getTodayMoney(item.getGameId(), LocalDate.now(), dto.getSysUserId());
+                    if (Objects.nonNull(todayMoney)) {
+                        item.setTodayRechargeMoney(todayMoney.getTodayRechargeMoney());
+                        item.setTodayNatureRechargeMoney(todayMoney.getTodayNatureRechargeMoney());
+                        item.setTodayPurchaseRechargeMoney(todayMoney.getTodayPurchaseRechargeMoney());
+                    }
+                    item.setPaybackRate(paybackRate);
+                    item.setAvgMoney(avgMoney);
+                }
+        );
+
+        return gameRankingRechargeVO;
+    }
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getGameName())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 20 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameStatDayServiceImpl.java

@@ -0,0 +1,20 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.GameStatDay;
+import com.zanxiang.game.data.serve.dao.mapper.GameStatDayMapper;
+import com.zanxiang.game.data.serve.service.IGameStatDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * t_game_stat_day 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-29
+ */
+@Service
+public class GameStatDayServiceImpl extends ServiceImpl<GameStatDayMapper, GameStatDay> implements IGameStatDayService {
+
+}

+ 76 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameUserServiceImpl.java

@@ -0,0 +1,76 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.data.serve.dao.mapper.GameUserStatDayMapper;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameUser;
+import com.zanxiang.game.data.serve.dao.mapper.GameUserMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeUserVO;
+import com.zanxiang.game.data.serve.service.IGameUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_game_user 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class GameUserServiceImpl extends ServiceImpl<GameUserMapper, GameUser> implements IGameUserService {
+    @Autowired
+    private GameUserStatDayMapper gameUserStatDayMapper;
+
+    @Override
+    public IPage<GameRankingRechargeUserVO> getUserRechargeRank(GameRankingDTO dto) {
+        Long sysUserId = SecurityUtil.isAdmin() ? null : SecurityUtil.getUserId();
+        sysUserId = null == dto.getSysUserId() ? sysUserId : dto.getSysUserId();
+        dto.setSysUserId(sysUserId);
+        IPage<GameRankingRechargeUserVO> gameRankingRechargeVO = gameUserStatDayMapper.getGameUserRankingRechargeVO(dto.toPage(), dto);
+        gameRankingRechargeVO.getRecords().forEach(item -> {
+                    BigDecimal avgMoney = null == item.getTotalRechargeCount() ?
+                            BigDecimal.valueOf(0) : item.getTotalRechargeMoney().divide(BigDecimal.valueOf(item.getTotalRechargeCount()), 4, RoundingMode.DOWN);
+            GameRankingRechargeUserVO todayMoney = getBaseMapper().getTodayGameUserRecharge(item.getUserId(),item.getRegAgent(), dto.getSysUserId());
+            item.setRegAgent(null);
+                    if (Objects.nonNull(todayMoney)) {
+                        item.setTodayRechargeMoney(todayMoney.getTodayRechargeMoney());
+                        item.setUserAccount(todayMoney.getUserAccount());
+                        item.setRegAgent(todayMoney.getRegAgent());
+                        item.setRegTime(todayMoney.getRegTime());
+                        item.setRecentRechargeGame(todayMoney.getRecentRechargeGame());
+                        item.setUserDevice(todayMoney.getUserDevice());
+                        item.setFirstRechargeMoney(todayMoney.getFirstRechargeMoney());
+                        item.setRecentRechargeMoney(todayMoney.getRecentRechargeMoney());
+                        item.setTag(todayMoney.getTag());
+                        item.setRecentRechargeTime(todayMoney.getRecentRechargeTime());
+                    }
+                    item.setAvgMoney(avgMoney);
+                }
+        );
+
+        return gameRankingRechargeVO;
+    }
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getUsername())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 23 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameUserStatDayServiceImpl.java

@@ -0,0 +1,23 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.GameRankingDTO;
+import com.zanxiang.game.data.serve.pojo.entity.GameUserStatDay;
+import com.zanxiang.game.data.serve.dao.mapper.GameUserStatDayMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameRankingRechargeGameVO;
+import com.zanxiang.game.data.serve.service.IGameUserStatDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * t_game_user_stat_day 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-13
+ */
+@Service
+public class GameUserStatDayServiceImpl extends ServiceImpl<GameUserStatDayMapper, GameUserStatDay> implements IGameUserStatDayService {
+
+}

+ 40 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PromoteAgentServiceImpl.java

@@ -0,0 +1,40 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgent;
+import com.zanxiang.game.data.serve.dao.mapper.PromoteAgentMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.IPromoteAgentService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_promote_agent 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class PromoteAgentServiceImpl extends ServiceImpl<PromoteAgentMapper, PromoteAgent> implements IPromoteAgentService {
+
+    @Override
+    public List<PromoteAgent> getPromoteAgent(Long sysUserId, Long companyId) {
+        return getBaseMapper().getPromoteAgent(sysUserId);
+    }
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getAgentName())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 32 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PromoteAgentStatDayServiceImpl.java

@@ -0,0 +1,32 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.data.serve.pojo.dto.GamePromoteDTO;
+import com.zanxiang.game.data.serve.pojo.entity.PromoteAgentStatDay;
+import com.zanxiang.game.data.serve.dao.mapper.PromoteAgentStatDayMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GamePromoteVO;
+import com.zanxiang.game.data.serve.service.IPromoteAgentStatDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 游戏推广渠道日报表 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-01-04
+ */
+@Service
+public class PromoteAgentStatDayServiceImpl extends ServiceImpl<PromoteAgentStatDayMapper, PromoteAgentStatDay> implements IPromoteAgentStatDayService {
+
+    @Override
+    public IPage<GamePromoteVO> getDayData(GamePromoteDTO dto) {
+        Long sysUserId = SecurityUtil.isAdmin() ? null : SecurityUtil.getUserId();
+        sysUserId = null == dto.getSysUserId() ? sysUserId : dto.getSysUserId();
+        dto.setSysUserId(sysUserId);
+        IPage<GamePromoteVO> page = getBaseMapper().getDayDate(dto.toPage(),dto);
+        return page;
+    }
+}

+ 35 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/SysUserServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.entity.SysUser;
+import com.zanxiang.game.data.serve.dao.mapper.SysUserMapper;
+import com.zanxiang.game.data.serve.pojo.vo.GameConditionVO;
+import com.zanxiang.game.data.serve.service.ISysUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * t_sys_user 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2022-12-08
+ */
+@Service
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
+
+    @Override
+    public List<GameConditionVO> getList() {
+        return getBaseMapper()
+                .selectList(null)
+                .stream()
+                .map(item -> GameConditionVO
+                        .builder()
+                        .id(String.valueOf(item.getId()))
+                        .name(item.getNickname())
+                        .build()).collect(Collectors.toList());
+    }
+}

+ 25 - 25
game-data/game-data-serve/src/main/resources/bootstrap.yml

@@ -1,5 +1,5 @@
 server:
-  port: 10600
+  port: 10505
 spring:
   application:
     name: game-data
@@ -17,30 +17,30 @@ spring:
         group: GAME
         max-retry: 10
 
-#dubbo:
-#  application:
-#    name: game-data-dubbo
-#    register-mode: instance
-#    qos-enable: false
-#    qos-accept-foreign-ip: false
-#    qos-port: -1
-#    metadata-type: local
-#    metadata-service-protocol: dubbo
-#    metadata-service-port: -1
-#    logger: slf4j
-#  registry:
-#    address: nacos://118.178.187.109:8848?registry-type=service
-#    timeout: 3000
-#    parameters:
-#      namespace: LOCAL_game
-#    group: GAME
-#    use-as-metadata-center: false
-#    use-as-config-center: false
-#  protocol:
-#    name: tri
-#    port: -1
-#  consumer:
-#    check: false
+dubbo:
+  application:
+    name: game-data-dubbo
+    register-mode: instance
+    qos-enable: false
+    qos-accept-foreign-ip: false
+    qos-port: -1
+    metadata-type: local
+    metadata-service-protocol: dubbo
+    metadata-service-port: -1
+    logger: slf4j
+  registry:
+    address: nacos://118.178.187.109:8848?registry-type=service
+    timeout: 3000
+    parameters:
+      namespace: LOCAL_game
+    group: GAME
+    use-as-metadata-center: false
+    use-as-config-center: false
+  protocol:
+    name: tri
+    port: -1
+  consumer:
+    check: false
 
 
 

+ 5 - 0
game-data/game-data-serve/src/main/resources/mapper/AdAccountMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zanxiang.game.data.serve.dao.mapper.AdAccountMapper">
+
+</mapper>

+ 5 - 0
game-data/game-data-serve/src/main/resources/mapper/AdAccountStatDayMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zanxiang.game.data.serve.dao.mapper.AdAccountStatDayMapper">
+
+</mapper>

+ 5 - 0
game-data/game-data-serve/src/main/resources/mapper/AdDataMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zanxiang.game.data.serve.dao.mapper.AdDataMapper">
+
+</mapper>

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff