Browse Source

Merge branch 'dev' of GameCenter/game-center into master

zhimo 1 year ago
parent
commit
59a834672c
100 changed files with 1830 additions and 1920 deletions
  1. 10 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/oceanengine/pojo/dto/OrderReportRpcDTO.java
  2. 6 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/oceanengine/pojo/dto/UserActiveReportRpcDTO.java
  3. 4 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/tencent/pojo/dto/TencentOrderDTO.java
  4. 4 3
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/tencent/pojo/dto/TencentUserDTO.java
  5. 0 15
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/tencent/pojo/enums/UserTypeEnum.java
  6. 71 8
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/controller/BackPolicyController.java
  7. 0 12
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyDTO.java
  8. 0 18
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyListDTO.java
  9. 45 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameOceanengineOrderLogDTO.java
  10. 45 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameOceanengineUserLogDTO.java
  11. 71 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameTencentOrderDTO.java
  12. 39 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameTencentUserDTO.java
  13. 0 10
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameBackPolicy.java
  14. 0 3
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameOceanengineBackLog.java
  15. 4 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameOceanengineOrderLog.java
  16. 15 1
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentOrder.java
  17. 13 1
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentUser.java
  18. 0 12
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameBackPolicyVO.java
  19. 63 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameOceanengineOrderLogVO.java
  20. 63 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameOceanengineUserLogVO.java
  21. 122 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentOrderVO.java
  22. 93 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentUserVO.java
  23. 1 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/WechatMiniGameDataReportRpcImpl.java
  24. 1 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameBackPolicyService.java
  25. 9 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameOceanengineOrderLogService.java
  26. 9 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameOceanengineUserLogService.java
  27. 9 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentOrderService.java
  28. 8 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentUserService.java
  29. 79 65
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameBackPolicyServiceImpl.java
  30. 54 24
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineOrderLogServiceImpl.java
  31. 36 6
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineUserLogServiceImpl.java
  32. 109 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentOrderServiceImpl.java
  33. 95 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentUserServiceImpl.java
  34. 82 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/utils/BackPolicyUtil.java
  35. 7 0
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/ServerInfo.java
  36. 0 64
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/base/BasePage.java
  37. 0 79
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/domain/ResultMap.java
  38. 0 111
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/domain/ResultVO.java
  39. 0 39
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/AppletStoreEnum.java
  40. 0 44
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/GameCategoryEnum.java
  41. 0 33
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/MaxPayLock.java
  42. 0 57
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PromoAccountTypeEnum.java
  43. 0 62
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PromoMediaTypeEnum.java
  44. 0 57
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PromoProviderEnum.java
  45. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/BanStatusEnum.java
  46. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/CpStatusEnum.java
  47. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/DeleteEnum.java
  48. 66 0
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/GameCategoryEnum.java
  49. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/HttpStatusEnum.java
  50. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/OsEnum.java
  51. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/PayApplicationTypeEnum.java
  52. 17 21
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/PayDeviceEnum.java
  53. 9 9
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/PayWayEnum.java
  54. 1 1
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/StatusEnum.java
  55. 0 144
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/utils/BeanUtils.java
  56. 0 97
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/utils/StringUtils.java
  57. 0 149
      game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/utils/URIUtil.java
  58. 9 3
      game-module/game-module-manage/pom.xml
  59. 7 8
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java
  60. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/config/SwaggerConfig.java
  61. 72 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/AgentController.java
  62. 33 94
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/ChoiceController.java
  63. 4 4
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/CpController.java
  64. 5 5
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GameAppletController.java
  65. 7 65
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GameController.java
  66. 5 5
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GamePayStrategyController.java
  67. 5 5
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GamePayWayController.java
  68. 3 3
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GamePictureController.java
  69. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GameTagController.java
  70. 7 12
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/OrderController.java
  71. 3 3
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/OssController.java
  72. 6 6
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PayApplicationController.java
  73. 5 5
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PayBoxController.java
  74. 6 6
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PayMerchantController.java
  75. 0 63
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoAccountController.java
  76. 0 54
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoChannelController.java
  77. 0 54
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoMediaController.java
  78. 0 54
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoSiteController.java
  79. 6 6
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/UserBanController.java
  80. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/UserController.java
  81. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/FileTypeEnum.java
  82. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/GameStatusEnum.java
  83. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/GameStrategyTypeEnum.java
  84. 1 1
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/VipLevelEnum.java
  85. 82 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/AgentDTO.java
  86. 0 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/AgentListDTO.java
  87. 61 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/GameAppletConfigDTO.java
  88. 4 19
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/GameAppletDTO.java
  89. 0 72
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoAccountDTO.java
  90. 0 62
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoChannelDTO.java
  91. 0 64
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoMediaDTO.java
  92. 0 32
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoSiteDTO.java
  93. 31 41
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/UserDTO.java
  94. 27 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/enums/AccountTypeEnum.java
  95. 72 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/AgentAddParam.java
  96. 74 0
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/AgentListParam.java
  97. 0 6
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/CpAddUpdateParam.java
  98. 2 2
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/CpListParam.java
  99. 19 7
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GameAddParam.java
  100. 2 2
      game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GameListParam.java

+ 10 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/oceanengine/pojo/dto/OrderReportRpcDTO.java

@@ -1,11 +1,17 @@
 package com.zanxiang.game.back.base.oceanengine.pojo.dto;
 package com.zanxiang.game.back.base.oceanengine.pojo.dto;
 
 
+import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 @Data
 @Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
 public class OrderReportRpcDTO implements Serializable {
 public class OrderReportRpcDTO implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
     /**
     /**
@@ -36,6 +42,10 @@ public class OrderReportRpcDTO implements Serializable {
      * 渠道标识
      * 渠道标识
      */
      */
     private String agentKey;
     private String agentKey;
+    /**
+     * 回传策略 id
+     */
+    private Long backPolicyId;
     /**
     /**
      * 订单金额(分)
      * 订单金额(分)
      */
      */

+ 6 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/oceanengine/pojo/dto/UserActiveReportRpcDTO.java

@@ -1,11 +1,17 @@
 package com.zanxiang.game.back.base.oceanengine.pojo.dto;
 package com.zanxiang.game.back.base.oceanengine.pojo.dto;
 
 
+import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 @Data
 @Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
 public class UserActiveReportRpcDTO implements Serializable {
 public class UserActiveReportRpcDTO implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

+ 4 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/tencent/pojo/dto/TencentOrderDTO.java

@@ -14,6 +14,10 @@ import java.time.LocalDateTime;
 @Builder
 @Builder
 public class TencentOrderDTO implements Serializable {
 public class TencentOrderDTO implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
+    /**
+     * 回传策略ID
+     */
+    private Long backPolicyId;
     /**
     /**
      * 游戏ID
      * 游戏ID
      */
      */

+ 4 - 3
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/tencent/pojo/dto/TencentUserDTO.java

@@ -14,6 +14,10 @@ import java.time.LocalDateTime;
 @Builder
 @Builder
 public class TencentUserDTO implements Serializable {
 public class TencentUserDTO implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
+    /**
+     * 回传策略ID
+     */
+    private Long backPolicyId;
     /**
     /**
      * 游戏ID
      * 游戏ID
      */
      */
@@ -47,7 +51,4 @@ public class TencentUserDTO implements Serializable {
      * appid
      * appid
      */
      */
     private String wechatAppId;
     private String wechatAppId;
-
-    private String userType;
-
 }
 }

+ 0 - 15
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/tencent/pojo/enums/UserTypeEnum.java

@@ -1,15 +0,0 @@
-package com.zanxiang.game.back.base.tencent.pojo.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-@Getter
-@AllArgsConstructor
-public enum UserTypeEnum {
-    REGISTER("REGISTER","注册"),
-    CREATE_ROLE("CREATE_ROLE","创角");
-
-    private String userType;
-
-    private String description;
-}

+ 71 - 8
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/controller/BackPolicyController.java

@@ -2,10 +2,9 @@ package com.zanxiang.game.back.serve.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyDTO;
-import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyListDTO;
-import com.zanxiang.game.back.serve.pojo.vo.GameBackPolicyVO;
-import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
+import com.zanxiang.game.back.serve.pojo.dto.*;
+import com.zanxiang.game.back.serve.pojo.vo.*;
+import com.zanxiang.game.back.serve.service.*;
 import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -20,32 +19,96 @@ import java.util.List;
 public class BackPolicyController {
 public class BackPolicyController {
     @Autowired
     @Autowired
     private IGameBackPolicyService gameBackPolicyService;
     private IGameBackPolicyService gameBackPolicyService;
+    @Autowired
+    private IGameTencentUserService tencentUserService;
+    @Autowired
+    private IGameTencentOrderService tencentOrderService;
+    @Autowired
+    private IGameOceanengineOrderLogService oceanengineOrderLogService;
+    @Autowired
+    private IGameOceanengineUserLogService oceanengineUserLogService;
 
 
-    @PreAuthorize(permissionKey = "gameBack:policy:create")
+//    @PreAuthorize(permissionKey = "gameBack:policy:create")
     @PostMapping("/policy/create")
     @PostMapping("/policy/create")
     @ApiOperation(value = "创建回传策略")
     @ApiOperation(value = "创建回传策略")
     public ResultVO<Boolean> createPolicy(@RequestBody GameBackPolicyDTO dto) {
     public ResultVO<Boolean> createPolicy(@RequestBody GameBackPolicyDTO dto) {
         return ResultVO.ok(gameBackPolicyService.createPolicy(dto));
         return ResultVO.ok(gameBackPolicyService.createPolicy(dto));
     }
     }
 
 
-    @PreAuthorize(permissionKey = "gameBack:policy:update")
+//    @PreAuthorize(permissionKey = "gameBack:policy:update")
     @PostMapping("/policy/update")
     @PostMapping("/policy/update")
     @ApiOperation(value = "修改回传策略")
     @ApiOperation(value = "修改回传策略")
     public ResultVO<Boolean> updatePolicy(@RequestBody GameBackPolicyDTO dto) {
     public ResultVO<Boolean> updatePolicy(@RequestBody GameBackPolicyDTO dto) {
         return ResultVO.ok(gameBackPolicyService.updatePolicy(dto));
         return ResultVO.ok(gameBackPolicyService.updatePolicy(dto));
     }
     }
 
 
-    @PreAuthorize(permissionKey = "gameBack:policy:delete")
+//    @PreAuthorize(permissionKey = "gameBack:policy:delete")
     @PostMapping("/policy/delete/{ids}")
     @PostMapping("/policy/delete/{ids}")
     @ApiOperation(value = "删除回传策略")
     @ApiOperation(value = "删除回传策略")
     public ResultVO<Boolean> deletePolicy(@PathVariable("ids") List<Long> ids) {
     public ResultVO<Boolean> deletePolicy(@PathVariable("ids") List<Long> ids) {
         return ResultVO.ok(gameBackPolicyService.deletePolicy(ids));
         return ResultVO.ok(gameBackPolicyService.deletePolicy(ids));
     }
     }
 
 
-    @PreAuthorize(permissionKey = "gameBack:policy:list")
+//    @PreAuthorize(permissionKey = "gameBack:policy:list")
     @PostMapping("/policy/list")
     @PostMapping("/policy/list")
     @ApiOperation(value = "回传策略列表")
     @ApiOperation(value = "回传策略列表")
     public ResultVO<IPage<GameBackPolicyVO>> policyList(@RequestBody GameBackPolicyListDTO dto) {
     public ResultVO<IPage<GameBackPolicyVO>> policyList(@RequestBody GameBackPolicyListDTO dto) {
         return ResultVO.ok(gameBackPolicyService.policyList(dto));
         return ResultVO.ok(gameBackPolicyService.policyList(dto));
     }
     }
+
+//    @PreAuthorize(permissionKey = "gameBack:tencent:orderLogs")
+    @PostMapping("/tencent/orderLogs")
+    @ApiOperation(value = "腾讯订单回传日志列表")
+    public ResultVO<IPage<GameTencentOrderVO>> tencentOrderLogList(@RequestBody GameTencentOrderDTO dto) {
+        return ResultVO.ok(tencentOrderService.tencentOrderLogList(dto));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:tencent:orderReport")
+    @PostMapping("/tencent/orderReport/{ids}")
+    @ApiOperation(value = "腾讯订单手动上报")
+    public ResultVO<Boolean> tencentOrderReport(@PathVariable("ids") List<Long> ids) {
+        return ResultVO.ok(tencentOrderService.tencentOrderReport(ids));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:tencent:userLogs")
+    @PostMapping("/tencent/userLogs")
+    @ApiOperation(value = "腾讯用户回传日志列表")
+    public ResultVO<IPage<GameTencentUserVO>> tencentUserLogList(@RequestBody GameTencentUserDTO dto) {
+        return ResultVO.ok(tencentUserService.tencentUserLogList(dto));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:tencent:userReport")
+    @PostMapping("/tencent/userReport/{ids}")
+    @ApiOperation(value = "腾讯用户手动上报")
+    public ResultVO<Boolean> tencentUserReport(@PathVariable("ids") List<Long> ids) {
+        return ResultVO.ok(tencentUserService.tencentUserReport(ids));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:oceanengine:orderLogs")
+    @PostMapping("/oceanengine/orderLogs")
+    @ApiOperation(value = "头条订单回传日志列表")
+    public ResultVO<IPage<GameOceanengineOrderLogVO>> oceanengineOrderLogList(@RequestBody GameOceanengineOrderLogDTO dto) {
+        return ResultVO.ok(oceanengineOrderLogService.oceanengineOrderLogList(dto));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:oceanengine:orderReport")
+    @PostMapping("/oceanengine/orderReport/{ids}")
+    @ApiOperation(value = "头条订单手动上报")
+    public ResultVO<Boolean> oceanengineOrderReport(@PathVariable("ids") List<Long> ids) {
+        return ResultVO.ok(oceanengineOrderLogService.oceanengineOrderReport(ids));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:oceanengine:userLogs")
+    @PostMapping("/oceanengine/userLogs")
+    @ApiOperation(value = "头条用户回传日志列表")
+    public ResultVO<IPage<GameOceanengineUserLogVO>> oceanengineUserLogList(@RequestBody GameOceanengineUserLogDTO dto) {
+        return ResultVO.ok(oceanengineUserLogService.oceanengineUserLogList(dto));
+    }
+
+//    @PreAuthorize(permissionKey = "gameBack:oceanengine:userReport")
+    @PostMapping("/oceanengine/userReport/{ids}")
+    @ApiOperation(value = "头条用户手动上报")
+    public ResultVO<Boolean> oceanengineUserReport(@PathVariable("ids") List<Long> ids) {
+        return ResultVO.ok(oceanengineUserLogService.oceanengineUserReport(ids));
+    }
 }
 }

+ 0 - 12
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyDTO.java

@@ -34,18 +34,6 @@ public class GameBackPolicyDTO implements Serializable {
     @ApiModelProperty("回传策略名")
     @ApiModelProperty("回传策略名")
     private String backPolicyName;
     private String backPolicyName;
 
 
-    /**
-     * 游戏ID
-     */
-    @ApiModelProperty("游戏ID")
-    private Long gameId;
-
-    /**
-     * 账号ID
-     */
-    @ApiModelProperty("账号ID")
-    private Long accountId;
-
     /**
     /**
      * 首充金额(小于等于指定金额)
      * 首充金额(小于等于指定金额)
      */
      */

+ 0 - 18
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyListDTO.java

@@ -25,24 +25,6 @@ import java.time.LocalDateTime;
 @AllArgsConstructor
 @AllArgsConstructor
 @Builder
 @Builder
 public class GameBackPolicyListDTO extends BaseListDTO<GameBackPolicy> {
 public class GameBackPolicyListDTO extends BaseListDTO<GameBackPolicy> {
-    /**
-     * 游戏ID
-     */
-    @ApiModelProperty("游戏ID")
-    private Long gameId;
-
     @ApiModelProperty("回传策略名")
     @ApiModelProperty("回传策略名")
     private String backPolicyName;
     private String backPolicyName;
-
-    /**
-     * 账号ID
-     */
-    @ApiModelProperty("账号ID")
-    private Long accountId;
-
-    @ApiModelProperty("创建者")
-    private String createBy;
-
-    @ApiModelProperty("创建时间")
-    private LocalDateTime createTime;
 }
 }

+ 45 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameOceanengineOrderLogDTO.java

@@ -0,0 +1,45 @@
+package com.zanxiang.game.back.serve.pojo.dto;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
+import com.zanxiang.module.web.pojo.BaseListDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 头条订单上报日志
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOceanengineOrderLogDTO extends BaseListDTO<GameOceanengineOrderLog> {
+    @ApiModelProperty("小游戏ID")
+    private String appId;
+
+    @ApiModelProperty("用户OpenID")
+    private String openId;
+
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    @ApiModelProperty("广告账号ID")
+    private Long accountId;
+
+    @ApiModelProperty("渠道标识")
+    private String agentKey;
+
+    @ApiModelProperty("订单编号")
+    private String orderNo;
+
+    @ApiModelProperty("支付状态,0:预下单,1:待支付,2:支付成功,-1:已取消")
+    private Integer orderStatus;
+
+    @ApiModelProperty("回传状态")
+    private Integer backStatus;
+}

+ 45 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameOceanengineUserLogDTO.java

@@ -0,0 +1,45 @@
+package com.zanxiang.game.back.serve.pojo.dto;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
+import com.zanxiang.module.web.pojo.BaseListDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 头条订单上报日志
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOceanengineUserLogDTO extends BaseListDTO<GameOceanengineUserLog> {
+    @ApiModelProperty("小游戏ID")
+    private String appId;
+
+    @ApiModelProperty("用户OpenID")
+    private String openId;
+
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    @ApiModelProperty("广告账号ID")
+    private Long accountId;
+
+    @ApiModelProperty("渠道标识")
+    private String agentKey;
+
+    @ApiModelProperty("头条2.0-项目ID")
+    private Long projectId;
+
+    @ApiModelProperty("头条2.0-广告ID")
+    private Long promotionId;
+
+    @ApiModelProperty("回传状态")
+    private Integer backStatus;
+}

+ 71 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameTencentOrderDTO.java

@@ -0,0 +1,71 @@
+package com.zanxiang.game.back.serve.pojo.dto;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
+import com.zanxiang.module.web.pojo.BaseListDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * <p>
+ * 游戏腾讯订单表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameTencentOrderDTO extends BaseListDTO<GameTencentOrder> {
+    /**
+     * 渠道号
+     */
+    @ApiModelProperty("渠道号")
+    private String channel;
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    @ApiModelProperty("广告账号ID")
+    private Long adAccountId;
+
+    /**
+     * 订单ID
+     */
+    @ApiModelProperty("订单ID")
+    private String orderId;
+
+    /**
+     * openid
+     */
+    @ApiModelProperty("openid")
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    @ApiModelProperty("appid")
+    private String wechatAppId;
+
+    /**
+     * 0:未回传;1:回传
+     */
+    @ApiModelProperty("-1:回传失败;0:未回传;1:回传")
+    private Integer isBack;
+
+    /**
+     * 支付状态,0 : 预下单, 1 : 待支付,2 : 支付成功,-1 : 已取消
+     */
+    @ApiModelProperty("支付状态,0 : 预下单, 1 : 待支付,2 : 支付成功,-1 : 已取消")
+    private Integer orderStatus;
+}

+ 39 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameTencentUserDTO.java

@@ -0,0 +1,39 @@
+package com.zanxiang.game.back.serve.pojo.dto;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
+import com.zanxiang.module.web.pojo.BaseListDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 游戏腾讯用户表
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameTencentUserDTO extends BaseListDTO<GameTencentUser> {
+    @ApiModelProperty("渠道号")
+    private String channel;
+
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    @ApiModelProperty("广告账号ID")
+    private Long adAccountId;
+
+    @ApiModelProperty("openid")
+    private String wechatOpenid;
+
+    @ApiModelProperty("appid")
+    private String wechatAppId;
+
+    @ApiModelProperty("回传状态")
+    private Integer isBack;
+}

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

@@ -32,16 +32,6 @@ public class GameBackPolicy implements Serializable {
 
 
     private String backPolicyName;
     private String backPolicyName;
 
 
-    /**
-     * 游戏ID
-     */
-    private Long gameId;
-
-    /**
-     * 账号ID
-     */
-    private Long accountId;
-
     /**
     /**
      * 首充金额(小于等于指定金额)
      * 首充金额(小于等于指定金额)
      */
      */

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

@@ -22,9 +22,6 @@ import java.time.LocalDateTime;
 public class GameOceanengineBackLog implements Serializable {
 public class GameOceanengineBackLog implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public static final Integer BACK_STATUS_SUCCESS = 0;
-    public static final Integer BACK_STATUS_FAILED = -1;
-
     @TableId(value = "id", type = IdType.AUTO)
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
     private Long id;
     /**
     /**

+ 4 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameOceanengineOrderLog.java

@@ -40,6 +40,10 @@ public class GameOceanengineOrderLog implements Serializable {
      * 游戏 id
      * 游戏 id
      */
      */
     private Long gameId;
     private Long gameId;
+    /**
+     * 回传策略 id
+     */
+    private Long backPolicyId;
     /**
     /**
      * 广告账号_id
      * 广告账号_id
      */
      */

+ 15 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentOrder.java

@@ -25,7 +25,10 @@ public class GameTencentOrder implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     private Long id;
     private Long id;
-
+    /**
+     * 回传策略ID
+     */
+    private Long backPolicyId;
     /**
     /**
      * 渠道号
      * 渠道号
      */
      */
@@ -90,4 +93,15 @@ public class GameTencentOrder implements Serializable {
      * 支付时间
      * 支付时间
      */
      */
     private LocalDateTime payTime;
     private LocalDateTime payTime;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private Long updateBy;
+
+    /**
+     * 回传日志
+     */
+    private String backLog;
 }
 }

+ 13 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentUser.java

@@ -25,6 +25,10 @@ public class GameTencentUser implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     private Long id;
     private Long id;
+    /**
+     * 回传策略ID
+     */
+    private Long backPolicyId;
 
 
     /**
     /**
      * 渠道号
      * 渠道号
@@ -66,6 +70,14 @@ public class GameTencentUser implements Serializable {
      */
      */
     private Integer isBack;
     private Integer isBack;
 
 
-    private String userType;
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
 
 
+    private Long updateBy;
+
+    /**
+     * 回传日志
+     */
+    private String backLog;
 }
 }

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

@@ -31,18 +31,6 @@ public class GameBackPolicyVO implements Serializable {
     @ApiModelProperty("回传策略名")
     @ApiModelProperty("回传策略名")
     private String backPolicyName;
     private String backPolicyName;
 
 
-    /**
-     * 游戏ID
-     */
-    @ApiModelProperty("游戏ID")
-    private Long gameId;
-
-    /**
-     * 账号ID
-     */
-    @ApiModelProperty("账号ID")
-    private Long accountId;
-
     /**
     /**
      * 首充金额(小于等于指定金额)
      * 首充金额(小于等于指定金额)
      */
      */

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

@@ -0,0 +1,63 @@
+package com.zanxiang.game.back.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 头条订单上报日志
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOceanengineOrderLogVO {
+    @ApiModelProperty("主键ID")
+    private Long id;
+
+    @ApiModelProperty("小游戏ID")
+    private String appId;
+
+    @ApiModelProperty("用户OpenID")
+    private String openId;
+
+    @ApiModelProperty("用户UnionID")
+    private String unionId;
+
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    @ApiModelProperty("广告账号ID")
+    private Long accountId;
+
+    @ApiModelProperty("广告回传Token")
+    private String accountReportToken;
+
+    @ApiModelProperty("广告回传URL")
+    private String accountReportUrl;
+
+    @ApiModelProperty("渠道标识")
+    private String agentKey;
+
+    @ApiModelProperty("订单编号")
+    private String orderNo;
+
+    @ApiModelProperty("订单金额(分)")
+    private Long amount;
+
+    @ApiModelProperty("支付状态,0 : 预下单, 1 : 待支付,2 : 支付成功,-1 : 已取消")
+    private Integer orderStatus;
+
+    @ApiModelProperty("下单时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("支付时间")
+    private LocalDateTime payTime;
+
+    @ApiModelProperty("回传状态 -1:回传失败;0:未回传;1:回传")
+    private Integer backStatus;
+}

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

@@ -0,0 +1,63 @@
+package com.zanxiang.game.back.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 头条订单上报日志
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameOceanengineUserLogVO {
+    @ApiModelProperty("主键ID")
+    private Long id;
+
+    @ApiModelProperty("小游戏ID")
+    private String appId;
+
+    @ApiModelProperty("用户OpenID")
+    private String openId;
+
+    @ApiModelProperty("用户UnionID")
+    private String unionId;
+
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    @ApiModelProperty("广告账号ID")
+    private Long accountId;
+
+    @ApiModelProperty("广告回传Token")
+    private String accountReportToken;
+
+    @ApiModelProperty("广告回传URL")
+    private String accountReportUrl;
+
+    @ApiModelProperty("渠道标识")
+    private String agentKey;
+
+    @ApiModelProperty("注册Token")
+    private String clueToken;
+
+    @ApiModelProperty("头条2.0-项目ID")
+    private Long projectId;
+
+    @ApiModelProperty("头条2.0-广告ID")
+    private Long promotionId;
+
+    @ApiModelProperty("请求ID")
+    private String reqId;
+
+    @ApiModelProperty("注册/激活时间")
+    private LocalDateTime activeTime;
+
+    @ApiModelProperty("回传状态")
+    private Integer backStatus;
+}

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

@@ -0,0 +1,122 @@
+package com.zanxiang.game.back.serve.pojo.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 游戏腾讯订单表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameTencentOrderVO {
+    private Long id;
+
+    /**
+     * 渠道号
+     */
+    @ApiModelProperty("渠道号")
+    private String channel;
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    @ApiModelProperty("广告账号ID")
+    private Long adAccountId;
+
+    /**
+     * 注册时间
+     */
+    @ApiModelProperty("注册时间")
+    private LocalDateTime registerTime;
+
+    /**
+     * 关注时间
+     */
+    @ApiModelProperty("关注时间")
+    private LocalDateTime subscribeTime;
+
+    /**
+     * 充值金额(分)
+     */
+    @ApiModelProperty("充值金额(分)")
+    private Long rechargeMoney;
+
+    /**
+     * 充值时间
+     */
+    @ApiModelProperty("充值时间")
+    private LocalDateTime rechargeTime;
+
+    /**
+     * 订单ID
+     */
+    @ApiModelProperty("订单ID")
+    private String orderId;
+
+    /**
+     * openid
+     */
+    @ApiModelProperty("openid")
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    @ApiModelProperty("appid")
+    private String wechatAppId;
+
+    /**
+     * 0:未回传;1:回传
+     */
+    @ApiModelProperty("回传状态 -1:回传失败;0:未回传;1:回传")
+    private Integer isBack;
+
+    /**
+     * 支付状态,0 : 预下单, 1 : 待支付,2 : 支付成功,-1 : 已取消
+     */
+    @ApiModelProperty("支付状态,0 : 预下单, 1 : 待支付,2 : 支付成功,-1 : 已取消")
+    private Integer orderStatus;
+
+    /**
+     * 支付时间
+     */
+    @ApiModelProperty("支付时间")
+    private LocalDateTime payTime;
+
+    @ApiModelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("更新时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("更新者id")
+    private Long updateBy;
+    @ApiModelProperty("更新者名称")
+    private String updateName;
+
+    /**
+     * 回传日志
+     */
+    @ApiModelProperty("回传日志")
+    private String backLog;
+}

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

@@ -0,0 +1,93 @@
+package com.zanxiang.game.back.serve.pojo.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 游戏腾讯用户表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameTencentUserVO {
+    private Long id;
+
+    /**
+     * 渠道号
+     */
+    @ApiModelProperty("渠道号")
+    private String channel;
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    @ApiModelProperty("广告账号ID")
+    private Long adAccountId;
+
+    /**
+     * 注册时间
+     */
+    @ApiModelProperty("注册时间")
+    private LocalDateTime registerTime;
+
+    /**
+     * 关注时间
+     */
+    @ApiModelProperty("关注时间")
+    private LocalDateTime subscribeTime;
+
+    /**
+     * openid
+     */
+    @ApiModelProperty("openid")
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    @ApiModelProperty("appid")
+    private String wechatAppId;
+
+    /**
+     * 0:未回传;1:回传
+     */
+    @ApiModelProperty("回传状态:-1:回传失败;0:未回传;1:回传")
+    private Integer isBack;
+
+    @ApiModelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("更新时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("更新者id")
+    private Long updateBy;
+
+    @ApiModelProperty("更新者名称")
+    private String updateName;
+
+    /**
+     * 回传日志
+     */
+    @ApiModelProperty("回传日志")
+    private String backLog;
+}

+ 1 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/WechatMiniGameDataReportRpcImpl.java

@@ -53,6 +53,7 @@ public class WechatMiniGameDataReportRpcImpl implements IWechatMiniGameDataRepor
                 .openId(dto.getWechatOpenId())
                 .openId(dto.getWechatOpenId())
                 .unionId(dto.getWechatUnionId())
                 .unionId(dto.getWechatUnionId())
                 .gameId(dto.getGameId())
                 .gameId(dto.getGameId())
+                .backPolicyId(dto.getBackPolicyId())
                 .accountId(dto.getAccountReport().getAccountId())
                 .accountId(dto.getAccountReport().getAccountId())
                 .accountReportToken(dto.getAccountReport().getReportToken())
                 .accountReportToken(dto.getAccountReport().getReportToken())
                 .accountReportUrl(dto.getAccountReport().getReportUrl())
                 .accountReportUrl(dto.getAccountReport().getReportUrl())

+ 1 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameBackPolicyService.java

@@ -8,6 +8,7 @@ import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyListDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.game.back.serve.pojo.vo.GameBackPolicyVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameBackPolicyVO;
+import com.zanxiang.game.back.serve.pojo.vo.GameTencentOrderVO;
 
 
 import java.util.List;
 import java.util.List;
 
 

+ 9 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameOceanengineOrderLogService.java

@@ -1,9 +1,18 @@
 package com.zanxiang.game.back.serve.service;
 package com.zanxiang.game.back.serve.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.back.serve.pojo.dto.GameOceanengineOrderLogDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineOrderLogVO;
+
+import java.util.List;
 
 
 public interface IGameOceanengineOrderLogService extends IService<GameOceanengineOrderLog> {
 public interface IGameOceanengineOrderLogService extends IService<GameOceanengineOrderLog> {
 
 
     boolean callback(GameOceanengineOrderLog orderLog, boolean mustBack);
     boolean callback(GameOceanengineOrderLog orderLog, boolean mustBack);
+
+    IPage<GameOceanengineOrderLogVO> oceanengineOrderLogList(GameOceanengineOrderLogDTO dto);
+
+    boolean oceanengineOrderReport(List<Long> ids);
 }
 }

+ 9 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameOceanengineUserLogService.java

@@ -1,9 +1,18 @@
 package com.zanxiang.game.back.serve.service;
 package com.zanxiang.game.back.serve.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.back.serve.pojo.dto.GameOceanengineUserLogDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineUserLogVO;
+
+import java.util.List;
 
 
 public interface IGameOceanengineUserLogService extends IService<GameOceanengineUserLog> {
 public interface IGameOceanengineUserLogService extends IService<GameOceanengineUserLog> {
 
 
     boolean callback(GameOceanengineUserLog userLog, boolean mustBack);
     boolean callback(GameOceanengineUserLog userLog, boolean mustBack);
+
+    IPage<GameOceanengineUserLogVO> oceanengineUserLogList(GameOceanengineUserLogDTO dto);
+
+    boolean oceanengineUserReport(List<Long> ids);
 }
 }

+ 9 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentOrderService.java

@@ -1,7 +1,13 @@
 package com.zanxiang.game.back.serve.service;
 package com.zanxiang.game.back.serve.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyListDTO;
+import com.zanxiang.game.back.serve.pojo.dto.GameTencentOrderDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.back.serve.pojo.vo.GameTencentOrderVO;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +19,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface IGameTencentOrderService extends IService<GameTencentOrder> {
 public interface IGameTencentOrderService extends IService<GameTencentOrder> {
 
 
+    IPage<GameTencentOrderVO> tencentOrderLogList(GameTencentOrderDTO dto);
+
+    boolean tencentOrderReport(List<Long> ids);
 }
 }

+ 8 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentUserService.java

@@ -1,7 +1,12 @@
 package com.zanxiang.game.back.serve.service;
 package com.zanxiang.game.back.serve.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.back.serve.pojo.dto.GameTencentUserDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.back.serve.pojo.vo.GameTencentUserVO;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +18,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface IGameTencentUserService extends IService<GameTencentUser> {
 public interface IGameTencentUserService extends IService<GameTencentUser> {
 
 
+    IPage<GameTencentUserVO> tencentUserLogList(GameTencentUserDTO dto);
+
+    boolean tencentUserReport(List<Long> ids);
 }
 }

+ 79 - 65
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameBackPolicyServiceImpl.java

@@ -15,11 +15,9 @@ import com.zanxiang.game.back.base.tencent.pojo.dto.TencentUserDTO;
 import com.zanxiang.game.back.serve.dao.mapper.GameBackPolicyMapper;
 import com.zanxiang.game.back.serve.dao.mapper.GameBackPolicyMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyDTO;
 import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyDTO;
 import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyListDTO;
 import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyListDTO;
-import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
-import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
+import com.zanxiang.game.back.serve.pojo.entity.*;
 import com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum;
 import com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum;
+import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.pojo.vo.GameBackPolicyVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameBackPolicyVO;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
@@ -69,42 +67,32 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public boolean tencentOrderBack(TencentOrderDTO dto) {
     public boolean tencentOrderBack(TencentOrderDTO dto) {
-        GameTencentOrder gameTencentOrder = gameTencentOrderService.getOne(new LambdaQueryWrapper<GameTencentOrder>()
-                .eq(GameTencentOrder::getWechatAppId, dto.getWechatAppId())
-                .eq(GameTencentOrder::getOrderId, dto.getOrderId())
-                .eq(GameTencentOrder::getOrderStatus,dto.getOrderStatus()));
-
         //订单保存
         //订单保存
-        if (null == gameTencentOrder){
-            gameTencentOrder = GameTencentOrder.builder()
-                    .orderId(dto.getOrderId())
-                    .channel(dto.getChannel())
-                    .rechargeMoney(dto.getRechargeMoney())
-                    .rechargeTime(dto.getRechargeTime())
-                    .subscribeTime(dto.getSubscribeTime())
-                    .registerTime(dto.getRegisterTime())
-                    .wechatAppId(dto.getWechatAppId())
-                    .wechatOpenid(dto.getWechatOpenid())
-                    .orderStatus(dto.getOrderStatus())
-                    .payTime(dto.getPayTime())
-                    .isBack(0)
-                    .build();
-            gameTencentOrderService.save(gameTencentOrder);
-        }
+        GameTencentOrder gameTencentOrder = GameTencentOrder.builder()
+                .orderId(dto.getOrderId())
+                .channel(dto.getChannel())
+                .rechargeMoney(dto.getRechargeMoney())
+                .rechargeTime(dto.getRechargeTime())
+                .subscribeTime(dto.getSubscribeTime())
+                .registerTime(dto.getRegisterTime())
+                .wechatAppId(dto.getWechatAppId())
+                .wechatOpenid(dto.getWechatOpenid())
+                .orderStatus(dto.getOrderStatus())
+                .payTime(dto.getPayTime())
+                .isBack(BackStatusEnum.NO.getBackStatus())
+                .backPolicyId(dto.getBackPolicyId())
+                .build();
+        gameTencentOrderService.save(gameTencentOrder);
         if (!dto.getOrderStatus().equals(COMPLETE_ORDER) && !dto.getOrderStatus().equals(PURCHASE)) {
         if (!dto.getOrderStatus().equals(COMPLETE_ORDER) && !dto.getOrderStatus().equals(PURCHASE)) {
             return true;
             return true;
         }
         }
 
 
-        String actionType;
-        if (dto.getOrderStatus().equals(PURCHASE)){
-            actionType = ActionTypeEnum.PURCHASE.getActionType();
-        }else {
-            actionType = ActionTypeEnum.COMPLETE_ORDER.getActionType();
-        }
+        String actionType = gameTencentOrder.getOrderStatus().equals(PURCHASE) ?
+                ActionTypeEnum.PURCHASE.getActionType() : ActionTypeEnum.COMPLETE_ORDER.getActionType();
         DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
         DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
                 .appId(dto.getWechatAppId())
                 .appId(dto.getWechatAppId())
                 .action(UserActionRpcDTO.builder()
                 .action(UserActionRpcDTO.builder()
-                        .actionTime(dto.getRechargeTime())
+                        .actionTime(dto.getOrderStatus().equals(PURCHASE) ? dto.getPayTime() : dto.getRechargeTime())
                         .actionType(actionType)
                         .actionType(actionType)
                         .userId(UserActionRpcDTO.UserIdRpcDTO.builder()
                         .userId(UserActionRpcDTO.UserIdRpcDTO.builder()
                                 .wechatAppId(dto.getWechatAppId())
                                 .wechatAppId(dto.getWechatAppId())
@@ -124,23 +112,38 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
                 .wechatOpenid(dto.getWechatOpenid())
                 .wechatOpenid(dto.getWechatOpenid())
                 .build();
                 .build();
 
 
-        GameBackPolicy gameBackPolicy = gameBackPolicyService.getOne(new LambdaQueryWrapper<GameBackPolicy>()
-                .eq(GameBackPolicy::getGameId, dto.getGameId())
-                .eq(GameBackPolicy::getAccountId, dto.getAdAccountId()));
-        if (null == gameBackPolicy) {
-            gameBackPolicy = gameBackPolicyService.getOne(new LambdaQueryWrapper<GameBackPolicy>()
-                    .eq(GameBackPolicy::getGameId, dto.getGameId())
-                    .isNull(GameBackPolicy::getAccountId));
+        boolean doBack;
+        if (null == dto.getBackPolicyId()){
+            doBack = true;
+        }else {
+            GameBackPolicy gameBackPolicy = gameBackPolicyService.getById(dto.getBackPolicyId());
+
+            doBack = BackPolicyUtil.backOrder(gameBackPolicy, dto.getRechargeMoney(), backUnit -> Long.valueOf(
+                    gameTencentOrderService.list(new LambdaQueryWrapper<GameTencentOrder>()
+                            .eq(GameTencentOrder::getGameId, dto.getGameId())
+                            .eq(GameTencentOrder::getWechatAppId, dto.getWechatAppId())
+                            .eq(GameTencentOrder::getAdAccountId, dto.getAdAccountId())
+                            .eq(GameTencentOrder::getOrderStatus, 2)
+                            .last("limit " + backUnit)
+                            .orderByDesc(GameTencentOrder::getCreateTime)
+                    ).stream().filter(order -> order.getIsBack().equals(BackStatusEnum.SUCCESS.getBackStatus())).count()
+            ).intValue());
         }
         }
+
         try {
         try {
-            if (BackPolicyUtil.isBackOrder(gameBackPolicy, dto.getRechargeMoney())) {
+            if (dto.getOrderStatus().equals(COMPLETE_ORDER) || doBack) {
                 userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
                 userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
-                gameTencentBackLogService.save(gameTencentBackLog);
-                gameTencentOrder.setIsBack(1);
+                gameTencentOrder.setIsBack(BackStatusEnum.FAILED.getBackStatus());
                 gameTencentOrderService.updateById(gameTencentOrder);
                 gameTencentOrderService.updateById(gameTencentOrder);
+
+                gameTencentBackLogService.save(gameTencentBackLog);
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("回传腾讯订单失败,失败原因:{}", e.getMessage());
             log.error("回传腾讯订单失败,失败原因:{}", e.getMessage());
+            gameTencentOrder.setBackLog(e.getMessage());
+            gameTencentOrder.setIsBack(BackStatusEnum.FAILED.getBackStatus());
+            gameTencentOrderService.updateById(gameTencentOrder);
+
             gameTencentBackLog.setBackLog(e.getMessage());
             gameTencentBackLog.setBackLog(e.getMessage());
             gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
             gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
             return false;
             return false;
@@ -151,18 +154,27 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public boolean tencentUserBack(TencentUserDTO dto) {
     public boolean tencentUserBack(TencentUserDTO dto) {
-        GameTencentUser gameTencentUser = GameTencentUser.builder()
-                .adAccountId(dto.getAdAccountId())
-                .gameId(dto.getGameId())
-                .channel(dto.getChannel())
-                .subscribeTime(dto.getSubscribeTime())
-                .registerTime(dto.getRegisterTime())
-                .wechatAppId(dto.getWechatAppId())
-                .wechatOpenid(dto.getWechatOpenid())
-                .userType(dto.getUserType())
-                .isBack(0)
-                .build();
-        gameTencentUserService.save(gameTencentUser);
+        GameTencentUser gameTencentUser = gameTencentUserService.getOne(new LambdaQueryWrapper<GameTencentUser>()
+                .eq(GameTencentUser::getWechatOpenid, dto.getWechatOpenid())
+                .eq(GameTencentUser::getGameId, dto.getGameId())
+                .eq(GameTencentUser::getWechatAppId, dto.getWechatAppId())
+                .eq(GameTencentUser::getAdAccountId, dto.getAdAccountId())
+                .eq(GameTencentUser::getIsBack,BackStatusEnum.SUCCESS.getBackStatus())
+        );
+        if (null == gameTencentUser){
+            //用户保存
+            gameTencentUser = GameTencentUser.builder()
+                    .adAccountId(dto.getAdAccountId())
+                    .gameId(dto.getGameId())
+                    .channel(dto.getChannel())
+                    .subscribeTime(dto.getSubscribeTime())
+                    .registerTime(dto.getRegisterTime())
+                    .wechatAppId(dto.getWechatAppId())
+                    .wechatOpenid(dto.getWechatOpenid())
+                    .isBack(BackStatusEnum.NO.getBackStatus())
+                    .build();
+            gameTencentUserService.save(gameTencentUser);
+        }
 
 
         DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
         DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
                 .appId(dto.getWechatAppId())
                 .appId(dto.getWechatAppId())
@@ -187,11 +199,16 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
                 .build();
                 .build();
         try {
         try {
             userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
             userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
-            gameTencentBackLogService.save(gameTencentBackLog);
-            gameTencentUser.setIsBack(1);
+            gameTencentUser.setIsBack(BackStatusEnum.SUCCESS.getBackStatus());
             gameTencentUserService.updateById(gameTencentUser);
             gameTencentUserService.updateById(gameTencentUser);
+
+            gameTencentBackLogService.save(gameTencentBackLog);
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("回传腾讯用户失败,失败原因:{}", e.getMessage());
             log.error("回传腾讯用户失败,失败原因:{}", e.getMessage());
+            gameTencentUser.setBackLog(e.getMessage());
+            gameTencentUser.setIsBack(BackStatusEnum.FAILED.getBackStatus());
+            gameTencentUserService.updateById(gameTencentUser);
+
             gameTencentBackLog.setBackLog(e.getMessage());
             gameTencentBackLog.setBackLog(e.getMessage());
             gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
             gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
             return false;
             return false;
@@ -210,8 +227,6 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
         }
         }
         GameBackPolicy backPolicy = GameBackPolicy.builder()
         GameBackPolicy backPolicy = GameBackPolicy.builder()
                 .backPolicyName(dto.getBackPolicyName())
                 .backPolicyName(dto.getBackPolicyName())
-                .gameId(dto.getGameId())
-                .accountId(dto.getAccountId())
                 .firstRechargeMoney(dto.getFirstRechargeMoney())
                 .firstRechargeMoney(dto.getFirstRechargeMoney())
                 .firstRechargeBackPercentage(dto.getFirstRechargeBackPercentage())
                 .firstRechargeBackPercentage(dto.getFirstRechargeBackPercentage())
                 .bigRechargeBackPercentage(dto.getBigRechargeBackPercentage())
                 .bigRechargeBackPercentage(dto.getBigRechargeBackPercentage())
@@ -237,8 +252,6 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
         GameBackPolicy backPolicy = GameBackPolicy.builder()
         GameBackPolicy backPolicy = GameBackPolicy.builder()
                 .id(dto.getId())
                 .id(dto.getId())
                 .backPolicyName(dto.getBackPolicyName())
                 .backPolicyName(dto.getBackPolicyName())
-                .gameId(dto.getGameId())
-                .accountId(dto.getAccountId())
                 .firstRechargeMoney(dto.getFirstRechargeMoney())
                 .firstRechargeMoney(dto.getFirstRechargeMoney())
                 .firstRechargeBackPercentage(dto.getFirstRechargeBackPercentage())
                 .firstRechargeBackPercentage(dto.getFirstRechargeBackPercentage())
                 .bigRechargeBackPercentage(dto.getBigRechargeBackPercentage())
                 .bigRechargeBackPercentage(dto.getBigRechargeBackPercentage())
@@ -261,22 +274,23 @@ public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper,
     public IPage<GameBackPolicyVO> policyList(GameBackPolicyListDTO dto) {
     public IPage<GameBackPolicyVO> policyList(GameBackPolicyListDTO dto) {
         return gameBackPolicyService.page(dto.toPage(), new LambdaQueryWrapper<GameBackPolicy>()
         return gameBackPolicyService.page(dto.toPage(), new LambdaQueryWrapper<GameBackPolicy>()
                         .like(StringUtils.isNotBlank(dto.getBackPolicyName()), GameBackPolicy::getBackPolicyName, dto.getBackPolicyName())
                         .like(StringUtils.isNotBlank(dto.getBackPolicyName()), GameBackPolicy::getBackPolicyName, dto.getBackPolicyName())
-                        .eq(null != dto.getGameId(), GameBackPolicy::getGameId, dto.getGameId())
-                        .eq(null != dto.getAccountId(), GameBackPolicy::getAccountId, dto.getAccountId())
-                        .eq(null != dto.getCreateBy(), GameBackPolicy::getCreateBy, dto.getCreateBy()))
+                        .eq(GameBackPolicy::getCreateBy,SecurityUtil.getUserId())
+                        .orderByDesc(GameBackPolicy::getCreateTime))
                 .convert(item -> GameBackPolicyVO.builder()
                 .convert(item -> GameBackPolicyVO.builder()
                         .id(item.getId())
                         .id(item.getId())
                         .backPolicyName(item.getBackPolicyName())
                         .backPolicyName(item.getBackPolicyName())
-                        .accountId(item.getAccountId())
                         .bigRechargeBackPercentage(item.getBigRechargeBackPercentage())
                         .bigRechargeBackPercentage(item.getBigRechargeBackPercentage())
                         .bigRechargeMoney(item.getBigRechargeMoney())
                         .bigRechargeMoney(item.getBigRechargeMoney())
                         .firstRechargeBackPercentage(item.getFirstRechargeBackPercentage())
                         .firstRechargeBackPercentage(item.getFirstRechargeBackPercentage())
                         .firstRechargeMoney(item.getFirstRechargeMoney())
                         .firstRechargeMoney(item.getFirstRechargeMoney())
                         .otherRechargeBackPercentage(item.getOtherRechargeBackPercentage())
                         .otherRechargeBackPercentage(item.getOtherRechargeBackPercentage())
+                        .levelDown(item.getLevelDown())
+                        .createTime(item.getCreateTime())
+                        .updateTime(item.getUpdateTime())
                         .createBy(item.getCreateBy())
                         .createBy(item.getCreateBy())
                         .updateBy(item.getUpdateBy())
                         .updateBy(item.getUpdateBy())
                         .createName(sysUserRpc.getById(item.getCreateBy()).getData().getNickname())
                         .createName(sysUserRpc.getById(item.getCreateBy()).getData().getNickname())
-                        .updateName(sysUserRpc.getById(item.getUpdateBy()).getData().getNickName())
+                        .updateName(null == item.getUpdateBy() ? null : sysUserRpc.getById(item.getUpdateBy()).getData().getNickName())
                         .build());
                         .build());
     }
     }
 }
 }

+ 54 - 24
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineOrderLogServiceImpl.java

@@ -2,22 +2,26 @@ package com.zanxiang.game.back.serve.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.erp.base.ErpServer;
+import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineOrderLogMapper;
 import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineOrderLogMapper;
 import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
 import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
 import com.zanxiang.game.back.serve.oceanengine.OceanengineCallbackException;
 import com.zanxiang.game.back.serve.oceanengine.OceanengineCallbackException;
-import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
-import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineBackLog;
-import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
-import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
+import com.zanxiang.game.back.serve.pojo.dto.GameOceanengineOrderLogDTO;
+import com.zanxiang.game.back.serve.pojo.entity.*;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineOrderLogVO;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineOrderLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineOrderLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
 import com.zanxiang.game.back.serve.utils.BackPolicyUtil;
 import com.zanxiang.game.back.serve.utils.BackPolicyUtil;
+import com.zanxiang.module.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +41,8 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
     private IGameOceanengineUserLogService gameOceanengineUserLogService;
     private IGameOceanengineUserLogService gameOceanengineUserLogService;
     @Autowired
     @Autowired
     private IGameOceanengineBackLogService gameOceanengineBackLogService;
     private IGameOceanengineBackLogService gameOceanengineBackLogService;
+    @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
+    private ISysUserRpc sysUserRpc;
 
 
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
@@ -49,22 +55,23 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
                 // 头条只要回传支付订单
                 // 头条只要回传支付订单
                 return false;
                 return false;
             }
             }
-            List<GameBackPolicy> gameBackPolicyList = gameBackPolicyService.list(new LambdaQueryWrapper<GameBackPolicy>()
-                    .eq(GameBackPolicy::getAccountId, orderLog.getAccountId())
-                    .or().eq(GameBackPolicy::getGameId, orderLog.getGameId())
-            );
-            if (CollectionUtils.isEmpty(gameBackPolicyList)) {
+            if (orderLog.getBackPolicyId() == null) {
                 // 没有回传策略,则直接全量回传
                 // 没有回传策略,则直接全量回传
                 doBack = true;
                 doBack = true;
             } else {
             } else {
-                GameBackPolicy gameBackPolicy = gameBackPolicyList.get(0);
-                if (gameBackPolicyList.size() > 1) {
-                    GameBackPolicy temp = gameBackPolicyList.get(1);
-                    if (temp.getAccountId() != null && temp.getAccountId() > 0) {
-                        gameBackPolicy = temp;
-                    }
-                }
-                doBack = BackPolicyUtil.isBackOrder(gameBackPolicy, orderLog.getAmount());
+                GameBackPolicy gameBackPolicy = gameBackPolicyService.getById(orderLog.getBackPolicyId());
+                doBack = BackPolicyUtil.backOrder(gameBackPolicy, orderLog.getAmount(), backUnit -> {
+                    return Long.valueOf(list(new LambdaQueryWrapper<GameOceanengineOrderLog>()
+                                    .eq(GameOceanengineOrderLog::getGameId, orderLog.getGameId())
+                                    .eq(GameOceanengineOrderLog::getAppId, orderLog.getAppId())
+                                    .eq(GameOceanengineOrderLog::getAccountId, orderLog.getAccountId())
+                                    .eq(GameOceanengineOrderLog::getOrderStatus, 2)
+                                    .last("limit " + backUnit)
+                                    .orderByDesc(GameOceanengineOrderLog::getCreateTime)
+                            ).stream().filter(log -> log.getOrderStatus().equals(BackStatusEnum.SUCCESS.getBackStatus())).count()
+                    ).intValue();
+                });
+                orderLog.setAmount(BackPolicyUtil.lowRechargeLevel(orderLog.getAmount(), gameBackPolicy.getLevelDown()));
             }
             }
         }
         }
         if (doBack) {
         if (doBack) {
@@ -78,6 +85,29 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
         return false;
         return false;
     }
     }
 
 
+    @Override
+    public IPage<GameOceanengineOrderLogVO> oceanengineOrderLogList(GameOceanengineOrderLogDTO dto) {
+        return page(dto.toPage(), new LambdaQueryWrapper<GameOceanengineOrderLog>()
+                .eq(StringUtils.isNotBlank(dto.getAgentKey()), GameOceanengineOrderLog::getAgentKey, dto.getAgentKey())
+                .eq(null != dto.getGameId(), GameOceanengineOrderLog::getGameId, dto.getGameId())
+                .eq(null != dto.getAccountId(), GameOceanengineOrderLog::getAccountId, dto.getAccountId())
+                .eq(StringUtils.isNotBlank(dto.getAppId()), GameOceanengineOrderLog::getAppId, dto.getAppId())
+                .eq(StringUtils.isNotBlank(dto.getOpenId()), GameOceanengineOrderLog::getOpenId, dto.getOpenId())
+                .eq(StringUtils.isNotBlank(dto.getOrderNo()), GameOceanengineOrderLog::getOrderNo, dto.getOrderNo())
+                .eq(null != dto.getBackStatus(), GameOceanengineOrderLog::getBackStatus, dto.getBackStatus())
+                .eq(null != dto.getOrderStatus(), GameOceanengineOrderLog::getOrderStatus, dto.getOrderStatus())
+                .orderByDesc(GameOceanengineOrderLog::getCreateTime)
+        ).convert(item -> BeanUtil.copy(item, GameOceanengineOrderLogVO.class));
+    }
+
+    @Override
+    public boolean oceanengineOrderReport(List<Long> ids) {
+        baseMapper.selectBatchIds(ids).stream()
+                .filter(item -> !item.getBackStatus().equals(BackStatusEnum.SUCCESS.getBackStatus()))
+                .forEach(oceanengineOrderLog -> callback(oceanengineOrderLog, true));
+        return true;
+    }
+
     private BackStatusEnum doCallback(GameOceanengineOrderLog orderLog) {
     private BackStatusEnum doCallback(GameOceanengineOrderLog orderLog) {
         GameOceanengineUserLog userLog = gameOceanengineUserLogService.getOne(new LambdaQueryWrapper<GameOceanengineUserLog>()
         GameOceanengineUserLog userLog = gameOceanengineUserLogService.getOne(new LambdaQueryWrapper<GameOceanengineUserLog>()
                 .eq(GameOceanengineUserLog::getGameId, orderLog.getGameId())
                 .eq(GameOceanengineUserLog::getGameId, orderLog.getGameId())
@@ -97,7 +127,7 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
                     .eventType(String.valueOf(MiniGameCallback.EventType.ACTIVE_PAY.getEventType()))
                     .eventType(String.valueOf(MiniGameCallback.EventType.ACTIVE_PAY.getEventType()))
                     .eventLogId(orderLog.getId())
                     .eventLogId(orderLog.getId())
                     .createTime(LocalDateTime.now())
                     .createTime(LocalDateTime.now())
-                    .backStatus(GameOceanengineBackLog.BACK_STATUS_FAILED)
+                    .backStatus(BackStatusEnum.FAILED.getBackStatus())
                     .errMsg("找不到用户注册信息")
                     .errMsg("找不到用户注册信息")
                     .build());
                     .build());
             return BackStatusEnum.FAILED;
             return BackStatusEnum.FAILED;
@@ -111,15 +141,15 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
                         .pay_amount(orderLog.getAmount())
                         .pay_amount(orderLog.getAmount())
                         .build())
                         .build())
                 .build();
                 .build();
-        Integer backStatus = GameOceanengineBackLog.BACK_STATUS_SUCCESS;
+        BackStatusEnum backStatus = BackStatusEnum.SUCCESS;
         String errMsg = null;
         String errMsg = null;
         try {
         try {
             miniGameCallback.doCallback(userLog.getAccountReportUrl(), userLog.getAccountReportToken(), request);
             miniGameCallback.doCallback(userLog.getAccountReportUrl(), userLog.getAccountReportToken(), request);
         } catch (OceanengineCallbackException e) {
         } catch (OceanengineCallbackException e) {
-            backStatus = GameOceanengineBackLog.BACK_STATUS_FAILED;
+            backStatus = BackStatusEnum.FAILED;
             errMsg = e.getMsg();
             errMsg = e.getMsg();
         } catch (Exception e) {
         } catch (Exception e) {
-            backStatus = GameOceanengineBackLog.BACK_STATUS_FAILED;
+            backStatus = BackStatusEnum.FAILED;
             errMsg = "系统异常:" + e.getMessage();
             errMsg = "系统异常:" + e.getMessage();
         }
         }
         gameOceanengineBackLogService.save(GameOceanengineBackLog.builder()
         gameOceanengineBackLogService.save(GameOceanengineBackLog.builder()
@@ -132,9 +162,9 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
                 .eventType(request.getEvent_type())
                 .eventType(request.getEvent_type())
                 .eventLogId(orderLog.getId())
                 .eventLogId(orderLog.getId())
                 .createTime(LocalDateTime.now())
                 .createTime(LocalDateTime.now())
-                .backStatus(backStatus)
+                .backStatus(backStatus.getBackStatus())
                 .errMsg(errMsg)
                 .errMsg(errMsg)
                 .build());
                 .build());
-        return backStatus.equals(GameOceanengineBackLog.BACK_STATUS_SUCCESS) ? BackStatusEnum.SUCCESS : BackStatusEnum.FAILED;
+        return backStatus;
     }
     }
 }
 }

+ 36 - 6
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineUserLogServiceImpl.java

@@ -2,22 +2,30 @@ package com.zanxiang.game.back.serve.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineUserLogMapper;
 import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineUserLogMapper;
 import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
 import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
 import com.zanxiang.game.back.serve.oceanengine.OceanengineCallbackException;
 import com.zanxiang.game.back.serve.oceanengine.OceanengineCallbackException;
+import com.zanxiang.game.back.serve.pojo.dto.GameOceanengineUserLogDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineBackLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineBackLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
+import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineOrderLogVO;
+import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineUserLogVO;
 import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
 import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
+import com.zanxiang.module.util.bean.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.util.List;
 
 
 @Slf4j
 @Slf4j
 @Service
 @Service
@@ -39,6 +47,28 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
         );
         );
     }
     }
 
 
+    @Override
+    public IPage<GameOceanengineUserLogVO> oceanengineUserLogList(GameOceanengineUserLogDTO dto) {
+        return page(dto.toPage(), new LambdaQueryWrapper<GameOceanengineUserLog>()
+                .eq(StringUtils.isNotBlank(dto.getAgentKey()), GameOceanengineUserLog::getAgentKey, dto.getAgentKey())
+                .eq(null != dto.getGameId(), GameOceanengineUserLog::getGameId, dto.getGameId())
+                .eq(null != dto.getAccountId(), GameOceanengineUserLog::getAccountId, dto.getAccountId())
+                .eq(StringUtils.isNotBlank(dto.getAppId()), GameOceanengineUserLog::getAppId, dto.getAppId())
+                .eq(StringUtils.isNotBlank(dto.getOpenId()), GameOceanengineUserLog::getOpenId, dto.getOpenId())
+                .eq(null != dto.getBackStatus(), GameOceanengineUserLog::getBackStatus, dto.getBackStatus())
+                .eq(null != dto.getProjectId(), GameOceanengineUserLog::getProjectId, dto.getProjectId())
+                .eq(null != dto.getPromotionId(), GameOceanengineUserLog::getPromotionId, dto.getPromotionId())
+        ).convert(item -> BeanUtil.copy(item, GameOceanengineUserLogVO.class));
+    }
+
+    @Override
+    public boolean oceanengineUserReport(List<Long> ids) {
+        baseMapper.selectBatchIds(ids).stream()
+                .filter(item -> !item.getBackStatus().equals(BackStatusEnum.SUCCESS.getBackStatus()))
+                .forEach(oceanengineUserLog -> callback(oceanengineUserLog,true));
+        return true;
+    }
+
     private BackStatusEnum doCallback(GameOceanengineUserLog userLog, boolean mustBack) {
     private BackStatusEnum doCallback(GameOceanengineUserLog userLog, boolean mustBack) {
         // 是否已经回传过
         // 是否已经回传过
         boolean isBack = mustBack ? false : gameOceanengineBackLogService.count(new LambdaQueryWrapper<GameOceanengineBackLog>()
         boolean isBack = mustBack ? false : gameOceanengineBackLogService.count(new LambdaQueryWrapper<GameOceanengineBackLog>()
@@ -46,7 +76,7 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
                 .eq(GameOceanengineBackLog::getAppId, userLog.getAppId())
                 .eq(GameOceanengineBackLog::getAppId, userLog.getAppId())
                 .eq(GameOceanengineBackLog::getOpenId, userLog.getOpenId())
                 .eq(GameOceanengineBackLog::getOpenId, userLog.getOpenId())
                 .eq(GameOceanengineBackLog::getAccountId, userLog.getAccountId())
                 .eq(GameOceanengineBackLog::getAccountId, userLog.getAccountId())
-                .eq(GameOceanengineBackLog::getBackStatus, GameOceanengineBackLog.BACK_STATUS_SUCCESS)
+                .eq(GameOceanengineBackLog::getBackStatus, BackStatusEnum.SUCCESS)
         ) > 0;
         ) > 0;
         if (isBack) {
         if (isBack) {
             return BackStatusEnum.NO;
             return BackStatusEnum.NO;
@@ -57,15 +87,15 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
                 .union_id(userLog.getUnionId())
                 .union_id(userLog.getUnionId())
                 .event_type(String.valueOf(MiniGameCallback.EventType.ACTIVE.getEventType()))
                 .event_type(String.valueOf(MiniGameCallback.EventType.ACTIVE.getEventType()))
                 .build();
                 .build();
-        Integer backStatus = GameOceanengineBackLog.BACK_STATUS_SUCCESS;
+        BackStatusEnum backStatus = BackStatusEnum.SUCCESS;
         String errMsg = null;
         String errMsg = null;
         try {
         try {
             miniGameCallback.doCallback(userLog.getAccountReportUrl(), userLog.getAccountReportToken(), request);
             miniGameCallback.doCallback(userLog.getAccountReportUrl(), userLog.getAccountReportToken(), request);
         } catch (OceanengineCallbackException e) {
         } catch (OceanengineCallbackException e) {
-            backStatus = GameOceanengineBackLog.BACK_STATUS_FAILED;
+            backStatus = BackStatusEnum.FAILED;
             errMsg = e.getMsg();
             errMsg = e.getMsg();
         } catch (Exception e) {
         } catch (Exception e) {
-            backStatus = GameOceanengineBackLog.BACK_STATUS_FAILED;
+            backStatus = BackStatusEnum.FAILED;
             errMsg = "系统异常:" + e.getMessage();
             errMsg = "系统异常:" + e.getMessage();
         }
         }
         gameOceanengineBackLogService.save(GameOceanengineBackLog.builder()
         gameOceanengineBackLogService.save(GameOceanengineBackLog.builder()
@@ -78,9 +108,9 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
                 .eventType(request.getEvent_type())
                 .eventType(request.getEvent_type())
                 .eventLogId(userLog.getId())
                 .eventLogId(userLog.getId())
                 .createTime(LocalDateTime.now())
                 .createTime(LocalDateTime.now())
-                .backStatus(backStatus)
+                .backStatus(backStatus.getBackStatus())
                 .errMsg(errMsg)
                 .errMsg(errMsg)
                 .build());
                 .build());
-        return backStatus.equals(GameOceanengineBackLog.BACK_STATUS_SUCCESS) ? BackStatusEnum.SUCCESS : BackStatusEnum.FAILED;
+        return backStatus;
     }
     }
 }
 }

+ 109 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentOrderServiceImpl.java

@@ -1,11 +1,39 @@
 package com.zanxiang.game.back.serve.service.impl;
 package com.zanxiang.game.back.serve.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.advertising.tencent.base.AdvertisingTencentServer;
+import com.zanxiang.advertising.tencent.base.pojo.dto.DataReportOfAppIdRpcDTO;
+import com.zanxiang.advertising.tencent.base.pojo.dto.UserActionRpcDTO;
+import com.zanxiang.advertising.tencent.base.rpc.IUserActionSetRpc;
+import com.zanxiang.erp.base.ErpServer;
+import com.zanxiang.erp.base.rpc.ISysUserRpc;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.back.serve.pojo.dto.GameBackPolicyListDTO;
+import com.zanxiang.game.back.serve.pojo.dto.GameTencentOrderDTO;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentOrderMapper;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentOrderMapper;
+import com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum;
+import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.vo.GameTencentOrderVO;
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
+import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentOrderService;
 import com.zanxiang.game.back.serve.service.IGameTencentOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.module.util.bean.BeanUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum.PURCHASE;
+
 /**
 /**
  * <p>
  * <p>
  * 游戏腾讯订单表 服务实现类
  * 游戏腾讯订单表 服务实现类
@@ -14,7 +42,88 @@ import org.springframework.stereotype.Service;
  * @author auto
  * @author auto
  * @since 2023-06-01
  * @since 2023-06-01
  */
  */
+@Slf4j
 @Service
 @Service
 public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMapper, GameTencentOrder> implements IGameTencentOrderService {
 public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMapper, GameTencentOrder> implements IGameTencentOrderService {
+    @DubboReference(providedBy = AdvertisingTencentServer.SERVER_DUBBO_NAME)
+    private IUserActionSetRpc userActionSetRpc;
+    @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
+    private ISysUserRpc sysUserRpc;
+    @Autowired
+    private IGameTencentBackLogService gameTencentBackLogService;
+    /**
+     * 支付状态,0 : 预下单, 1 : 待支付,2 : 支付成功,-1 : 已取消
+     */
+    private static final Integer COMPLETE_ORDER = 0;
+    private static final Integer PURCHASE = 2;
+
+
+    @Override
+    public IPage<GameTencentOrderVO> tencentOrderLogList(GameTencentOrderDTO dto) {
+        return page(dto.toPage(), new LambdaQueryWrapper<GameTencentOrder>()
+                .eq(StringUtils.isNotBlank(dto.getChannel()), GameTencentOrder::getChannel, dto.getChannel())
+                .eq(null != dto.getGameId(), GameTencentOrder::getGameId, dto.getGameId())
+                .eq(null != dto.getAdAccountId(), GameTencentOrder::getAdAccountId, dto.getAdAccountId())
+                .eq(StringUtils.isNotBlank(dto.getWechatAppId()), GameTencentOrder::getWechatAppId, dto.getWechatAppId())
+                .eq(StringUtils.isNotBlank(dto.getWechatOpenid()), GameTencentOrder::getWechatOpenid, dto.getWechatOpenid())
+                .eq(StringUtils.isNotBlank(dto.getOrderId()), GameTencentOrder::getOrderId, dto.getOrderId())
+                .eq(null != dto.getIsBack(), GameTencentOrder::getIsBack, dto.getIsBack())
+                .eq(null != dto.getOrderStatus(), GameTencentOrder::getOrderStatus, dto.getOrderStatus())
+                .orderByDesc(GameTencentOrder::getCreateTime)
+        ).convert(item -> {
+            GameTencentOrderVO copy = BeanUtil.copy(item, GameTencentOrderVO.class);
+            copy.setUpdateName(null == item.getUpdateBy() ? null : sysUserRpc.getById(item.getUpdateBy()).getData().getNickName());
+            return copy;
+        });
+    }
+
+    @Override
+    public boolean tencentOrderReport(List<Long> ids) {
+        baseMapper.selectBatchIds(ids).stream()
+                .filter(item -> !item.getIsBack().equals(BackStatusEnum.SUCCESS.getBackStatus()))
+                .forEach(gameTencentOrder -> {
+                    String actionType = gameTencentOrder.getOrderStatus().equals(PURCHASE) ?
+                            ActionTypeEnum.PURCHASE.getActionType() : ActionTypeEnum.COMPLETE_ORDER.getActionType();
+                    DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
+                            .appId(gameTencentOrder.getWechatAppId())
+                            .action(UserActionRpcDTO.builder()
+                                    .actionTime(gameTencentOrder.getOrderStatus().equals(PURCHASE) ? gameTencentOrder.getPayTime() : gameTencentOrder.getRechargeTime())
+                                    .actionType(actionType)
+                                    .userId(UserActionRpcDTO.UserIdRpcDTO.builder()
+                                            .wechatAppId(gameTencentOrder.getWechatAppId())
+                                            .wechatOpenid(gameTencentOrder.getWechatOpenid())
+                                            .build())
+                                    .build())
+                            .build();
+
+                    GameTencentBackLog gameTencentBackLog = GameTencentBackLog.builder()
+                            .gameId(gameTencentOrder.getGameId())
+                            .adAccountId(gameTencentOrder.getAdAccountId())
+                            .actionTime(gameTencentOrder.getOrderStatus().equals(PURCHASE) ? gameTencentOrder.getPayTime() : gameTencentOrder.getRechargeTime())
+                            .createTime(LocalDateTime.now())
+                            .actionType(actionType)
+                            .orderId(gameTencentOrder.getOrderId())
+                            .wechatAppId(gameTencentOrder.getWechatAppId())
+                            .wechatOpenid(gameTencentOrder.getWechatOpenid())
+                            .build();
+                    gameTencentOrder.setUpdateTime(LocalDateTime.now());
+                    gameTencentOrder.setUpdateBy(SecurityUtil.getUserId());
+                    try {
+                        userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+                        gameTencentOrder.setIsBack(BackStatusEnum.SUCCESS.getBackStatus());
+                        updateById(gameTencentOrder);
+
+                        gameTencentBackLogService.save(gameTencentBackLog);
+                    } catch (Exception e) {
+                        log.error("回传腾讯订单失败,失败原因:{}", e.getMessage());
+                        gameTencentOrder.setBackLog(e.getMessage());
+                        gameTencentOrder.setIsBack(BackStatusEnum.FAILED.getBackStatus());
+                        updateById(gameTencentOrder);
 
 
+                        gameTencentBackLog.setBackLog(e.getMessage());
+                        gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
+                    }
+                });
+        return true;
+    }
 }
 }

+ 95 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentUserServiceImpl.java

@@ -1,11 +1,36 @@
 package com.zanxiang.game.back.serve.service.impl;
 package com.zanxiang.game.back.serve.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.advertising.tencent.base.AdvertisingTencentServer;
+import com.zanxiang.advertising.tencent.base.pojo.dto.DataReportOfAppIdRpcDTO;
+import com.zanxiang.advertising.tencent.base.pojo.dto.UserActionRpcDTO;
+import com.zanxiang.advertising.tencent.base.rpc.IUserActionSetRpc;
+import com.zanxiang.erp.base.ErpServer;
+import com.zanxiang.erp.base.rpc.ISysUserRpc;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.back.serve.pojo.dto.GameTencentUserDTO;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentUserMapper;
 import com.zanxiang.game.back.serve.dao.mapper.GameTencentUserMapper;
+import com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum;
+import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
+import com.zanxiang.game.back.serve.pojo.vo.GameTencentOrderVO;
+import com.zanxiang.game.back.serve.pojo.vo.GameTencentUserVO;
+import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentUserService;
 import com.zanxiang.game.back.serve.service.IGameTencentUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.module.util.bean.BeanUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDateTime;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 游戏腾讯用户表 服务实现类
  * 游戏腾讯用户表 服务实现类
@@ -14,7 +39,77 @@ import org.springframework.stereotype.Service;
  * @author auto
  * @author auto
  * @since 2023-06-01
  * @since 2023-06-01
  */
  */
+@Slf4j
 @Service
 @Service
 public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMapper, GameTencentUser> implements IGameTencentUserService {
 public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMapper, GameTencentUser> implements IGameTencentUserService {
+    @DubboReference(providedBy = AdvertisingTencentServer.SERVER_DUBBO_NAME)
+    private IUserActionSetRpc userActionSetRpc;
+    @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
+    private ISysUserRpc sysUserRpc;
+    @Autowired
+    private IGameTencentBackLogService gameTencentBackLogService;
+    @Override
+    public IPage<GameTencentUserVO> tencentUserLogList(GameTencentUserDTO dto) {
+        return page(dto.toPage(), new LambdaQueryWrapper<GameTencentUser>()
+                .eq(StringUtils.isNotBlank(dto.getChannel()), GameTencentUser::getChannel, dto.getChannel())
+                .eq(null != dto.getGameId(), GameTencentUser::getGameId, dto.getGameId())
+                .eq(null != dto.getAdAccountId(), GameTencentUser::getAdAccountId, dto.getAdAccountId())
+                .eq(StringUtils.isNotBlank(dto.getWechatAppId()), GameTencentUser::getWechatAppId, dto.getWechatAppId())
+                .eq(StringUtils.isNotBlank(dto.getWechatOpenid()), GameTencentUser::getWechatOpenid, dto.getWechatOpenid())
+                .eq(null != dto.getIsBack(), GameTencentUser::getIsBack, dto.getIsBack())
+                .orderByDesc(GameTencentUser::getCreateTime)
+        ).convert(item -> {
+            GameTencentUserVO copy = BeanUtil.copy(item, GameTencentUserVO.class);
+            copy.setUpdateName(null == item.getUpdateBy() ? null : sysUserRpc.getById(item.getUpdateBy()).getData().getNickName());
+            return copy;
+        });
+    }
+
+    @Override
+    public boolean tencentUserReport(List<Long> ids) {
+        baseMapper.selectBatchIds(ids).stream()
+                .filter(item -> !item.getIsBack().equals(BackStatusEnum.SUCCESS.getBackStatus()))
+                .forEach(gameTencentUser -> {
+                    String actionType = ActionTypeEnum.REGISTER.getActionType();
+                    DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
+                            .appId(gameTencentUser.getWechatAppId())
+                            .action(UserActionRpcDTO.builder()
+                                    .actionTime(gameTencentUser.getRegisterTime())
+                                    .actionType(actionType)
+                                    .userId(UserActionRpcDTO.UserIdRpcDTO.builder()
+                                            .wechatAppId(gameTencentUser.getWechatAppId())
+                                            .wechatOpenid(gameTencentUser.getWechatOpenid())
+                                            .build())
+                                    .build())
+                            .build();
+
+                    GameTencentBackLog gameTencentBackLog = GameTencentBackLog.builder()
+                            .gameId(gameTencentUser.getGameId())
+                            .adAccountId(gameTencentUser.getAdAccountId())
+                            .actionTime(gameTencentUser.getRegisterTime())
+                            .createTime(LocalDateTime.now())
+                            .actionType(actionType)
+                            .wechatAppId(gameTencentUser.getWechatAppId())
+                            .wechatOpenid(gameTencentUser.getWechatOpenid())
+                            .build();
+                    gameTencentUser.setUpdateTime(LocalDateTime.now());
+                    gameTencentUser.setUpdateBy(SecurityUtil.getUserId());
+                    try {
+                        userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+                        gameTencentUser.setIsBack(BackStatusEnum.SUCCESS.getBackStatus());
+                        updateById(gameTencentUser);
+
+                        gameTencentBackLogService.save(gameTencentBackLog);
+                    } catch (Exception e) {
+                        log.error("回传腾讯用户失败,失败原因:{}", e.getMessage());
+                        gameTencentUser.setBackLog(e.getMessage());
+                        gameTencentUser.setIsBack(BackStatusEnum.FAILED.getBackStatus());
+                        updateById(gameTencentUser);
 
 
+                        gameTencentBackLog.setBackLog(e.getMessage());
+                        gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
+                    }
+                });
+        return true;
+    }
 }
 }

+ 82 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/utils/BackPolicyUtil.java

@@ -1,11 +1,20 @@
 package com.zanxiang.game.back.serve.utils;
 package com.zanxiang.game.back.serve.utils;
 
 
+import com.github.sd4324530.jtuple.Tuple2;
+import com.github.sd4324530.jtuple.Tuples;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
 import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.util.Arrays;
 import java.util.Random;
 import java.util.Random;
+import java.util.function.Function;
 
 
 public class BackPolicyUtil {
 public class BackPolicyUtil {
+    private static final long[] RECHARGE_LEVEL = {12 * 100L, 30 * 100L, 50 * 100L, 98 * 100L, 198 * 100L, 328 * 100L, 649 * 100L, 998 * 100L, 2998 * 100L};
+
+    static {
+        Arrays.sort(RECHARGE_LEVEL);
+    }
 
 
     public static boolean isBackOrder(GameBackPolicy gameBackPolicy, Long rechargeMoney) {
     public static boolean isBackOrder(GameBackPolicy gameBackPolicy, Long rechargeMoney) {
         if (null == gameBackPolicy) {
         if (null == gameBackPolicy) {
@@ -28,4 +37,77 @@ public class BackPolicyUtil {
         // 如果随机数小于成功概率,则返回true,否则返回false
         // 如果随机数小于成功概率,则返回true,否则返回false
         return successProbability.compareTo(BigDecimal.valueOf(randomValue)) >= 0;
         return successProbability.compareTo(BigDecimal.valueOf(randomValue)) >= 0;
     }
     }
+
+    /**
+     * 订单回传
+     *
+     * @param gameBackPolicy   回传策略
+     * @param rechargeMoney    充值金额
+     * @param lastBackFunction 在指定最近订单数量内是否有订单回传过
+     * @return <是否回传, 回传金额>
+     */
+    public static boolean backOrder(GameBackPolicy gameBackPolicy, long rechargeMoney, Function<Integer, Integer> lastBackFunction) {
+        if (null == gameBackPolicy) {
+            return true;
+        }
+        BigDecimal percentage;
+        if (rechargeMoney <= gameBackPolicy.getFirstRechargeMoney()) {
+            // 小于首充金额
+            percentage = gameBackPolicy.getFirstRechargeBackPercentage();
+        } else if (rechargeMoney >= gameBackPolicy.getBigRechargeMoney()) {
+            percentage = gameBackPolicy.getBigRechargeBackPercentage();
+        } else {
+            percentage = gameBackPolicy.getOtherRechargeBackPercentage();
+        }
+        if (percentage == null || percentage.compareTo(BigDecimal.ONE) >= 0) {
+            return true;
+        }
+        int backRate = percentage.multiply(BigDecimal.TEN).intValue();
+        Tuple2<Integer, Integer> temp = approximate(backRate, 10);
+        backRate = temp.first;
+        int backUnit = temp.second;
+        int backCount = lastBackFunction.apply(backUnit);
+        if (backCount >= backRate) {
+            // 之前有订单上报过,这笔订单不上报了
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static Tuple2<Integer, Integer> approximate(int molecular, int denominator) {
+        if (molecular % denominator == 0) {
+            int temp = molecular / denominator;
+            return Tuples.tuple(temp, temp);
+        }
+        int model = 2;
+        do {
+            if (molecular % model == 0 && denominator % model == 0) {
+                molecular = molecular / model;
+                denominator = denominator / model;
+                continue;
+            }
+            model++;
+        } while (model <= denominator / 2);
+        return Tuples.tuple(molecular, denominator);
+    }
+
+    /**
+     * 降档
+     */
+    public static long lowRechargeLevel(long rechargeMoney, Integer levelDown) {
+        if (levelDown == null || levelDown == 0) {
+            return rechargeMoney;
+        }
+        int level = RECHARGE_LEVEL.length - 1;
+        for (int i = 0; i < RECHARGE_LEVEL.length; i++) {
+            if (rechargeMoney <= RECHARGE_LEVEL[i]) {
+                level = i;
+                break;
+            }
+        }
+        level = level - levelDown;
+        level = level < 0 ? 0 : Math.min(level, RECHARGE_LEVEL.length - 1);
+        return RECHARGE_LEVEL[level];
+    }
 }
 }

+ 7 - 0
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/ServerInfo.java

@@ -0,0 +1,7 @@
+package com.zanxiang.game.module.base;
+
+public class ServerInfo {
+
+    public static final String SERVER_NAME = "game-module";
+    public static final String SERVER_DUBBO_NAME = "game-module-dubbo";
+}

+ 0 - 64
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/base/BasePage.java

@@ -1,64 +0,0 @@
-package com.zanxiang.game.module.base.base;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import java.time.LocalDate;
-
-/**
- * @author : lingfeng
- * @time : 2022-06-22
- * @description : 分页通用参数
- */
-@Data
-public class BasePage<T> {
-
-    /**
-     * 当前记录起始索引
-     */
-    @NotNull(message = "当前页数不可为空")
-    @Min(value = 1, message = "起始页最小为 1")
-    @ApiModelProperty(value = "当前记录起始索引")
-    private Integer pageNum;
-
-    /**
-     * 每页显示记录数
-     */
-    @NotNull(message = "单页数量不可为空")
-    @Min(value = 1, message = "页面大小(2~200)之间")
-    @Max(value = 200, message = "页面大小(2~200)之间")
-    @ApiModelProperty(value = "每页显示记录数")
-    private Integer pageSize;
-
-    /**
-     * 开始时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "开始时间")
-    private LocalDate beginDate;
-
-    /**
-     * 结束时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "结束时间")
-    private LocalDate endDate;
-
-    /**
-     * 构造方法
-     *
-     * @return : 返回分页对象
-     */
-    public IPage<T> toPage() {
-        return new Page<>(pageNum, pageSize);
-    }
-}

+ 0 - 79
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/domain/ResultMap.java

@@ -1,79 +0,0 @@
-package com.zanxiang.game.module.base.domain;
-
-import com.zanxiang.game.module.base.enums.HttpStatusEnum;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 返回对象
- *
- * @author xufeng
- * @date 2022/6/9 10:41
- */
-public class ResultMap extends HashMap<String, Object> {
-
-    private static final long serialVersionUID = 1L;
-
-    public ResultMap() {
-        put("code", 0);
-    }
-
-    public static ResultMap error() {
-        return error(500, "未知异常,请联系管理员");
-    }
-
-    public static ResultMap error(String msg) {
-        return error(500, msg);
-    }
-
-    public static ResultMap error(int code, String msg) {
-        ResultMap r = new ResultMap();
-        r.put("code", code);
-        r.put("msg", msg);
-        return r;
-    }
-
-    public static ResultMap ok() {
-        ResultMap r = new ResultMap();
-        r.put("code", HttpStatusEnum.SUCCESS.getCode());
-        r.put("msg", HttpStatusEnum.SUCCESS.getMsg());
-        return r;
-    }
-
-    public static ResultMap ok(Object data) {
-        ResultMap r = new ResultMap();
-        r.put("code", HttpStatusEnum.SUCCESS.getCode());
-        r.put("msg", HttpStatusEnum.SUCCESS.getMsg());
-        r.put("data", data);
-        return r;
-    }
-
-    public static ResultMap ok(Long deviceType, Object data, String orderId) {
-        ResultMap r = new ResultMap();
-        r.put("code", HttpStatusEnum.SUCCESS.getCode());
-        r.put("msg", HttpStatusEnum.SUCCESS.getMsg());
-        HashMap<String, Object> dataMap = new HashMap<>(2);
-        dataMap.put("data", data);
-        dataMap.put("deviceType", deviceType);
-        dataMap.put("orderId", orderId);
-        r.put("data", dataMap);
-        return r;
-    }
-
-    public static ResultMap ok(Map<String, Object> map) {
-        ResultMap r = new ResultMap();
-        r.put("code", HttpStatusEnum.SUCCESS.getCode());
-        r.put("msg", HttpStatusEnum.SUCCESS.getMsg());
-        HashMap<String, Object> dataMap = new HashMap<>(2);
-        dataMap.putAll(map);
-        r.put("data", dataMap);
-        return r;
-    }
-
-    @Override
-    public ResultMap put(String key, Object value) {
-        super.put(key, value);
-        return this;
-    }
-}

+ 0 - 111
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/domain/ResultVO.java

@@ -1,111 +0,0 @@
-package com.zanxiang.game.module.base.domain;
-
-import com.zanxiang.game.module.base.enums.HttpStatusEnum;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-/**
- * @author : lingfeng
- * @time : 2022-06-07
- * @description : http响应消息
- */
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class ResultVO<T> implements Serializable {
-
-    /**
-     * 序列化
-     */
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 错误码
-     */
-    private Integer code;
-
-    /**
-     * 错误信息
-     */
-    private String msg;
-
-    /**
-     * 返回内容
-     */
-    private T data;
-
-    /**
-     * 错误消息返回构造
-     *
-     * @param httpStatusEnum : http响应消息枚举
-     */
-    public ResultVO(HttpStatusEnum httpStatusEnum) {
-        this.code = httpStatusEnum.getCode();
-        this.msg = httpStatusEnum.getMsg();
-    }
-
-    /**
-     * 默认返回成功构造
-     *
-     * @param data : 返回的内容
-     */
-    public ResultVO(T data) {
-        this.code = HttpStatusEnum.SUCCESS.getCode();
-        this.msg = HttpStatusEnum.SUCCESS.getMsg();
-        this.data = data;
-    }
-
-    /**
-     * 消息返回构造
-     *
-     * @param httpStatusEnum : http响应消息枚举
-     * @param data           : 返回的内容
-     */
-    public ResultVO(HttpStatusEnum httpStatusEnum, T data) {
-        this.code = httpStatusEnum.getCode();
-        this.msg = httpStatusEnum.getMsg();
-        this.data = data;
-    }
-
-    /**
-     * 自定义消息异常
-     *
-     * @param code : 错误码
-     * @param msg  : 错误消息
-     */
-    public ResultVO(int code, String msg) {
-        this.code = code;
-        this.msg = msg;
-    }
-
-    /**
-     * 判断是否成功
-     */
-    public boolean isSuccess() {
-        return Objects.equals(HttpStatusEnum.SUCCESS.getCode(), this.code);
-    }
-
-    public static <T> ResultVO<T> fail(String msg) {
-        return new ResultVO<>(HttpStatusEnum.ERROR.getCode(), msg);
-    }
-
-    public static <T> ResultVO<T> ok(int code, String msg, T data) {
-        return new ResultVO<>(code, msg, data);
-    }
-
-    public static <T> ResultVO<T> ok(int code, String msg) {
-        return new ResultVO<>(code, msg);
-    }
-
-    public static <T> ResultVO<T> ok() {
-        return new ResultVO<>(HttpStatusEnum.SUCCESS.getCode(), HttpStatusEnum.SUCCESS.getMsg());
-    }
-
-    public static <T> ResultVO<T> ok(T data) {
-        return new ResultVO<>(HttpStatusEnum.SUCCESS.getCode(), HttpStatusEnum.SUCCESS.getMsg(), data);
-    }
-}

+ 0 - 39
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/AppletStoreEnum.java

@@ -1,39 +0,0 @@
-package com.zanxiang.game.module.base.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author : lingfeng
- * @time : 2023-01-15
- * @description : 商城小程序枚举类型
- */
-@Getter
-@AllArgsConstructor
-public enum AppletStoreEnum {
-
-    /**
-     * 商城百货
-     */
-    STORE_GOODS(1, "商城百货"),
-
-    /**
-     * 商城美妆
-     */
-    STORE_BEAUTY(2, "商城美妆"),
-
-    /**
-     * 商城内容
-     */
-    STORE_CONTENT(3, "商城内容");
-
-    /**
-     * 账号类型
-     */
-    private Integer type;
-
-    /**
-     * 账号类型名称
-     */
-    private String name;
-}

+ 0 - 44
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/GameCategoryEnum.java

@@ -1,44 +0,0 @@
-package com.zanxiang.game.module.base.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author : lingfeng
- * @time : 2022-07-13
- * @description : 游戏应用类型
- */
-@Getter
-@AllArgsConstructor
-public enum GameCategoryEnum {
-
-    /**
-     * 微信小游戏
-     */
-    CATEGORY_WX_APPLET("wx_applet", "微信小游戏"),
-
-    /**
-     * 抖音小游戏
-     */
-    CATEGORY_DY_APPLET("byte_applet", "抖音小游戏"),
-
-    /**
-     * h5游戏
-     */
-    CATEGORY_H5("h5", "h5游戏"),
-
-    /**
-     * app游戏
-     */
-    CATEGORY_APP("app", "app游戏");
-
-    /**
-     * 游戏分类key
-     */
-    private String key;
-
-    /**
-     * 描述
-     */
-    private String name;
-}

+ 0 - 33
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/MaxPayLock.java

@@ -1,33 +0,0 @@
-package com.zanxiang.game.module.base.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author xufeng
- * @date 2022/6/13 13:39
- */
-@Getter
-@AllArgsConstructor
-public enum MaxPayLock {
-
-    /**
-     * 已锁定
-     */
-    LOCK(1, "已锁定"),
-
-    /**
-     * 未锁定
-     */
-    UNLOCK(0, "未锁定");
-
-    /**
-     * 状态
-     */
-    private Integer code;
-
-    /**
-     * 描述
-     */
-    private String name;
-}

+ 0 - 57
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PromoAccountTypeEnum.java

@@ -1,57 +0,0 @@
-package com.zanxiang.game.module.base.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Objects;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-21
- * @description : 推广账号类型
- */
-@Getter
-@AllArgsConstructor
-public enum PromoAccountTypeEnum {
-
-    /**
-     * 微信公众号
-     */
-    ACCOUNT_WX_MP(1, "微信公众号"),
-
-    /**
-     * 今日头条账号
-     */
-    ACCOUNT_BYTE(2, "今日头条账号"),
-
-    /**
-     * ADQ(QQ)账号
-     */
-    ACCOUNT_ADQ_QQ(3, "ADQ(QQ)账号");
-
-    /**
-     * 账号类型
-     */
-    private Integer type;
-
-    /**
-     * 账号类型名称
-     */
-    private String name;
-
-    /**
-     * 被类型名称
-     *
-     * @param type 类型
-     * @return {@link String}
-     */
-    public static String getNameByType(Integer type) {
-        PromoAccountTypeEnum[] values = PromoAccountTypeEnum.values();
-        for (PromoAccountTypeEnum promoAccountTypeEnum : values) {
-            if (Objects.equals(promoAccountTypeEnum.getType(), type)) {
-                return promoAccountTypeEnum.getName();
-            }
-        }
-        return null;
-    }
-}

+ 0 - 62
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PromoMediaTypeEnum.java

@@ -1,62 +0,0 @@
-package com.zanxiang.game.module.base.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Objects;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-17
- * @description : 推广媒体类型
- */
-@Getter
-@AllArgsConstructor
-public enum PromoMediaTypeEnum {
-
-    /**
-     * 社交类
-     */
-    MEDIA_SOCIAL_CONTACT(1, "社交类"),
-
-    /**
-     * 短视频
-     */
-    MEDIA_SHORT_VIDEO(2, "短视频"),
-
-    /**
-     * 资讯
-     */
-    MEDIA_NEWS_INFO(3, "资讯"),
-
-    /**
-     * 视频
-     */
-    MEDIA_VIDEO(4, "视频");
-
-    /**
-     * 媒体类型
-     */
-    private Integer type;
-
-    /**
-     * 媒体名称
-     */
-    private String name;
-
-    /**
-     * 被类型名称
-     *
-     * @param type 类型
-     * @return {@link String}
-     */
-    public static String getNameByType(Integer type) {
-        PromoMediaTypeEnum[] values = PromoMediaTypeEnum.values();
-        for (PromoMediaTypeEnum promoMediaTypeEnum : values) {
-            if (Objects.equals(promoMediaTypeEnum.getType(), type)) {
-                return promoMediaTypeEnum.getName();
-            }
-        }
-        return null;
-    }
-}

+ 0 - 57
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PromoProviderEnum.java

@@ -1,57 +0,0 @@
-package com.zanxiang.game.module.base.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Objects;
-
-/**
- * @author : lingfeng
- * @time : 2022-10-26
- * @description : 推广服务商
- */
-@Getter
-@AllArgsConstructor
-public enum PromoProviderEnum {
-
-    /**
-     * 巨网
-     */
-    JU_GU(1, "巨网"),
-
-    /**
-     * 广联
-     */
-    GUANG_LIAN(2, "广联"),
-
-    /**
-     * 太古
-     */
-    TAI_GU(3, "太古");
-
-    /**
-     * 推广服务商id
-     */
-    private Integer providerId;
-
-    /**
-     * 推广媒体
-     */
-    private String providerName;
-
-    /**
-     * 被类型名称
-     *
-     * @param type 类型
-     * @return {@link String}
-     */
-    public static String getNameByType(Integer type) {
-        PromoProviderEnum[] values = PromoProviderEnum.values();
-        for (PromoProviderEnum promoProviderEnum : values) {
-            if (Objects.equals(promoProviderEnum.getProviderId(), type)) {
-                return promoProviderEnum.getProviderName();
-            }
-        }
-        return null;
-    }
-}

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/BanStatusEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/BanStatusEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/CpStatusEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/CpStatusEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/DeleteEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/DeleteEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 66 - 0
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/GameCategoryEnum.java

@@ -0,0 +1,66 @@
+package com.zanxiang.game.module.base.pojo.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-07-13
+ * @description : 游戏应用类型
+ */
+@Getter
+@AllArgsConstructor
+public enum GameCategoryEnum {
+
+    /**
+     * 微信小游戏
+     */
+    CATEGORY_WX_APPLET(1L, "wx_applet", "微信小游戏"),
+
+    /**
+     * 抖音小游戏
+     */
+    CATEGORY_DY_APPLET(2L, "byte_applet", "抖音小游戏"),
+
+    /**
+     * h5游戏
+     */
+    CATEGORY_H5(3L, "h5", "h5游戏"),
+
+    /**
+     * app游戏
+     */
+    CATEGORY_APP(4L, "app", "app游戏");
+
+    /**
+     * 应用id
+     */
+    private Long category;
+
+    /**
+     * 游戏分类key
+     */
+    private String key;
+
+    /**
+     * 描述
+     */
+    private String name;
+
+    /**
+     * 被分类名字
+     *
+     * @param category 类别
+     * @return {@link String}
+     */
+    public static String getNameByCategory(Long category) {
+        for (GameCategoryEnum gameCategoryEnum : GameCategoryEnum.values()) {
+            if (Objects.equals(gameCategoryEnum.getCategory(), category)) {
+                return gameCategoryEnum.getName();
+            }
+        }
+        return null;
+    }
+}

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/HttpStatusEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/HttpStatusEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/OsEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/OsEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PayApplicationTypeEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/PayApplicationTypeEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 17 - 21
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PayDeviceEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/PayDeviceEnum.java

@@ -1,11 +1,10 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;
+import org.apache.logging.log4j.util.Strings;
 
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
+import java.util.Objects;
 
 
 /**
 /**
  * 支付设备类型
  * 支付设备类型
@@ -62,24 +61,21 @@ public enum PayDeviceEnum {
      */
      */
     private String payDeviceName;
     private String payDeviceName;
 
 
-    public static String getDescByNum(Integer code) {
-        PayDeviceEnum[] values = PayDeviceEnum.values();
-        for (int i = 0; i < values.length; i++) {
-            if (values[i].getPayDeviceId().equals(code)) {
-                return values[i].getPayDeviceName();
-            }
+    /**
+     * 根据支付方式id获取名称
+     *
+     * @param payDeviceId : 支付方式id
+     * @return : 支付类型枚举
+     */
+    public static String getByPayWayId(Long payDeviceId) {
+        if (payDeviceId == null) {
+            return Strings.EMPTY;
         }
         }
-        return "";
-    }
-
-    public static String getDesc(String obj) {
-        List<String> Desc = new ArrayList<>(10);
-        String str = obj.substring(1, obj.length() - 1);
-        String[] strArr = str.split(",");
-        for (int i = 0; i < strArr.length; i++) {
-            String name = PayDeviceEnum.getDescByNum(Integer.valueOf(strArr[i]));
-            Desc.add(name);
+        for (PayDeviceEnum payDeviceEnum : PayDeviceEnum.values()) {
+            if (Objects.equals(payDeviceId, payDeviceEnum.getPayDeviceId())) {
+                return payDeviceEnum.getPayDeviceName();
+            }
         }
         }
-        return Desc.stream().collect(Collectors.joining(","));
+        return Strings.EMPTY;
     }
     }
 }
 }

+ 9 - 9
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/PayWayEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/PayWayEnum.java

@@ -1,7 +1,8 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;
+import org.apache.logging.log4j.util.Strings;
 
 
 import java.util.Objects;
 import java.util.Objects;
 
 
@@ -46,21 +47,20 @@ public enum PayWayEnum {
     private String payWayName;
     private String payWayName;
 
 
     /**
     /**
-     * 根据书城key获取名称
+     * 根据支付类型id获取名称
      *
      *
-     * @param payType : 支付类型
+     * @param payWayId : 支付类型
      * @return : 支付类型枚举
      * @return : 支付类型枚举
      */
      */
-    public static String getByPayType(Long payType) {
-        if (payType == null) {
-            return null;
+    public static String getByPayWayId(Long payWayId) {
+        if (payWayId == null) {
+            return Strings.EMPTY;
         }
         }
         for (PayWayEnum payWayEnum : PayWayEnum.values()) {
         for (PayWayEnum payWayEnum : PayWayEnum.values()) {
-            if (Objects.equals(payType.intValue(), payWayEnum.getPayWayId())) {
+            if (Objects.equals(payWayId.intValue(), payWayEnum.getPayWayId())) {
                 return payWayEnum.getPayWayName();
                 return payWayEnum.getPayWayName();
             }
             }
         }
         }
-        return null;
+        return Strings.EMPTY;
     }
     }
-
 }
 }

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/StatusEnum.java → game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/StatusEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.base.pojo.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 0 - 144
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/utils/BeanUtils.java

@@ -1,144 +0,0 @@
-package com.zanxiang.game.module.base.utils;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Bean 工具类
- *
- * @author ruoyi
- */
-public class BeanUtils extends org.springframework.beans.BeanUtils {
-    /**
-     * Bean方法名中属性名开始的下标
-     */
-    private static final int BEAN_METHOD_PROP_INDEX = 3;
-
-    /**
-     * 匹配getter方法的正则表达式
-     */
-    private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)");
-
-    /**
-     * 匹配setter方法的正则表达式
-     */
-    private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)");
-
-    /**
-     * 对象浅拷贝
-     *
-     * @param source
-     * @param target
-     * @param <T>
-     * @return
-     */
-    public static <T> T copy(Object source, Class<T> target) {
-        if (source == null) {
-            return null;
-        }
-        T obj = instantiateClass(target);
-        copyProperties(source, obj);
-        return obj;
-    }
-
-    /**
-     * 对象浅拷贝
-     *
-     * @param sourceList
-     * @param target
-     * @param <T>
-     * @return
-     */
-    public static <T> List<T> copyList(Collection sourceList, Class<T> target) {
-        if (sourceList == null || sourceList.isEmpty()) {
-            return Collections.emptyList();
-        }
-        List<T> objs = new ArrayList<>(sourceList.size());
-        for (Object source : sourceList) {
-            objs.add(copy(source, target));
-        }
-        return objs;
-    }
-
-    /**
-     * 获取对象的setter方法。
-     *
-     * @param obj 对象
-     * @return 对象的setter方法列表
-     */
-    public static List<Method> getSetterMethods(Object obj) {
-        // setter方法列表
-        List<Method> setterMethods = new ArrayList<Method>();
-
-        // 获取所有方法
-        Method[] methods = obj.getClass().getMethods();
-
-        // 查找setter方法
-
-        for (Method method : methods) {
-            Matcher m = SET_PATTERN.matcher(method.getName());
-            if (m.matches() && (method.getParameterTypes().length == 1)) {
-                setterMethods.add(method);
-            }
-        }
-        // 返回setter方法列表
-        return setterMethods;
-    }
-
-    /**
-     * 获取对象的getter方法。
-     *
-     * @param obj 对象
-     * @return 对象的getter方法列表
-     */
-
-    public static List<Method> getGetterMethods(Object obj) {
-        // getter方法列表
-        List<Method> getterMethods = new ArrayList<Method>();
-        // 获取所有方法
-        Method[] methods = obj.getClass().getMethods();
-        // 查找getter方法
-        for (Method method : methods) {
-            Matcher m = GET_PATTERN.matcher(method.getName());
-            if (m.matches() && (method.getParameterTypes().length == 0)) {
-                getterMethods.add(method);
-            }
-        }
-        // 返回getter方法列表
-        return getterMethods;
-    }
-
-    /**
-     * 检查Bean方法名中的属性名是否相等。<br>
-     * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。
-     *
-     * @param m1 方法名1
-     * @param m2 方法名2
-     * @return 属性名一样返回true,否则返回false
-     */
-
-    public static boolean isMethodPropEquals(String m1, String m2) {
-        return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
-    }
-
-    /**
-     * 将对象转为map
-     *
-     * @param obj
-     * @return
-     */
-    public static Map<String, String> parseObj2Map(Object obj) throws IllegalAccessException {
-        Map<String, String> map = new HashMap();
-        Field[] declaredFields = obj.getClass().getDeclaredFields();
-        for (Field field : declaredFields) {
-            field.setAccessible(true);
-            if (Objects.nonNull(field.get(obj))) {
-                map.put(field.getName(), field.get(obj).toString());
-            }
-        }
-        return map;
-    }
-}

+ 0 - 97
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/utils/StringUtils.java

@@ -1,97 +0,0 @@
-package com.zanxiang.game.module.base.utils;
-
-import org.apache.commons.lang3.ArrayUtils;
-
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * 字符串工具类
- *
- * @author ruoyi
- */
-public class StringUtils extends org.apache.commons.lang3.StringUtils {
-
-    /**
-     * 空字符串
-     */
-    private static final String NULLSTR = "";
-
-    /**
-     * * 判断一个Collection是否为空, 包含List,Set,Queue
-     *
-     * @param coll 要判断的Collection
-     * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(Collection<?> coll) {
-        return isNull(coll) || coll.isEmpty();
-    }
-
-    /**
-     * * 判断一个对象数组是否为空
-     *
-     * @param objects 要判断的对象数组
-     *                * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(Object[] objects) {
-        return isNull(objects) || (objects.length == 0);
-    }
-
-    /**
-     * * 判断一个Map是否为空
-     *
-     * @param map 要判断的Map
-     * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(Map<?, ?> map) {
-        return isNull(map) || map.isEmpty();
-    }
-
-    /**
-     * * 判断一个字符串是否为空串
-     *
-     * @param str String
-     * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(String str) {
-        return isNull(str) || NULLSTR.equals(str.trim());
-    }
-
-    /**
-     * * 判断一个字符串是否为非空串
-     *
-     * @param str String
-     * @return true:非空串 false:空串
-     */
-    public static boolean isNotEmpty(String str) {
-        return !isEmpty(str);
-    }
-
-    /**
-     * * 判断一个对象是否为空
-     *
-     * @param object Object
-     * @return true:为空 false:非空
-     */
-    public static boolean isNull(Object object) {
-        return object == null;
-    }
-
-    /**
-     * 判断数组里的字符串是否存在空值
-     *
-     * @param css : 需要判断的参数
-     * @return : 返回判断结果
-     */
-    public static boolean isAnyEmpty(final String... css) {
-        if (ArrayUtils.isEmpty(css)) {
-            return false;
-        }
-        for (final String cs : css) {
-            if (isEmpty(cs)) {
-                return true;
-            }
-        }
-        return false;
-    }
-}

+ 0 - 149
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/utils/URIUtil.java

@@ -1,149 +0,0 @@
-package com.zanxiang.game.module.base.utils;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.util.Assert;
-
-import java.io.UnsupportedEncodingException;
-import java.net.InetSocketAddress;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.Map;
-
-/**
- * @Author wcc
- * @Date 2020/12/28 11:36
- * @Version 1.0
- * @Description
- */
-@Slf4j
-public class URIUtil {
-
-    /**
-     * 填充 url的请求参数,如果 params的值为空,不会写在 url上
-     *
-     * @param url
-     * @param params
-     * @return
-     */
-    public static String fillUrlParams(String url, Map<String, String> params, boolean ignoreBlank) {
-        if (params == null || params.isEmpty()) {
-            return url;
-        }
-        boolean first = !url.contains("?");
-        StringBuilder urlBuilder = new StringBuilder(url);
-        for (Map.Entry<String, String> param : params.entrySet()) {
-            if (ignoreBlank && StringUtils.isBlank(param.getValue())) {
-                continue;
-            }
-            if (first) {
-                urlBuilder.append("?");
-                first = false;
-            } else {
-                urlBuilder.append("&");
-            }
-            urlBuilder.append(param.getKey()).append("=").append(StringUtils.isBlank(param.getValue()) ? "" : param.getValue());
-        }
-        url = urlBuilder.toString();
-        return url;
-    }
-
-    /**
-     * 对应 js中的 encodeURIComponent
-     *
-     * @param uri
-     * @return
-     */
-    public static String encodeURIComponent(String uri) {
-        return encodeURIComponent(uri, "UTF-8");
-    }
-
-    /**
-     * 对应 js中的 encodeURIComponent
-     *
-     * @param uri
-     * @return
-     */
-    public static String encodeURIComponent(String uri, String enc) {
-        try {
-            return URLEncoder.encode(uri, enc)
-                    .replaceAll("\\+", "%20")
-                    .replaceAll("\\!", "%21")
-                    .replaceAll("\\'", "%27")
-                    .replaceAll("\\(", "%28")
-                    .replaceAll("\\)", "%29")
-                    .replaceAll("\\~", "%7E");
-        } catch (UnsupportedEncodingException e) {
-            log.error(e.getMessage(), e);
-            return null;
-        }
-    }
-
-    /**
-     * 对应 js的 decodeURIComponent
-     *
-     * @param uri
-     * @return
-     */
-    public static String decodeURIComponent(String uri) {
-        return decodeURIComponent(uri, "UTF-8");
-    }
-
-    /**
-     * 对应 js的 decodeURIComponent
-     *
-     * @param uri
-     * @return
-     */
-    public static String decodeURIComponent(String uri, String enc) {
-        try {
-            return URLDecoder.decode(uri.replaceAll("%20", "+")
-                    .replaceAll("%21", "!")
-                    .replaceAll("%27", "'")
-                    .replaceAll("%28", "(")
-                    .replaceAll("%29", ")")
-                    .replaceAll("%7E", "~"), enc);
-        } catch (UnsupportedEncodingException e) {
-            log.error(e.getMessage(), e);
-            return null;
-        }
-    }
-
-    public static InetSocketAddress parseURI(String uri, int defaultPort) {
-        Assert.notNull(uri, "uri must not be null");
-        String host;
-        String portString = null;
-
-        int colonPos = uri.indexOf(':');
-        if (colonPos >= 0 && uri.indexOf(':', colonPos + 1) == -1) {
-            // Exactly 1 colon. Split into host:port.
-            host = uri.substring(0, colonPos);
-            portString = uri.substring(colonPos + 1);
-        } else {
-            // 0 or 2+ colons. Bare hostname or IPv6 literal.
-            host = uri;
-        }
-
-        int port = defaultPort;
-        if (StringUtils.isNotBlank(portString)) {
-            // Try to parse the whole port string as a number.
-            Assert.isTrue(!portString.startsWith("+"), String.format("Cannot parse port number: %s", uri));
-            try {
-                port = Integer.parseInt(portString);
-            } catch (NumberFormatException e) {
-                throw new IllegalArgumentException(String.format("Cannot parse port number: %s", uri));
-            }
-
-            Assert.isTrue(isValidPort(port), String.format("Port number out of range: %s", uri));
-        }
-
-        return InetSocketAddress.createUnresolved(host, port);
-    }
-
-    /**
-     * @param port the port number
-     * @return {@literal true} for valid port numbers.
-     */
-    private static boolean isValidPort(int port) {
-        return port >= 0 && port <= 65535;
-    }
-}

+ 9 - 3
game-module/game-module-manage/pom.xml

@@ -97,10 +97,16 @@
             <groupId>org.apache.dubbo</groupId>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-metadata-definition-protobuf</artifactId>
             <artifactId>dubbo-metadata-definition-protobuf</artifactId>
         </dependency>
         </dependency>
-        <!-- 头条回传api -->
+        <!-- 腾讯广告服务 -->
         <dependency>
         <dependency>
-            <groupId>com.zanxiang.advertising.oceanengine</groupId>
-            <artifactId>advertising-oceanengine-track-base</artifactId>
+            <groupId>com.zanxiang.advertising.tencent</groupId>
+            <artifactId>advertising-tencent-base</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <!-- 广告回传 -->
+        <dependency>
+            <groupId>com.zanxiang.game</groupId>
+            <artifactId>game-back-base</artifactId>
             <version>${project.version}</version>
             <version>${project.version}</version>
         </dependency>
         </dependency>
     </dependencies>
     </dependencies>

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

@@ -21,14 +21,13 @@ public class ManageApplication {
 
 
     public static void main(String[] args) {
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功_0003 ( ´・・)ノ(._.`) \n" +
-                " ______  __     __     \n" +
-                "/_____/\\/__/\\ /__/\\    \n" +
-                "\\:::__\\/\\ \\::\\\\:.\\ \\   \n" +
-                "   /: /  \\_\\::_\\:_\\/   \n" +
-                "  /::/___  _\\/__\\_\\_/\\ \n" +
-                " /_:/____/\\\\ \\ \\ \\::\\ \\\n" +
-                " \\_______\\/ \\_\\/  \\__\\/\n");
+        System.out.println("赞象Manage服务启动成功 ( ´・・)ノ(._.`) \n" +
+                "___  ___  ___   _   _   ___  _____  _____ \n" +
+                "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
+                "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +
+                "| |\\/| ||  _  || . ` ||  _  | | __ |  __| \n" +
+                "| |  | || | | || |\\  || | | | |_\\ \\| |___ \n" +
+                "\\_|  |_/\\_| |_/\\_| \\_/\\_| |_/\\____/\\____/ \n");
     }
     }
 
 
 }
 }

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

@@ -29,7 +29,7 @@ public class SwaggerConfig {
                 .apiInfo(apiInfo())
                 .apiInfo(apiInfo())
                 .select()
                 .select()
                 .apis(RequestHandlerSelectors
                 .apis(RequestHandlerSelectors
-                        .basePackage("com.zanxiang.manage"))
+                        .basePackage("com.zanxiang.game.module.manage"))
                 .paths(PathSelectors.any())
                 .paths(PathSelectors.any())
                 .build();
                 .build();
     }
     }

+ 72 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/AgentController.java

@@ -0,0 +1,72 @@
+package com.zanxiang.game.module.manage.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.erp.security.annotation.PreAuthorize;
+import com.zanxiang.game.module.manage.pojo.enums.AccountTypeEnum;
+import com.zanxiang.game.module.manage.pojo.params.AgentAddParam;
+import com.zanxiang.game.module.manage.pojo.params.AgentListParam;
+import com.zanxiang.game.module.manage.pojo.vo.AgentVO;
+import com.zanxiang.game.module.manage.service.IAgentService;
+import com.zanxiang.game.module.mybatis.entity.Agent;
+import com.zanxiang.module.util.exception.BaseException;
+import com.zanxiang.module.util.pojo.ResultVO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/agent")
+public class AgentController {
+
+    @Autowired
+    private IAgentService agentService;
+
+    @PreAuthorize(permissionKey = "sdk:agent:list")
+    @PostMapping("/list")
+    public ResultVO<IPage<AgentVO>> listOfPage(@Validated @RequestBody AgentListParam dto) {
+        return ResultVO.ok(agentService.listOfPage(dto));
+    }
+
+    @PreAuthorize(permissionKey = "sdk:agent:add")
+    @PostMapping
+    public ResultVO<Boolean> add(AgentAddParam dto) {
+        dto.setAgentName(dto.getAgentName().trim());
+        AccountTypeEnum accountType = AccountTypeEnum.getByValue(dto.getAccountType());
+        if (accountType == null) {
+            throw new BaseException("错误的账号类型:" + dto.getAccountType());
+        }
+        if (accountType == AccountTypeEnum.TENCENT) {
+            if (dto.getUserActionSetId() == null) {
+                throw new BaseException("腾讯广告账号必须选回传的数据源");
+            }
+        } else if (accountType == AccountTypeEnum.BYTE) {
+            if (StringUtils.isBlank(dto.getReportToken()) || StringUtils.isBlank(dto.getReportUrl())) {
+                throw new BaseException("头条广告账号必须填入回传的 token 和 url");
+            }
+            dto.setReportToken(dto.getReportToken().trim());
+            dto.setReportUrl(dto.getReportUrl());
+        }
+        if (dto.getPutStatus() == null) {
+            dto.setPutStatus(Agent.PUT_STATUS_ING);
+        }
+        return ResultVO.ok(agentService.add(dto));
+    }
+
+
+    @PreAuthorize(permissionKey = "sdk:agent:configPutStatus")
+    @PutMapping("/configPutStatus/{agentIds}/{putStatus}")
+    public ResultVO<Boolean> configPutStatus(@PathVariable("agentIds") List<Long> agentIds, @PathVariable("putStatus") Integer putStatus) {
+        return ResultVO.ok(agentService.configPutStatus(agentIds, putStatus));
+    }
+
+    @PreAuthorize(permissionKey = "sdk:agent:configBackPolicy")
+    @PutMapping("/configBackPolicy/{agentIds}/{backPolicyId}")
+    public ResultVO<Boolean> configBackPolicy(@PathVariable("agentIds") List<Long> agentIds, @PathVariable("backPolicyId") Long backPolicyId) {
+        return ResultVO.ok(agentService.configBackPolicy(agentIds, backPolicyId));
+    }
+}

+ 33 - 94
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/ChoiceController.java

@@ -1,11 +1,14 @@
 package com.zanxiang.game.module.manage.controller;
 package com.zanxiang.game.module.manage.controller;
 
 
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.base.enums.*;
-import com.zanxiang.game.module.base.utils.BeanUtils;
+import com.zanxiang.game.module.base.pojo.enums.OsEnum;
+import com.zanxiang.game.module.base.pojo.enums.PayApplicationTypeEnum;
+import com.zanxiang.game.module.manage.enums.GameStrategyTypeEnum;
+import com.zanxiang.game.module.manage.enums.VipLevelEnum;
 import com.zanxiang.game.module.manage.pojo.vo.*;
 import com.zanxiang.game.module.manage.pojo.vo.*;
 import com.zanxiang.game.module.manage.service.*;
 import com.zanxiang.game.module.manage.service.*;
+import com.zanxiang.module.util.bean.BeanUtil;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -18,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @author : lingfeng
  * @author : lingfeng
@@ -39,12 +43,6 @@ public class ChoiceController {
     @Autowired
     @Autowired
     private IGameCategoryService gameCategoryService;
     private IGameCategoryService gameCategoryService;
 
 
-    @Autowired
-    private IPromoChannelService promoChannelService;
-
-    @Autowired
-    private IPromoAccountService promoAccountService;
-
     @Autowired
     @Autowired
     private IPayWayService payWayService;
     private IPayWayService payWayService;
 
 
@@ -54,12 +52,6 @@ public class ChoiceController {
     @Autowired
     @Autowired
     private IGameTagService gameTagService;
     private IGameTagService gameTagService;
 
 
-    @Autowired
-    private IPromoMediaService promoMediaService;
-
-    @Autowired
-    private IPromoSiteService promoSiteService;
-
     @Autowired
     @Autowired
     private IPayApplicationService payApplicationService;
     private IPayApplicationService payApplicationService;
 
 
@@ -69,12 +61,17 @@ public class ChoiceController {
     @Autowired
     @Autowired
     private IPayBoxService payBoxService;
     private IPayBoxService payBoxService;
 
 
+    @Autowired
+    private IAgentService agentService;
+
     @ApiOperation(value = "vip等级选择列表")
     @ApiOperation(value = "vip等级选择列表")
     @GetMapping(value = "/vip/level/list")
     @GetMapping(value = "/vip/level/list")
     @PreAuthorize(permissionKey = "sdk:choiceVipLevel:list")
     @PreAuthorize(permissionKey = "sdk:choiceVipLevel:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = VipLevelChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = VipLevelChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<VipLevelChoiceVO>> vipLevelChoiceList() {
     public ResultVO<List<VipLevelChoiceVO>> vipLevelChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(VipLevelEnum.values()), VipLevelChoiceVO.class));
+        return ResultVO.ok(Arrays.stream(VipLevelEnum.values())
+                .map(vipLevelEnum -> BeanUtil.copy(vipLevelEnum, VipLevelChoiceVO.class))
+                .collect(Collectors.toList()));
     }
     }
 
 
     @ApiOperation(value = "操作系统选择列表")
     @ApiOperation(value = "操作系统选择列表")
@@ -82,7 +79,9 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:choiceOsType:list")
     @PreAuthorize(permissionKey = "sdk:choiceOsType:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = SystemChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = SystemChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<SystemChoiceVO>> systemChoiceList() {
     public ResultVO<List<SystemChoiceVO>> systemChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(OsEnum.values()), SystemChoiceVO.class));
+        return ResultVO.ok(Arrays.stream(OsEnum.values())
+                .map(osEnum -> BeanUtil.copy(osEnum, SystemChoiceVO.class))
+                .collect(Collectors.toList()));
     }
     }
 
 
     @ApiOperation(value = "cp选择列表")
     @ApiOperation(value = "cp选择列表")
@@ -90,7 +89,7 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:choiceCp:list")
     @PreAuthorize(permissionKey = "sdk:choiceCp:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = CpChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = CpChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<CpChoiceVO>> cpChoiceList() {
     public ResultVO<List<CpChoiceVO>> cpChoiceList() {
-        return new ResultVO<>(cpService.choiceList());
+        return ResultVO.ok(cpService.choiceList());
     }
     }
 
 
     @ApiOperation(value = "游戏选择列表")
     @ApiOperation(value = "游戏选择列表")
@@ -98,7 +97,7 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:gameChoice:list")
     @PreAuthorize(permissionKey = "sdk:gameChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<GameChoiceVO>> gameChoiceList() {
     public ResultVO<List<GameChoiceVO>> gameChoiceList() {
-        return new ResultVO<>(gameService.choiceList());
+        return ResultVO.ok(gameService.choiceList());
     }
     }
 
 
     @ApiOperation(value = "游戏应用类型选择列表")
     @ApiOperation(value = "游戏应用类型选择列表")
@@ -117,28 +116,12 @@ public class ChoiceController {
         return ResultVO.ok(gameTagService.gameTagsChoiceList());
         return ResultVO.ok(gameTagService.gameTagsChoiceList());
     }
     }
 
 
-    @ApiOperation(value = "注册渠道选择列表")
-    @GetMapping(value = "/promo/channel/list")
-    @PreAuthorize(permissionKey = "sdk:promoChannelChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoChannelChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoChannelChoiceVO>> promoChannelChoiceList() {
-        return new ResultVO<>(promoChannelService.promoChannelChoiceList());
-    }
-
-    @ApiOperation(value = "归因推广账号选择列表")
-    @GetMapping(value = "/promo/account/list")
-    @PreAuthorize(permissionKey = "sdk:promoAccountChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoAccountChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoAccountChoiceVO>> promoAccountChoiceList() {
-        return new ResultVO<>(promoAccountService.promoAccountChoiceList());
-    }
-
-    @ApiOperation(value = "归因投放人员选择列表")
-    @GetMapping(value = "/promo/pitcher/list")
-    @PreAuthorize(permissionKey = "sdk:promoPitcherChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoPitcherChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoPitcherChoiceVO>> promoPitcherChoiceList() {
-        return new ResultVO<>(promoAccountService.promoPitcherChoiceList());
+    @ApiOperation(value = "注册渠道-账号选择列表")
+    @GetMapping(value = "/agent/account/list")
+    @PreAuthorize(permissionKey = "sdk:agentAccountChoice:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = AgentAccountChoiceVO.class, responseContainer = "list")})
+    public ResultVO<List<AgentAccountChoiceVO>> agentAccountChoiceList() {
+        return ResultVO.ok(agentService.agentAccountChoiceList());
     }
     }
 
 
     @ApiOperation(value = "支付方式选择列表")
     @ApiOperation(value = "支付方式选择列表")
@@ -146,7 +129,7 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:payWayChoice:list")
     @PreAuthorize(permissionKey = "sdk:payWayChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayWayChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayWayChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<PayWayChoiceVO>> payWayChoiceList() {
     public ResultVO<List<PayWayChoiceVO>> payWayChoiceList() {
-        return new ResultVO<>(payWayService.payWayChoiceList());
+        return ResultVO.ok(payWayService.payWayChoiceList());
     }
     }
 
 
     @ApiOperation(value = "支付类型选择列表")
     @ApiOperation(value = "支付类型选择列表")
@@ -154,7 +137,7 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:payDeviceChoice:list")
     @PreAuthorize(permissionKey = "sdk:payDeviceChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayDeviceChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayDeviceChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<PayDeviceChoiceVO>> payDeviceChoiceList() {
     public ResultVO<List<PayDeviceChoiceVO>> payDeviceChoiceList() {
-        return new ResultVO<>(payDeviceService.payDeviceChoiceList());
+        return ResultVO.ok(payDeviceService.payDeviceChoiceList());
     }
     }
 
 
     @ApiOperation(value = "商户选择列表")
     @ApiOperation(value = "商户选择列表")
@@ -165,60 +148,14 @@ public class ChoiceController {
         return ResultVO.ok(payMerchantService.payMerchantChoiceList());
         return ResultVO.ok(payMerchantService.payMerchantChoiceList());
     }
     }
 
 
-    @ApiOperation(value = "推广媒体类型选择列表")
-    @GetMapping(value = "/promo/media/type/list")
-    @PreAuthorize(permissionKey = "sdk:promoMediaTypeChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaTypeChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoMediaTypeChoiceVO>> promoMediaTypeChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PromoMediaTypeEnum.values()), PromoMediaTypeChoiceVO.class));
-    }
-
-    @ApiOperation(value = "推广媒体选择列表")
-    @GetMapping(value = "/promo/media/list")
-    @PreAuthorize(permissionKey = "sdk:promoMediaChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoMediaChoiceVO>> promoMediaChoiceList() {
-        return ResultVO.ok(promoMediaService.promoMediaChoiceList());
-    }
-
-    @ApiOperation(value = "推广账号类型选择列表")
-    @GetMapping(value = "/promo/account/type/list")
-    @PreAuthorize(permissionKey = "sdk:promoAccountTypeChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoAccountTypeChoiceVO>> promoAccountTypeChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PromoAccountTypeEnum.values()), PromoAccountTypeChoiceVO.class));
-    }
-
-    @ApiOperation(value = "推广账号联动选择列表")
-    @GetMapping(value = "/promo/account/linkage/list")
-    @PreAuthorize(permissionKey = "sdk:promoAccountLinkageChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoAccountLinkageChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoAccountLinkageChoiceVO>> promoAccountLinkageChoiceList() {
-        return new ResultVO<>(promoAccountService.promoAccountLinkageChoiceList());
-    }
-
-    @ApiOperation(value = "推广媒体版位位置联动选择列表")
-    @GetMapping(value = "/promo/site/linkage/list")
-    @PreAuthorize(permissionKey = "sdk:promoSiteLinkageChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoSiteLinkageChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoSiteLinkageChoiceVO>> promoSiteLinkageChoiceList() {
-        return new ResultVO<>(promoSiteService.promoSiteLinkageChoiceList());
-    }
-
-    @ApiOperation(value = "推广服务商选择列表")
-    @GetMapping(value = "/promo/provider/list")
-    @PreAuthorize(permissionKey = "sdk:promoProviderChoice:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoProviderChoiceVO.class, responseContainer = "list")})
-    public ResultVO<List<PromoProviderChoiceVO>> promoProviderChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PromoProviderEnum.values()), PromoProviderChoiceVO.class));
-    }
-
     @ApiOperation(value = "支付应用类型选择列表")
     @ApiOperation(value = "支付应用类型选择列表")
     @GetMapping(value = "/application/type/list")
     @GetMapping(value = "/application/type/list")
     @PreAuthorize(permissionKey = "sdk:payApplicationTypeChoice:list")
     @PreAuthorize(permissionKey = "sdk:payApplicationTypeChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = ApplicationTypeChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = ApplicationTypeChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<ApplicationTypeChoiceVO>> applicationTypeChoiceList() {
     public ResultVO<List<ApplicationTypeChoiceVO>> applicationTypeChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PayApplicationTypeEnum.values()), ApplicationTypeChoiceVO.class));
+        return ResultVO.ok(Arrays.stream(PayApplicationTypeEnum.values())
+                .map(payApplicationTypeEnum -> BeanUtil.copy(payApplicationTypeEnum, ApplicationTypeChoiceVO.class))
+                .collect(Collectors.toList()));
     }
     }
 
 
     @ApiOperation(value = "支付应用选择列表")
     @ApiOperation(value = "支付应用选择列表")
@@ -226,7 +163,7 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:payApplicationChoice:list")
     @PreAuthorize(permissionKey = "sdk:payApplicationChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayApplicationChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayApplicationChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<PayApplicationChoiceVO>> payApplicationChoiceList() {
     public ResultVO<List<PayApplicationChoiceVO>> payApplicationChoiceList() {
-        return new ResultVO<>(payApplicationService.payApplicationChoiceList());
+        return ResultVO.ok(payApplicationService.payApplicationChoiceList());
     }
     }
 
 
     @ApiOperation(value = "支付盒子选择列表")
     @ApiOperation(value = "支付盒子选择列表")
@@ -242,6 +179,8 @@ public class ChoiceController {
     @PreAuthorize(permissionKey = "sdk:gamePayStrategyChoice:list")
     @PreAuthorize(permissionKey = "sdk:gamePayStrategyChoice:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePayStrategyChoiceVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePayStrategyChoiceVO.class, responseContainer = "list")})
     public ResultVO<List<GamePayStrategyChoiceVO>> gamePayStrategyChoiceList() {
     public ResultVO<List<GamePayStrategyChoiceVO>> gamePayStrategyChoiceList() {
-        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(GameStrategyTypeEnum.values()), GamePayStrategyChoiceVO.class));
+        return ResultVO.ok(Arrays.stream(GameStrategyTypeEnum.values())
+                .map(gameStrategyTypeEnum -> BeanUtil.copy(gameStrategyTypeEnum, GamePayStrategyChoiceVO.class))
+                .collect(Collectors.toList()));
     }
     }
 }
 }

+ 4 - 4
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/CpController.java

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.CpAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.CpAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.CpListParam;
 import com.zanxiang.game.module.manage.pojo.params.CpListParam;
 import com.zanxiang.game.module.manage.pojo.vo.CpVO;
 import com.zanxiang.game.module.manage.pojo.vo.CpVO;
 import com.zanxiang.game.module.manage.service.ICpService;
 import com.zanxiang.game.module.manage.service.ICpService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -35,7 +35,7 @@ public class CpController {
     @PreAuthorize(permissionKey = "sdk:cp:addOrUpdate")
     @PreAuthorize(permissionKey = "sdk:cp:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody CpAddUpdateParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody CpAddUpdateParam param) {
-        return new ResultVO<>(cpService.addOrUpdate(param));
+        return ResultVO.ok(cpService.addOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "cp列表查询")
     @ApiOperation(value = "cp列表查询")
@@ -43,7 +43,7 @@ public class CpController {
     @PreAuthorize(permissionKey = "sdk:cp:list")
     @PreAuthorize(permissionKey = "sdk:cp:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = CpVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = CpVO.class)})
     public ResultVO<IPage<CpVO>> list(@Validated @RequestBody CpListParam param) {
     public ResultVO<IPage<CpVO>> list(@Validated @RequestBody CpListParam param) {
-        return new ResultVO<>(cpService.list(param));
+        return ResultVO.ok(cpService.list(param));
     }
     }
 
 
     @ApiOperation(value = "cp删除")
     @ApiOperation(value = "cp删除")
@@ -51,6 +51,6 @@ public class CpController {
     @PreAuthorize(permissionKey = "sdk:cp:delete")
     @PreAuthorize(permissionKey = "sdk:cp:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(cpService.deleteById(id));
+        return ResultVO.ok(cpService.deleteById(id));
     }
     }
 }
 }

+ 5 - 5
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GameAppletController.java

@@ -1,10 +1,10 @@
 package com.zanxiang.game.module.manage.controller;
 package com.zanxiang.game.module.manage.controller;
 
 
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.GameAccountUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GameAccountUpdateParam;
 import com.zanxiang.game.module.manage.pojo.vo.GameAccountVO;
 import com.zanxiang.game.module.manage.pojo.vo.GameAccountVO;
 import com.zanxiang.game.module.manage.service.IGameAppletService;
 import com.zanxiang.game.module.manage.service.IGameAppletService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class GameAppletController {
     @PreAuthorize(permissionKey = "sdk:gameApplet:info")
     @PreAuthorize(permissionKey = "sdk:gameApplet:info")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameAccountVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameAccountVO.class)})
     public ResultVO<GameAccountVO> getGameAccount(@RequestParam Long id) {
     public ResultVO<GameAccountVO> getGameAccount(@RequestParam Long id) {
-        return new ResultVO<>(gameAppletService.getGameAccount(id));
+        return ResultVO.ok(gameAppletService.getGameAccount(id));
     }
     }
 
 
     @ApiOperation(value = "账号信息配置添加或者更新")
     @ApiOperation(value = "账号信息配置添加或者更新")
@@ -41,14 +41,14 @@ public class GameAppletController {
     @PreAuthorize(permissionKey = "sdk:gameApplet:addOrUpdate")
     @PreAuthorize(permissionKey = "sdk:gameApplet:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> gameAccountAddOrUpdate(@Validated @RequestBody GameAccountUpdateParam param) {
     public ResultVO<Boolean> gameAccountAddOrUpdate(@Validated @RequestBody GameAccountUpdateParam param) {
-        return new ResultVO<>(gameAppletService.gameAccountAddOrUpdate(param));
+        return ResultVO.ok(gameAppletService.gameAccountAddOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "获取小游戏二维码")
     @ApiOperation(value = "获取小游戏二维码")
     @GetMapping(value = "/qr/code")
     @GetMapping(value = "/qr/code")
     @PreAuthorize(permissionKey = "sdk:gameApplet:qrCode")
     @PreAuthorize(permissionKey = "sdk:gameApplet:qrCode")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = String.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = String.class)})
-    public ResultVO<String> getQrCode(@RequestParam Long gameId) {
-        return new ResultVO<>(gameAppletService.getQrCod(gameId));
+    public ResultVO<String> getQrCodByGameId(@RequestParam Long gameId) {
+        return ResultVO.ok(gameAppletService.getQrCodByGameId(gameId));
     }
     }
 }
 }

+ 7 - 65
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GameController.java

@@ -2,13 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.manage.pojo.params.*;
-import com.zanxiang.game.module.manage.pojo.vo.GameDockVO;
-import com.zanxiang.game.module.manage.pojo.vo.GameInfoVO;
+import com.zanxiang.game.module.manage.pojo.params.GameAddParam;
+import com.zanxiang.game.module.manage.pojo.params.GameListParam;
 import com.zanxiang.game.module.manage.pojo.vo.GameListVO;
 import com.zanxiang.game.module.manage.pojo.vo.GameListVO;
-import com.zanxiang.game.module.manage.pojo.vo.GameRelationVO;
 import com.zanxiang.game.module.manage.service.IGameService;
 import com.zanxiang.game.module.manage.service.IGameService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -37,63 +35,7 @@ public class GameController {
     @PreAuthorize(permissionKey = "sdk:game:add")
     @PreAuthorize(permissionKey = "sdk:game:add")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     public ResultVO<Boolean> gameAddOrUpdate(@Validated @RequestBody GameAddParam param) {
     public ResultVO<Boolean> gameAddOrUpdate(@Validated @RequestBody GameAddParam param) {
-        return new ResultVO<>(gameService.gameAddOrUpdate(param));
-    }
-
-    @ApiOperation(value = "游戏基本信息查询")
-    @GetMapping(value = "/detail/info")
-    @PreAuthorize(permissionKey = "sdk:game:detailInfo")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameInfoVO.class)})
-    public ResultVO<GameInfoVO> getGameInfo(@RequestParam Long id) {
-        return new ResultVO<>(gameService.getGameInfo(id));
-    }
-
-    @ApiOperation(value = "游戏基本信息更新")
-    @PostMapping(value = "/detail/update")
-    @PreAuthorize(permissionKey = "sdk:game:detailUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> gameUpdate(@Validated @RequestBody GameUpdateParam param) {
-        return new ResultVO<>(gameService.updateGameInfo(param));
-    }
-
-    @ApiOperation(value = "游戏对接参数获取展示")
-    @GetMapping(value = "/dock/info")
-    @PreAuthorize(permissionKey = "sdk:game:dockInfo")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameDockVO.class)})
-    public ResultVO<GameDockVO> getGameDock(@RequestParam Long id) {
-        return new ResultVO<>(gameService.getGameDock(id));
-    }
-
-    @ApiOperation(value = "游戏对接参数更新更新")
-    @PostMapping(value = "/dock/update")
-    @PreAuthorize(permissionKey = "sdk:game:dockUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> gameDockUpdate(@Validated @RequestBody GameDockParam param) {
-        return new ResultVO<>(gameService.gameDockUpdate(param));
-    }
-
-    @ApiOperation(value = "获取游戏关联信息")
-    @GetMapping(value = "/relation/info")
-    @PreAuthorize(permissionKey = "sdk:game:relationInfo")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameRelationVO.class)})
-    public ResultVO<GameRelationVO> getGameRelation(@RequestParam Long id) {
-        return new ResultVO<>(gameService.getGameRelation(id));
-    }
-
-    @ApiOperation(value = "关联游戏更新")
-    @PostMapping(value = "/relation/update")
-    @PreAuthorize(permissionKey = "sdk:game:relationUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> relationGameUpdate(@Validated @RequestBody RelationGameUpdateParam param) {
-        return new ResultVO<>(gameService.relationGameUpdate(param));
-    }
-
-    @ApiOperation(value = "导量游戏更新")
-    @PostMapping(value = "/guide/update")
-    @PreAuthorize(permissionKey = "sdk:game:guideUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
-    public ResultVO<Boolean> guideGameUpdateUpdate(@Validated @RequestBody GuideGameUpdateParam param) {
-        return new ResultVO<>(gameService.guideGameUpdateUpdate(param));
+        return ResultVO.ok(gameService.gameAddOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "游戏列表查询")
     @ApiOperation(value = "游戏列表查询")
@@ -101,7 +43,7 @@ public class GameController {
     @PreAuthorize(permissionKey = "sdk:game:list")
     @PreAuthorize(permissionKey = "sdk:game:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     public ResultVO<IPage<GameListVO>> gameList(@Validated @RequestBody GameListParam param) {
     public ResultVO<IPage<GameListVO>> gameList(@Validated @RequestBody GameListParam param) {
-        return new ResultVO<>(gameService.gameList(param));
+        return ResultVO.ok(gameService.gameList(param));
     }
     }
 
 
     @ApiOperation(value = "删除游戏")
     @ApiOperation(value = "删除游戏")
@@ -109,7 +51,7 @@ public class GameController {
     @PreAuthorize(permissionKey = "sdk:game:delete")
     @PreAuthorize(permissionKey = "sdk:game:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(gameService.deleteById(id));
+        return ResultVO.ok(gameService.deleteById(id));
     }
     }
 
 
     @ApiOperation(value = "游戏状态变更")
     @ApiOperation(value = "游戏状态变更")
@@ -117,6 +59,6 @@ public class GameController {
     @PreAuthorize(permissionKey = "sdk:game:statusUpdate")
     @PreAuthorize(permissionKey = "sdk:game:statusUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameListVO.class)})
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(gameService.statusUpdate(id, status));
+        return ResultVO.ok(gameService.statusUpdate(id, status));
     }
     }
 }
 }

+ 5 - 5
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GamePayStrategyController.java

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.GamePayStrategyAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePayStrategyAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePayStrategyListParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePayStrategyListParam;
 import com.zanxiang.game.module.manage.pojo.vo.GamePayStrategyListVO;
 import com.zanxiang.game.module.manage.pojo.vo.GamePayStrategyListVO;
 import com.zanxiang.game.module.manage.service.IGamePayStrategyService;
 import com.zanxiang.game.module.manage.service.IGamePayStrategyService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class GamePayStrategyController {
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:addOrUpdate")
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody GamePayStrategyAddUpdateParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody GamePayStrategyAddUpdateParam param) {
-        return new ResultVO<>(gamePayStrategyService.addOrUpdate(param));
+        return ResultVO.ok(gamePayStrategyService.addOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "游戏支付策略列表查询")
     @ApiOperation(value = "游戏支付策略列表查询")
@@ -41,7 +41,7 @@ public class GamePayStrategyController {
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:list")
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePayStrategyListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePayStrategyListVO.class)})
     public ResultVO<IPage<GamePayStrategyListVO>> pageList(@Validated @RequestBody GamePayStrategyListParam param) {
     public ResultVO<IPage<GamePayStrategyListVO>> pageList(@Validated @RequestBody GamePayStrategyListParam param) {
-        return new ResultVO<>(gamePayStrategyService.pageList(param));
+        return ResultVO.ok(gamePayStrategyService.pageList(param));
     }
     }
 
 
     @ApiOperation(value = "游戏支付策略删除")
     @ApiOperation(value = "游戏支付策略删除")
@@ -49,7 +49,7 @@ public class GamePayStrategyController {
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:delete")
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(gamePayStrategyService.deleteById(id));
+        return ResultVO.ok(gamePayStrategyService.deleteById(id));
     }
     }
 
 
     @ApiOperation(value = "游戏支付策略状态变更")
     @ApiOperation(value = "游戏支付策略状态变更")
@@ -57,6 +57,6 @@ public class GamePayStrategyController {
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:statusUpdate")
     @PreAuthorize(permissionKey = "manage:gamePayStrategy:statusUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(gamePayStrategyService.statusUpdate(id, status));
+        return ResultVO.ok(gamePayStrategyService.statusUpdate(id, status));
     }
     }
 }
 }

+ 5 - 5
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GamePayWayController.java

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.GamePayWayAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePayWayAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePayWayListParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePayWayListParam;
 import com.zanxiang.game.module.manage.pojo.vo.GamePayWayListVO;
 import com.zanxiang.game.module.manage.pojo.vo.GamePayWayListVO;
 import com.zanxiang.game.module.manage.service.IGamePayWayService;
 import com.zanxiang.game.module.manage.service.IGamePayWayService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class GamePayWayController {
     @PreAuthorize(permissionKey = "manage:gamePayWay:addOrUpdate")
     @PreAuthorize(permissionKey = "manage:gamePayWay:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody GamePayWayAddUpdateParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody GamePayWayAddUpdateParam param) {
-        return new ResultVO<>(gamePayWayService.addOrUpdate(param));
+        return ResultVO.ok(gamePayWayService.addOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "游戏支付配置列表查询")
     @ApiOperation(value = "游戏支付配置列表查询")
@@ -41,7 +41,7 @@ public class GamePayWayController {
     @PreAuthorize(permissionKey = "manage:gamePayWay:list")
     @PreAuthorize(permissionKey = "manage:gamePayWay:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePayWayListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePayWayListVO.class)})
     public ResultVO<IPage<GamePayWayListVO>> pageList(@Validated @RequestBody GamePayWayListParam param) {
     public ResultVO<IPage<GamePayWayListVO>> pageList(@Validated @RequestBody GamePayWayListParam param) {
-        return new ResultVO<>(gamePayWayService.pageList(param));
+        return ResultVO.ok(gamePayWayService.pageList(param));
     }
     }
 
 
     @ApiOperation(value = "游戏支付配置删除")
     @ApiOperation(value = "游戏支付配置删除")
@@ -49,7 +49,7 @@ public class GamePayWayController {
     @PreAuthorize(permissionKey = "manage:gamePayWay:delete")
     @PreAuthorize(permissionKey = "manage:gamePayWay:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(gamePayWayService.deleteById(id));
+        return ResultVO.ok(gamePayWayService.deleteById(id));
     }
     }
 
 
     @ApiOperation(value = "游戏支付配置状态变更")
     @ApiOperation(value = "游戏支付配置状态变更")
@@ -57,6 +57,6 @@ public class GamePayWayController {
     @PreAuthorize(permissionKey = "manage:gamePayWay:statusUpdate")
     @PreAuthorize(permissionKey = "manage:gamePayWay:statusUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(gamePayWayService.statusUpdate(id, status));
+        return ResultVO.ok(gamePayWayService.statusUpdate(id, status));
     }
     }
 }
 }

+ 3 - 3
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GamePictureController.java

@@ -1,10 +1,10 @@
 package com.zanxiang.game.module.manage.controller;
 package com.zanxiang.game.module.manage.controller;
 
 
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.GamePictureParam;
 import com.zanxiang.game.module.manage.pojo.params.GamePictureParam;
 import com.zanxiang.game.module.manage.pojo.vo.GamePictureVO;
 import com.zanxiang.game.module.manage.pojo.vo.GamePictureVO;
 import com.zanxiang.game.module.manage.service.IGamePictureService;
 import com.zanxiang.game.module.manage.service.IGamePictureService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class GamePictureController {
     @PreAuthorize(permissionKey = "sdk:gamePicture:info")
     @PreAuthorize(permissionKey = "sdk:gamePicture:info")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePictureVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GamePictureVO.class)})
     public ResultVO<GamePictureVO> getByGameId(@RequestParam Long id) {
     public ResultVO<GamePictureVO> getByGameId(@RequestParam Long id) {
-        return new ResultVO<>(gamePictureService.getByGameId(id));
+        return ResultVO.ok(gamePictureService.getByGameId(id));
     }
     }
 
 
     @ApiOperation(value = "游戏图片配置添加或者更新")
     @ApiOperation(value = "游戏图片配置添加或者更新")
@@ -41,7 +41,7 @@ public class GamePictureController {
     @PreAuthorize(permissionKey = "sdk:gamePicture:addOrUpdate")
     @PreAuthorize(permissionKey = "sdk:gamePicture:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody GamePictureParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody GamePictureParam param) {
-        return new ResultVO<>(gamePictureService.addOrUpdate(param));
+        return ResultVO.ok(gamePictureService.addOrUpdate(param));
     }
     }
 
 
 }
 }

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

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.GameTagAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GameTagAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.GameTagListParam;
 import com.zanxiang.game.module.manage.pojo.params.GameTagListParam;
 import com.zanxiang.game.module.manage.pojo.vo.GameTagVO;
 import com.zanxiang.game.module.manage.pojo.vo.GameTagVO;
 import com.zanxiang.game.module.manage.service.IGameTagService;
 import com.zanxiang.game.module.manage.service.IGameTagService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;

+ 7 - 12
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/OrderController.java

@@ -2,20 +2,23 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.manage.pojo.params.LogPayCpParam;
 import com.zanxiang.game.module.manage.pojo.params.OrderParam;
 import com.zanxiang.game.module.manage.pojo.params.OrderParam;
+import com.zanxiang.game.module.manage.pojo.params.PayCallCpLogParam;
 import com.zanxiang.game.module.manage.pojo.vo.LogPayCpVO;
 import com.zanxiang.game.module.manage.pojo.vo.LogPayCpVO;
 import com.zanxiang.game.module.manage.pojo.vo.OrderListVO;
 import com.zanxiang.game.module.manage.pojo.vo.OrderListVO;
 import com.zanxiang.game.module.manage.service.ILogPayCpService;
 import com.zanxiang.game.module.manage.service.ILogPayCpService;
 import com.zanxiang.game.module.manage.service.IOrderService;
 import com.zanxiang.game.module.manage.service.IOrderService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import io.swagger.annotations.ApiResponses;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 
 /**
 /**
  * @author : lingfeng
  * @author : lingfeng
@@ -45,15 +48,7 @@ public class OrderController {
     @PostMapping(value = "/cp/call/list")
     @PostMapping(value = "/cp/call/list")
     @PreAuthorize(permissionKey = "sdk:order:callCpList")
     @PreAuthorize(permissionKey = "sdk:order:callCpList")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = LogPayCpVO.class, responseContainer = "list")})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = LogPayCpVO.class, responseContainer = "list")})
-    public ResultVO<IPage<LogPayCpVO>> callCpList(@Validated @RequestBody LogPayCpParam param) {
+    public ResultVO<IPage<LogPayCpVO>> callCpList(@Validated @RequestBody PayCallCpLogParam param) {
         return ResultVO.ok(logPayCpService.callCpList(param));
         return ResultVO.ok(logPayCpService.callCpList(param));
     }
     }
-
-    @ApiOperation(value = "订单上报")
-    @PutMapping(value = "/call/back")
-    @PreAuthorize(permissionKey = "sdk:order:callBack")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> callBack(@RequestParam String orderId) {
-        return ResultVO.ok(orderService.callBack(orderId));
-    }
 }
 }

+ 3 - 3
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/OssController.java

@@ -1,12 +1,12 @@
 package com.zanxiang.game.module.manage.controller;
 package com.zanxiang.game.module.manage.controller;
 
 
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.base.enums.FileTypeEnum;
+import com.zanxiang.game.module.manage.enums.FileTypeEnum;
 import com.zanxiang.module.oss.pojo.OssUploadCallback;
 import com.zanxiang.module.oss.pojo.OssUploadCallback;
 import com.zanxiang.module.oss.pojo.dto.OssUploadDTO;
 import com.zanxiang.module.oss.pojo.dto.OssUploadDTO;
 import com.zanxiang.module.oss.service.IOssService;
 import com.zanxiang.module.oss.service.IOssService;
 import com.zanxiang.module.util.exception.BaseException;
 import com.zanxiang.module.util.exception.BaseException;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -40,7 +40,7 @@ public class OssController {
         if (fileTypeEnum == null) {
         if (fileTypeEnum == null) {
             throw new BaseException("错误的文件类型");
             throw new BaseException("错误的文件类型");
         }
         }
-        return new ResultVO<>(ossService.formUpload(fileTypeEnum.getFilePath(), type));
+        return ResultVO.ok(ossService.formUpload(fileTypeEnum.getFilePath(), type));
     }
     }
 
 
     @ApiOperation(value = "oss回传接口")
     @ApiOperation(value = "oss回传接口")

+ 6 - 6
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PayApplicationController.java

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.PayApplicationAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.PayApplicationAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.PayApplicationListParam;
 import com.zanxiang.game.module.manage.pojo.params.PayApplicationListParam;
 import com.zanxiang.game.module.manage.pojo.vo.PayApplicationVO;
 import com.zanxiang.game.module.manage.pojo.vo.PayApplicationVO;
 import com.zanxiang.game.module.manage.service.IPayApplicationService;
 import com.zanxiang.game.module.manage.service.IPayApplicationService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class PayApplicationController {
     @PreAuthorize(permissionKey = "manage:payApplication:addOrUpdate")
     @PreAuthorize(permissionKey = "manage:payApplication:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PayApplicationAddUpdateParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PayApplicationAddUpdateParam param) {
-        return new ResultVO<>(payApplicationService.addOrUpdate(param));
+        return ResultVO.ok(payApplicationService.addOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "应用列表查询")
     @ApiOperation(value = "应用列表查询")
@@ -41,7 +41,7 @@ public class PayApplicationController {
     @PreAuthorize(permissionKey = "manage:payApplication:list")
     @PreAuthorize(permissionKey = "manage:payApplication:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayApplicationVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayApplicationVO.class)})
     public ResultVO<IPage<PayApplicationVO>> list(@Validated @RequestBody PayApplicationListParam param) {
     public ResultVO<IPage<PayApplicationVO>> list(@Validated @RequestBody PayApplicationListParam param) {
-        return new ResultVO<>(payApplicationService.pageList(param));
+        return ResultVO.ok(payApplicationService.pageList(param));
     }
     }
 
 
     @ApiOperation(value = "应用删除")
     @ApiOperation(value = "应用删除")
@@ -49,7 +49,7 @@ public class PayApplicationController {
     @PreAuthorize(permissionKey = "manage:payApplication:delete")
     @PreAuthorize(permissionKey = "manage:payApplication:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(payApplicationService.deleteById(id));
+        return ResultVO.ok(payApplicationService.deleteById(id));
     }
     }
 
 
     @ApiOperation(value = "应用状态变更")
     @ApiOperation(value = "应用状态变更")
@@ -57,7 +57,7 @@ public class PayApplicationController {
     @PreAuthorize(permissionKey = "manage:payApplication:statusUpdate")
     @PreAuthorize(permissionKey = "manage:payApplication:statusUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(payApplicationService.statusUpdate(id, status));
+        return ResultVO.ok(payApplicationService.statusUpdate(id, status));
     }
     }
 
 
     @ApiOperation(value = "获取小程序二维码")
     @ApiOperation(value = "获取小程序二维码")
@@ -65,7 +65,7 @@ public class PayApplicationController {
     @PreAuthorize(permissionKey = "manage:payApplication:qrCode")
     @PreAuthorize(permissionKey = "manage:payApplication:qrCode")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = String.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = String.class)})
     public ResultVO<String> getQrCode(@RequestParam Long id) {
     public ResultVO<String> getQrCode(@RequestParam Long id) {
-        return new ResultVO<>(payApplicationService.getQrCode(id));
+        return ResultVO.ok(payApplicationService.getQrCode(id));
     }
     }
 
 
 }
 }

+ 5 - 5
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PayBoxController.java

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.PayBoxAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.PayBoxAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.PayBoxListParam;
 import com.zanxiang.game.module.manage.pojo.params.PayBoxListParam;
 import com.zanxiang.game.module.manage.pojo.vo.PayBoxListVO;
 import com.zanxiang.game.module.manage.pojo.vo.PayBoxListVO;
 import com.zanxiang.game.module.manage.service.IPayBoxService;
 import com.zanxiang.game.module.manage.service.IPayBoxService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class PayBoxController {
     @PreAuthorize(permissionKey = "manage:payBox:addOrUpdate")
     @PreAuthorize(permissionKey = "manage:payBox:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PayBoxAddUpdateParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PayBoxAddUpdateParam param) {
-        return new ResultVO<>(payBoxService.addOrUpdate(param));
+        return ResultVO.ok(payBoxService.addOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "支付盒子列表查询")
     @ApiOperation(value = "支付盒子列表查询")
@@ -41,7 +41,7 @@ public class PayBoxController {
     @PreAuthorize(permissionKey = "manage:payBox:list")
     @PreAuthorize(permissionKey = "manage:payBox:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayBoxListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayBoxListVO.class)})
     public ResultVO<IPage<PayBoxListVO>> list(@Validated @RequestBody PayBoxListParam param) {
     public ResultVO<IPage<PayBoxListVO>> list(@Validated @RequestBody PayBoxListParam param) {
-        return new ResultVO<>(payBoxService.pageList(param));
+        return ResultVO.ok(payBoxService.pageList(param));
     }
     }
 
 
     @ApiOperation(value = "支付盒子删除")
     @ApiOperation(value = "支付盒子删除")
@@ -49,7 +49,7 @@ public class PayBoxController {
     @PreAuthorize(permissionKey = "manage:payBox:delete")
     @PreAuthorize(permissionKey = "manage:payBox:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(payBoxService.deleteById(id));
+        return ResultVO.ok(payBoxService.deleteById(id));
     }
     }
 
 
     @ApiOperation(value = "支付盒子状态变更")
     @ApiOperation(value = "支付盒子状态变更")
@@ -57,6 +57,6 @@ public class PayBoxController {
     @PreAuthorize(permissionKey = "manage:payBox:statusUpdate")
     @PreAuthorize(permissionKey = "manage:payBox:statusUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(payBoxService.statusUpdate(id, status));
+        return ResultVO.ok(payBoxService.statusUpdate(id, status));
     }
     }
 }
 }

+ 6 - 6
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PayMerchantController.java

@@ -2,11 +2,11 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.PayMerchantAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.PayMerchantAddUpdateParam;
 import com.zanxiang.game.module.manage.pojo.params.PayMerchantListParam;
 import com.zanxiang.game.module.manage.pojo.params.PayMerchantListParam;
 import com.zanxiang.game.module.manage.pojo.vo.PayMerchantListVO;
 import com.zanxiang.game.module.manage.pojo.vo.PayMerchantListVO;
 import com.zanxiang.game.module.manage.service.IPayMerchantService;
 import com.zanxiang.game.module.manage.service.IPayMerchantService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -33,7 +33,7 @@ public class PayMerchantController {
     @PreAuthorize(permissionKey = "manage:payMerchant:addOrUpdate")
     @PreAuthorize(permissionKey = "manage:payMerchant:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> list(@Validated @RequestBody PayMerchantAddUpdateParam param) {
     public ResultVO<Boolean> list(@Validated @RequestBody PayMerchantAddUpdateParam param) {
-        return new ResultVO<>(payMerchantService.addOrUpdate(param));
+        return ResultVO.ok(payMerchantService.addOrUpdate(param));
     }
     }
 
 
     @ApiOperation(value = "商户列表查询")
     @ApiOperation(value = "商户列表查询")
@@ -41,7 +41,7 @@ public class PayMerchantController {
     @PreAuthorize(permissionKey = "manage:payMerchant:list")
     @PreAuthorize(permissionKey = "manage:payMerchant:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayMerchantListVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PayMerchantListVO.class)})
     public ResultVO<IPage<PayMerchantListVO>> list(@Validated @RequestBody PayMerchantListParam param) {
     public ResultVO<IPage<PayMerchantListVO>> list(@Validated @RequestBody PayMerchantListParam param) {
-        return new ResultVO<>(payMerchantService.pageList(param));
+        return ResultVO.ok(payMerchantService.pageList(param));
     }
     }
 
 
     @ApiOperation(value = "商户删除")
     @ApiOperation(value = "商户删除")
@@ -49,7 +49,7 @@ public class PayMerchantController {
     @PreAuthorize(permissionKey = "manage:payMerchant:delete")
     @PreAuthorize(permissionKey = "manage:payMerchant:delete")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
     public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return new ResultVO<>(payMerchantService.deleteById(id));
+        return ResultVO.ok(payMerchantService.deleteById(id));
     }
     }
 
 
     @ApiOperation(value = "商户状态变更")
     @ApiOperation(value = "商户状态变更")
@@ -57,7 +57,7 @@ public class PayMerchantController {
     @PreAuthorize(permissionKey = "manage:payMerchant:statusUpdate")
     @PreAuthorize(permissionKey = "manage:payMerchant:statusUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
     public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(payMerchantService.statusUpdate(id, status));
+        return ResultVO.ok(payMerchantService.statusUpdate(id, status));
     }
     }
 
 
     @ApiOperation(value = "商户密钥变更")
     @ApiOperation(value = "商户密钥变更")
@@ -65,6 +65,6 @@ public class PayMerchantController {
     @PreAuthorize(permissionKey = "manage:payMerchant:secretKeyUpdate")
     @PreAuthorize(permissionKey = "manage:payMerchant:secretKeyUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> secretKeyUpdate(@RequestParam Long id, @RequestParam String secretKey) {
     public ResultVO<Boolean> secretKeyUpdate(@RequestParam Long id, @RequestParam String secretKey) {
-        return new ResultVO<>(payMerchantService.secretKeyUpdate(id, secretKey));
+        return ResultVO.ok(payMerchantService.secretKeyUpdate(id, secretKey));
     }
     }
 }
 }

+ 0 - 63
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoAccountController.java

@@ -1,63 +0,0 @@
-package com.zanxiang.game.module.manage.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.manage.pojo.params.PromoAccountAddUpdateParam;
-import com.zanxiang.game.module.manage.pojo.params.PromoAccountAssignParam;
-import com.zanxiang.game.module.manage.pojo.params.PromoAccountListParam;
-import com.zanxiang.game.module.manage.pojo.vo.PromoAccountListVO;
-import com.zanxiang.game.module.manage.service.IPromoAccountService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-21
- * @description : 推广账号
- */
-@Api(tags = "推广账号接口")
-@RestController
-@RequestMapping("/promo/account")
-public class PromoAccountController {
-
-    @Autowired
-    private IPromoAccountService promoAccountService;
-
-    @ApiOperation(value = "查询推广账号列表")
-    @PostMapping(value = "/list")
-    @PreAuthorize(permissionKey = "manage:promoAccount:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoAccountListVO.class)})
-    public ResultVO<IPage<PromoAccountListVO>> list(@Validated @RequestBody PromoAccountListParam param) {
-        return ResultVO.ok(promoAccountService.list(param));
-    }
-
-    @ApiOperation(value = "推广账号添加或修改")
-    @PostMapping(value = "/add/or/update")
-    @PreAuthorize(permissionKey = "manage:promoAccount:addOrUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PromoAccountAddUpdateParam param) {
-        return ResultVO.ok(promoAccountService.addOrUpdate(param));
-    }
-
-    @ApiOperation(value = "推广账号状态变更")
-    @PatchMapping(value = "/status/update")
-    @PreAuthorize(permissionKey = "manage:promoAccount:statusUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(promoAccountService.statusUpdate(id, status));
-    }
-
-    @ApiOperation(value = "推广账号指派")
-    @PostMapping(value = "/assign")
-    @PreAuthorize(permissionKey = "manage:accountAssign:addOrUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> accountAssign(@Validated @RequestBody PromoAccountAssignParam param) {
-        return ResultVO.ok(promoAccountService.accountAssign(param));
-    }
-}

+ 0 - 54
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoChannelController.java

@@ -1,54 +0,0 @@
-package com.zanxiang.game.module.manage.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.manage.pojo.params.PromoChannelAddUpdateParam;
-import com.zanxiang.game.module.manage.pojo.params.PromoChannelListParam;
-import com.zanxiang.game.module.manage.pojo.vo.PromoChannelListVO;
-import com.zanxiang.game.module.manage.service.IPromoChannelService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-23
- * @description : 推广渠道
- */
-@Api(tags = "推广渠道接口")
-@RestController
-@RequestMapping("/promo/channel")
-public class PromoChannelController {
-
-    @Autowired
-    private IPromoChannelService promoChannelService;
-
-    @ApiOperation(value = "查询推广渠道列表")
-    @PostMapping(value = "/list")
-    @PreAuthorize(permissionKey = "manage:promoChannel:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoChannelListVO.class)})
-    public ResultVO<IPage<PromoChannelListVO>> list(@Validated @RequestBody PromoChannelListParam param) {
-        return ResultVO.ok(promoChannelService.list(param));
-    }
-
-    @ApiOperation(value = "推广渠道添加或修改")
-    @PostMapping(value = "/add/or/update")
-    @PreAuthorize(permissionKey = "manage:promoChannel:addOrUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PromoChannelAddUpdateParam param) {
-        return ResultVO.ok(promoChannelService.addOrUpdate(param));
-    }
-
-    @ApiOperation(value = "推广渠道状态变更")
-    @PatchMapping(value = "/status/update")
-    @PreAuthorize(permissionKey = "manage:promoChannel:statusUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(promoChannelService.statusUpdate(id, status));
-    }
-}

+ 0 - 54
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoMediaController.java

@@ -1,54 +0,0 @@
-package com.zanxiang.game.module.manage.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.manage.pojo.params.PromoMediaAddUpdateParam;
-import com.zanxiang.game.module.manage.pojo.params.PromoMediaListParam;
-import com.zanxiang.game.module.manage.pojo.vo.PromoMediaListVO;
-import com.zanxiang.game.module.manage.service.IPromoMediaService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-18
- * @description : 推广媒体
- */
-@Api(tags = "推广媒体接口")
-@RestController
-@RequestMapping("/promo/media")
-public class PromoMediaController {
-
-    @Autowired
-    private IPromoMediaService promoMediaService;
-
-    @ApiOperation(value = "查询推广媒体列表")
-    @PostMapping(value = "/list")
-    @PreAuthorize(permissionKey = "manage:promoMedia:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaListVO.class)})
-    public ResultVO<IPage<PromoMediaListVO>> list(@Validated @RequestBody PromoMediaListParam param) {
-        return ResultVO.ok(promoMediaService.list(param));
-    }
-
-    @ApiOperation(value = "推广媒体添加或修改")
-    @PostMapping(value = "/add/or/update")
-    @PreAuthorize(permissionKey = "manage:promoMedia:addOrUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PromoMediaAddUpdateParam param) {
-        return ResultVO.ok(promoMediaService.addOrUpdate(param));
-    }
-
-    @ApiOperation(value = "推广媒体状态变更")
-    @PatchMapping(value = "/status/update")
-    @PreAuthorize(permissionKey = "manage:promoMedia:statusUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(promoMediaService.statusUpdate(id, status));
-    }
-}

+ 0 - 54
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/PromoSiteController.java

@@ -1,54 +0,0 @@
-package com.zanxiang.game.module.manage.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
-import com.zanxiang.game.module.manage.pojo.params.PromoSiteAddOrUpdateParam;
-import com.zanxiang.game.module.manage.pojo.params.PromoSiteListParam;
-import com.zanxiang.game.module.manage.pojo.vo.PromoSiteListVO;
-import com.zanxiang.game.module.manage.service.IPromoSiteService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-18
- * @description : 推广版位
- */
-@Api(tags = "推广版位接口")
-@RestController
-@RequestMapping("/promo/site")
-public class PromoSiteController {
-
-    @Autowired
-    private IPromoSiteService promoSiteService;
-
-    @ApiOperation(value = "查询推广媒体版位列表")
-    @PostMapping(value = "/list")
-    @PreAuthorize(permissionKey = "manage:promoSite:list")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoSiteListVO.class)})
-    public ResultVO<IPage<PromoSiteListVO>> list(@Validated @RequestBody PromoSiteListParam param) {
-        return ResultVO.ok(promoSiteService.list(param));
-    }
-
-    @ApiOperation(value = "推广媒体版位添加或修改")
-    @PostMapping(value = "/add/or/update")
-    @PreAuthorize(permissionKey = "manage:promoSite:addOrUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PromoSiteAddOrUpdateParam param) {
-        return ResultVO.ok(promoSiteService.addOrUpdate(param));
-    }
-
-    @ApiOperation(value = "推广媒体版位状态变更")
-    @PatchMapping(value = "/status/update")
-    @PreAuthorize(permissionKey = "manage:promoSite:statusUpdate")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
-        return new ResultVO<>(promoSiteService.statusUpdate(id, status));
-    }
-}

+ 6 - 6
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/UserBanController.java

@@ -2,12 +2,12 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.*;
 import com.zanxiang.game.module.manage.pojo.params.*;
 import com.zanxiang.game.module.manage.pojo.vo.IpBanVO;
 import com.zanxiang.game.module.manage.pojo.vo.IpBanVO;
 import com.zanxiang.game.module.manage.pojo.vo.UserBanVO;
 import com.zanxiang.game.module.manage.pojo.vo.UserBanVO;
 import com.zanxiang.game.module.manage.service.IIpBanService;
 import com.zanxiang.game.module.manage.service.IIpBanService;
 import com.zanxiang.game.module.manage.service.IUserBanService;
 import com.zanxiang.game.module.manage.service.IUserBanService;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;
@@ -42,7 +42,7 @@ public class UserBanController {
     @PreAuthorize(permissionKey = "sdk:ipBan:list")
     @PreAuthorize(permissionKey = "sdk:ipBan:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = IpBanVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = IpBanVO.class)})
     public ResultVO<IPage<IpBanVO>> list(@Validated @RequestBody IpBanListParam param) {
     public ResultVO<IPage<IpBanVO>> list(@Validated @RequestBody IpBanListParam param) {
-        return new ResultVO<>(ipBanService.list(param));
+        return ResultVO.ok(ipBanService.list(param));
     }
     }
 
 
     @ApiOperation(value = "添加封禁ip")
     @ApiOperation(value = "添加封禁ip")
@@ -50,7 +50,7 @@ public class UserBanController {
     @PreAuthorize(permissionKey = "sdk:ipBan:add")
     @PreAuthorize(permissionKey = "sdk:ipBan:add")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addIp(@Validated @RequestBody IpBanAddParam param) {
     public ResultVO<Boolean> addIp(@Validated @RequestBody IpBanAddParam param) {
-        return new ResultVO<>(ipBanService.addIp(param));
+        return ResultVO.ok(ipBanService.addIp(param));
     }
     }
 
 
     @ApiOperation(value = "ip封禁或者解封")
     @ApiOperation(value = "ip封禁或者解封")
@@ -58,7 +58,7 @@ public class UserBanController {
     @PreAuthorize(permissionKey = "sdk:ipBan:update")
     @PreAuthorize(permissionKey = "sdk:ipBan:update")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> ipBanOrRemove(@Validated @RequestBody IpBanUpdateParam param) {
     public ResultVO<Boolean> ipBanOrRemove(@Validated @RequestBody IpBanUpdateParam param) {
-        return new ResultVO<>(ipBanService.ipBanOrRemove(param));
+        return ResultVO.ok(ipBanService.ipBanOrRemove(param));
     }
     }
 
 
     @ApiOperation(value = "查询玩家封禁列表")
     @ApiOperation(value = "查询玩家封禁列表")
@@ -66,7 +66,7 @@ public class UserBanController {
     @PreAuthorize(permissionKey = "sdk:userBan:list")
     @PreAuthorize(permissionKey = "sdk:userBan:list")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserBanVO.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserBanVO.class)})
     public ResultVO<IPage<UserBanVO>> list(@Validated @RequestBody UserBanListParam param) {
     public ResultVO<IPage<UserBanVO>> list(@Validated @RequestBody UserBanListParam param) {
-        return new ResultVO<>(userBanService.list(param));
+        return ResultVO.ok(userBanService.list(param));
     }
     }
 
 
     @ApiOperation(value = "玩家封禁添加或者更新")
     @ApiOperation(value = "玩家封禁添加或者更新")
@@ -74,6 +74,6 @@ public class UserBanController {
     @PreAuthorize(permissionKey = "sdk:userBan:addOrUpdate")
     @PreAuthorize(permissionKey = "sdk:userBan:addOrUpdate")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody UserBanUpdateParam param) {
     public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody UserBanUpdateParam param) {
-        return new ResultVO<>(userBanService.addOrUpdate(param));
+        return ResultVO.ok(userBanService.addOrUpdate(param));
     }
     }
 }
 }

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

@@ -2,10 +2,10 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
-import com.zanxiang.game.module.base.domain.ResultVO;
 import com.zanxiang.game.module.manage.pojo.params.*;
 import com.zanxiang.game.module.manage.pojo.params.*;
 import com.zanxiang.game.module.manage.pojo.vo.*;
 import com.zanxiang.game.module.manage.pojo.vo.*;
 import com.zanxiang.game.module.manage.service.*;
 import com.zanxiang.game.module.manage.service.*;
+import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponse;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/FileTypeEnum.java → game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/FileTypeEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.manage.enums;
 
 
 import lombok.Getter;
 import lombok.Getter;
 
 

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/GameStatusEnum.java → game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/GameStatusEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.manage.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/GameStrategyTypeEnum.java → game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/GameStrategyTypeEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.manage.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/enums/VipLevelEnum.java → game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/enums/VipLevelEnum.java

@@ -1,4 +1,4 @@
-package com.zanxiang.game.module.base.enums;
+package com.zanxiang.game.module.manage.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 82 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/AgentDTO.java

@@ -0,0 +1,82 @@
+package com.zanxiang.game.module.manage.pojo.dto;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author wcc
+ */
+@Data
+public class AgentDTO {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 渠道名称
+     */
+    private String agentName;
+
+    /**
+     * 渠道唯一标识
+     */
+    private String agentKey;
+
+    /**
+     * 推广账号类型(1:腾讯、2:头条)
+     */
+    private Integer accountType;
+
+    /**
+     * 账号类型
+     */
+    private Long accountId;
+
+    /**
+     * 游戏id
+     */
+    private Long gameId;
+
+    /**
+     * 腾讯用户行为数据源 id
+     */
+    private Long userActionSetId;
+
+    /**
+     * 回传策略 id
+     */
+    private Long backPolicyId;
+
+    /**
+     * 投放状态
+     */
+    private Integer putStatus;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 创建归属人id
+     */
+    private Long createBy;
+
+    /**
+     * 创建归属人名称
+     */
+    private String createByName;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 更新者
+     */
+    private Long updateBy;
+}

+ 0 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/AgentListDTO.java


+ 61 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/GameAppletConfigDTO.java

@@ -0,0 +1,61 @@
+package com.zanxiang.game.module.manage.pojo.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author : lingfeng
+ * @time : 2023-06-21
+ * @description : 游戏应用信息
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class GameAppletConfigDTO {
+
+    /**
+     * 小游戏/公众号应用id
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用id (必填)")
+    private String appId;
+
+    /**
+     * 小游戏/公众号应用原始id
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用原始id (必填)")
+    private String ghId;
+
+    /**
+     * 小游戏/公众号应用名称
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用名称 (必填)")
+    private String appName;
+
+    /**
+     * 小游戏/公众号应用密钥
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用密钥 (必填)")
+    private String appSecret;
+
+    /**
+     * 公司主体信息
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用公司主体信息 (选填)")
+    private String company;
+
+    /**
+     * 小游戏/公众号应用登录账号
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用登录账号 (选填)")
+    private String account;
+
+    /**
+     * 小游戏/公众号应用管理员
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用管理员 (选填)")
+    private String manager;
+}

+ 4 - 19
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/GameAppletDTO.java

@@ -41,29 +41,14 @@ public class GameAppletDTO {
     private String appSecret;
     private String appSecret;
 
 
     /**
     /**
-     * 米大师应用id
+     * 米大师配置
      */
      */
-    private String miPayAppId;
+    private String miPayConfig;
 
 
     /**
     /**
-     * 米大师应用密钥
+     * 消息推送配置
      */
      */
-    private String miPayAppKey;
-
-    /**
-     * 米大师应用沙箱密钥
-     */
-    private String miPayAppKeyDev;
-
-    /**
-     * 消息推送token
-     */
-    private String msgPushToken;
-
-    /**
-     * 消息推送加密密钥
-     */
-    private String msgPushAesKey;
+    private String msgConfig;
 
 
     /**
     /**
      * 公司主体信息
      * 公司主体信息

+ 0 - 72
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoAccountDTO.java

@@ -1,72 +0,0 @@
-package com.zanxiang.game.module.manage.pojo.dto;
-
-import lombok.Data;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-04
- * @description : 推广账号
- */
-@Data
-public class PromoAccountDTO {
-
-    /**
-     * 主键
-     */
-    private Long id;
-
-    /**
-     * 推广账号id
-     */
-    private String account;
-
-    /**
-     * 推广账号名称
-     */
-    private String name;
-
-    /**
-     * 投手项目组
-     */
-    private String pitcherGroupId;
-
-    /**
-     * 投手项目组名称
-     */
-    private String pitcherGroupName;
-
-    /**
-     * 投手id
-     */
-    private String pitcherId;
-
-    /**
-     * 投手名称
-     */
-    private String pitcherName;
-
-    /**
-     * 推广媒体id
-     */
-    private Long mediaId;
-
-    /**
-     * 推广媒体名称
-     */
-    private String mediaName;
-
-    /**
-     * 推广账号类型
-     */
-    private Integer accountType;
-
-    /**
-     * 备注
-     */
-    private String remark;
-
-    /**
-     * 状态, 0 : 可用, 1: 禁用
-     */
-    private Integer status;
-}

+ 0 - 62
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoChannelDTO.java

@@ -1,62 +0,0 @@
-package com.zanxiang.game.module.manage.pojo.dto;
-
-import lombok.Data;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-04
- * @description : 推广渠道
- */
-@Data
-public class PromoChannelDTO {
-
-    /**
-     * 主键
-     */
-    private Long id;
-
-    /**
-     * 推广账号主键id
-     */
-    private Long accountId;
-
-    /**
-     * 推广媒体id
-     */
-    private Long mediaId;
-
-    /**
-     * 推广媒体名称
-     */
-    private String mediaName;
-
-    /**
-     * 服务商
-     */
-    private String provider;
-
-    /**
-     * 游戏id
-     */
-    private Long gameId;
-
-    /**
-     * 二维码
-     */
-    private String code;
-
-    /**
-     * 推广路径
-     */
-    private String path;
-
-    /**
-     * 渠道
-     */
-    private String channel;
-
-    /**
-     * 状态, 0 : 可用, 1: 禁用
-     */
-    private Integer status;
-}

+ 0 - 64
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoMediaDTO.java

@@ -1,64 +0,0 @@
-package com.zanxiang.game.module.manage.pojo.dto;
-
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-21
- * @description : 推广媒体
- */
-@Data
-public class PromoMediaDTO {
-
-    /**
-     * 主键
-     */
-    private Long id;
-
-    /**
-     * 推广媒体
-     */
-    private String name;
-
-    /**
-     * 推广媒体类型
-     */
-    private String types;
-
-    /**
-     * 地址
-     */
-    private String address;
-
-    /**
-     * 公司
-     */
-    private String company;
-
-    /**
-     * 状态, 0 : 可用, 1: 禁用
-     */
-    private Integer status;
-
-    /**
-     * 备注
-     */
-    private String remark;
-
-    /**
-     * 1:删除,0: 正常
-     */
-    private Integer isDelete;
-
-    /**
-     * 创建时间
-     */
-    private LocalDateTime createTime;
-
-    /**
-     * 更新时间
-     */
-    private LocalDateTime updateTime;
-}

+ 0 - 32
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/PromoSiteDTO.java

@@ -1,32 +0,0 @@
-package com.zanxiang.game.module.manage.pojo.dto;
-
-import lombok.Data;
-
-/**
- * @author : lingfeng
- * @time : 2022-11-24
- * @description : 推广版位位置
- */
-@Data
-public class PromoSiteDTO {
-
-    /**
-     * 主键
-     */
-    private Long id;
-
-    /**
-     * 推广媒体id
-     */
-    private Long mediaId;
-
-    /**
-     * 媒体版位
-     */
-    private String plateSite;
-
-    /**
-     * 媒体位置
-     */
-    private String mediaSite;
-}

+ 31 - 41
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/dto/UserDTO.java

@@ -19,7 +19,12 @@ public class UserDTO {
     private Long id;
     private Long id;
 
 
     /**
     /**
-     * 所属渠道ID
+     * 注册渠道id
+     */
+    private Long regAgentId;
+
+    /**
+     * 最新渠道id
      */
      */
     private Long agentId;
     private Long agentId;
 
 
@@ -43,28 +48,23 @@ public class UserDTO {
      */
      */
     private String password;
     private String password;
 
 
-    /**
-     * 绑定邮箱
-     */
-    private String email;
-
     /**
     /**
      * 绑定手机号码
      * 绑定手机号码
      */
      */
     private String mobile;
     private String mobile;
 
 
     /**
     /**
-     * 绑定支付宝账号
+     * 微信用户openId
      */
      */
-    private String aliPay;
+    private String openId;
 
 
     /**
     /**
-     * 客户端类型, 1 : 安卓app
+     * 微信用户会话密钥
      */
      */
-    private Integer deviceType;
+    private String sessionKey;
 
 
     /**
     /**
-     * 用户状态, -1 : 为冻结状态, 0 : 为正常状态
+     * 状态, 0 正常 1 封禁
      */
      */
     private Integer status;
     private Integer status;
 
 
@@ -73,6 +73,16 @@ public class UserDTO {
      */
      */
     private String avatar;
     private String avatar;
 
 
+    /**
+     * 绑定支付宝账号
+     */
+    private String aliPay;
+
+    /**
+     * 绑定邮箱
+     */
+    private String email;
+
     /**
     /**
      * 充值次数
      * 充值次数
      */
      */
@@ -88,50 +98,30 @@ public class UserDTO {
      */
      */
     private LocalDateTime lastRechargeTime;
     private LocalDateTime lastRechargeTime;
 
 
-    /**
-     * 平台币余额
-     */
-    private BigDecimal platformCoin;
-
     /**
     /**
      * 创角数
      * 创角数
      */
      */
     private Integer roleCount;
     private Integer roleCount;
 
 
-    /**
-     * 是否GS
-     */
-    private Boolean isGs;
-
-    /**
-     * 客服id
-     */
-    private Long customerId;
-
-    /**
-     * 拥有角色最高vip等级
-     */
-    private Integer vipMax;
-
     /**
     /**
      * 是否实名认证,0未实名认证,1成年人,2未成年人
      * 是否实名认证,0未实名认证,1成年人,2未成年人
      */
      */
     private Integer authentication;
     private Integer authentication;
 
 
     /**
     /**
-     * 注册时间
+     * 客户端类型, 1:安卓app, 2: 苹果iosApp, 3: h5网页, 4 : 小程序(小游戏)
      */
      */
-    private LocalDateTime createTime;
+    private Integer deviceType;
 
 
     /**
     /**
-     * 更改时间
+     * 客户端操作系统, android, ios, windows, mac
      */
      */
-    private LocalDateTime updateTime;
+    private String deviceSystem;
 
 
     /**
     /**
-     * 客户端操作系统, android, ios, windows, mac
+     * 用户注册ip
      */
      */
-    private String deviceSystem;
+    private String ip;
 
 
     /**
     /**
      * 用户设备mac地址
      * 用户设备mac地址
@@ -149,12 +139,12 @@ public class UserDTO {
     private String androidId;
     private String androidId;
 
 
     /**
     /**
-     * 用户注册ip
+     * 注册时间
      */
      */
-    private String ip;
+    private LocalDateTime createTime;
 
 
     /**
     /**
-     * 广告id
+     * 更改时间
      */
      */
-    private String adId;
+    private LocalDateTime updateTime;
 }
 }

+ 27 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/enums/AccountTypeEnum.java

@@ -0,0 +1,27 @@
+package com.zanxiang.game.module.manage.pojo.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum AccountTypeEnum {
+    TENCENT(1),
+    BYTE(2);
+
+    private final Integer value;
+
+    AccountTypeEnum(Integer value) {
+        this.value = value;
+    }
+
+    public static AccountTypeEnum getByValue(Integer value) {
+        if (value == null) {
+            return null;
+        }
+        for (AccountTypeEnum accountType : AccountTypeEnum.values()) {
+            if (accountType.getValue().equals(value)) {
+                return accountType;
+            }
+        }
+        return null;
+    }
+}

+ 72 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/AgentAddParam.java

@@ -0,0 +1,72 @@
+package com.zanxiang.game.module.manage.pojo.params;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author : lingfeng
+ * @time : 2023-06-09
+ * @description : 添加渠道
+ */
+@Data
+public class AgentAddParam {
+
+    /**
+     * 渠道名称
+     */
+    @ApiModelProperty(notes = "渠道名称")
+    @NotBlank(message = "渠道名称不能为空")
+    private String agentName;
+
+    /**
+     * 推广账号类型(1:腾讯、2:头条)
+     */
+    @ApiModelProperty(notes = "推广账号类型(1:腾讯、2:头条)")
+    @NotNull(message = "渠道类型不能为空")
+    private Integer accountType;
+
+    /**
+     * 账号类型
+     */
+    @ApiModelProperty(notes = "账号Id")
+    @NotNull(message = "账号不能为空")
+    private Long accountId;
+
+    /**
+     * 游戏id
+     */
+    @ApiModelProperty(notes = "游戏id")
+    @NotNull(message = "投放游戏不能为空")
+    private Long gameId;
+
+    /**
+     * 腾讯用户行为数据源 id
+     */
+    @ApiModelProperty(notes = "腾讯用户行为数据源 id")
+    private Long userActionSetId;
+
+    /**
+     * 回传策略 id
+     */
+    @ApiModelProperty(notes = "回传策略 id")
+    private Long backPolicyId;
+    /**
+     * 头条回传 token
+     */
+    @ApiModelProperty(notes = "头条回传 token")
+    private String reportToken;
+    /**
+     * 头条回传 url
+     */
+    @ApiModelProperty(notes = "头条回传 url")
+    private String reportUrl;
+
+    /**
+     * 投放状态
+     */
+    @ApiModelProperty(notes = "投放状态")
+    private Integer putStatus;
+}

+ 74 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/AgentListParam.java

@@ -0,0 +1,74 @@
+package com.zanxiang.game.module.manage.pojo.params;
+
+import com.zanxiang.game.module.mybatis.entity.Agent;
+import com.zanxiang.module.web.pojo.BaseListDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+/**
+ * @author : lingfeng
+ * @time : 2023-06-09
+ * @description : 渠道列表查询
+ */
+@Data
+public class AgentListParam extends BaseListDTO<Agent> {
+
+    /**
+     * 渠道名称
+     */
+    @ApiModelProperty(notes = "渠道名称")
+    private String agentName;
+
+    @ApiModelProperty(notes = "渠道标识")
+    private String agentKey;
+
+    /**
+     * 账号类型
+     */
+    @ApiModelProperty(notes = "账号类型")
+    private Integer accountType;
+
+    /**
+     * 账号id
+     */
+    @ApiModelProperty(notes = "账号id")
+    private Long accountId;
+
+    /**
+     * 游戏id
+     */
+    @ApiModelProperty(notes = "游戏id")
+    private Long gameId;
+
+    /**
+     * 回传策略 id
+     */
+    @ApiModelProperty(notes = "回传策略 id")
+    private Long backPolicyId;
+
+    /**
+     * 投放状态
+     */
+    @ApiModelProperty(notes = "投放状态")
+    private Integer putStatus;
+
+    /**
+     * 投手
+     */
+    @ApiModelProperty(notes = "投手")
+    private Long putUserId;
+
+    /**
+     * 创建开始时间
+     */
+    @ApiModelProperty(notes = "创建开始时间")
+    private LocalDate createBeginTime;
+
+    /**
+     * 创建结束时间
+     */
+    @ApiModelProperty(notes = "创建结束时间")
+    private LocalDate createEndTime;
+}

+ 0 - 6
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/CpAddUpdateParam.java

@@ -59,10 +59,4 @@ public class CpAddUpdateParam {
      */
      */
     @ApiModelProperty(notes = "备注")
     @ApiModelProperty(notes = "备注")
     private String remark;
     private String remark;
-
-    /**
-     * 渠道
-     */
-    @ApiModelProperty(notes = "渠道, 暂时没有用到, 不传值")
-    private Long channel;
 }
 }

+ 2 - 2
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/CpListParam.java

@@ -1,7 +1,7 @@
 package com.zanxiang.game.module.manage.pojo.params;
 package com.zanxiang.game.module.manage.pojo.params;
 
 
-import com.zanxiang.game.module.base.base.BasePage;
 import com.zanxiang.game.module.mybatis.entity.Cp;
 import com.zanxiang.game.module.mybatis.entity.Cp;
+import com.zanxiang.module.web.pojo.BaseListDTO;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
@@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode;
  */
  */
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-public class CpListParam extends BasePage<Cp> {
+public class CpListParam extends BaseListDTO<Cp> {
 
 
     /**
     /**
      * cp名称
      * cp名称

+ 19 - 7
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GameAddParam.java

@@ -1,5 +1,6 @@
 package com.zanxiang.game.module.manage.pojo.params;
 package com.zanxiang.game.module.manage.pojo.params;
 
 
+import com.zanxiang.game.module.manage.pojo.dto.GameAppletConfigDTO;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
@@ -66,19 +67,30 @@ public class GameAddParam {
     /**
     /**
      * 父游戏id
      * 父游戏id
      */
      */
-    @ApiModelProperty(notes = "父游戏id")
+    @ApiModelProperty(notes = "父游戏id, 非主游戏时必填")
     private Long parentGameId;
     private Long parentGameId;
 
 
     /**
     /**
-     * CP回调地址
+     * 关联H5游戏id
      */
      */
-    @ApiModelProperty(notes = "CP回调地址")
-    private String cpPaybackUrl;
+    @ApiModelProperty(notes = "关联H5游戏id(选填)")
+    private Long h5GameId;
 
 
     /**
     /**
-     * 游戏地址
+     * 导量游戏id
      */
      */
-    @ApiModelProperty(notes = "游戏地址")
-    private String gameUrl;
+    @ApiModelProperty(notes = "导量游戏id(选填)")
+    private Long guideGameId;
 
 
+    /**
+     * 游戏描述
+     */
+    @ApiModelProperty(notes = "游戏描述(选填)")
+    private String description;
+
+    /**
+     * 小游戏/公众号应用信息
+     */
+    @ApiModelProperty(notes = "小游戏/公众号应用信息 (微信小游戏和H5游戏必填, 其他游戏不填)")
+    private GameAppletConfigDTO gameAppletConfigDTO;
 }
 }

+ 2 - 2
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GameListParam.java

@@ -1,7 +1,7 @@
 package com.zanxiang.game.module.manage.pojo.params;
 package com.zanxiang.game.module.manage.pojo.params;
 
 
-import com.zanxiang.game.module.base.base.BasePage;
 import com.zanxiang.game.module.mybatis.entity.Game;
 import com.zanxiang.game.module.mybatis.entity.Game;
+import com.zanxiang.module.web.pojo.BaseListDTO;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
@@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode;
  */
  */
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-public class GameListParam extends BasePage<Game> {
+public class GameListParam extends BaseListDTO<Game> {
 
 
     /**
     /**
      * cp名称对应的id
      * cp名称对应的id

Some files were not shown because too many files changed in this diff