Parcourir la source

修改内容:游戏回传服务-腾讯回传

shishaosong il y a 1 an
Parent
commit
faa5074407
31 fichiers modifiés avec 1291 ajouts et 0 suppressions
  1. 8 0
      game-back/game-back-base/pom.xml
  2. 6 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/GameBackServer.java
  3. 69 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/pojo/dto/TencentOrderDTO.java
  4. 52 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/pojo/dto/TencentUserDTO.java
  5. 17 0
      game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/rpc/IGameBackTencentRpc.java
  6. 5 0
      game-back/game-back-serve/pom.xml
  7. 48 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/controller/TencnetBackController.java
  8. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameBackPolicyMapper.java
  9. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameTencentBackLogMapper.java
  10. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameTencentOrderMapper.java
  11. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameTencentUserMapper.java
  12. 86 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyDTO.java
  13. 48 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyListDTO.java
  14. 84 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameBackPolicy.java
  15. 80 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentBackLog.java
  16. 85 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentOrder.java
  17. 70 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentUser.java
  18. 95 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameBackPolicyVO.java
  19. 26 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/IGameBackTencentRpcImpl.java
  20. 35 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameBackPolicyService.java
  21. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentBackLogService.java
  22. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentOrderService.java
  23. 16 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentUserService.java
  24. 285 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameBackPolicyServiceImpl.java
  25. 20 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentBackLogServiceImpl.java
  26. 20 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentOrderServiceImpl.java
  27. 20 0
      game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentUserServiceImpl.java
  28. 5 0
      game-back/game-back-serve/src/main/resources/mapper/GameBackPolicyMapper.xml
  29. 5 0
      game-back/game-back-serve/src/main/resources/mapper/GameTencentBackLogMapper.xml
  30. 5 0
      game-back/game-back-serve/src/main/resources/mapper/GameTencentOrderMapper.xml
  31. 5 0
      game-back/game-back-serve/src/main/resources/mapper/GameTencentUserMapper.xml

+ 8 - 0
game-back/game-back-base/pom.xml

@@ -16,4 +16,12 @@
         <maven.compiler.target>8</maven.compiler.target>
     </properties>
 
+    <dependencies>
+        <dependency>
+            <groupId>com.zanxiang.module</groupId>
+            <artifactId>zx-web</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
 </project>

+ 6 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/GameBackServer.java

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

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

@@ -0,0 +1,69 @@
+package com.zanxiang.game.back.base.pojo.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class TencentOrderDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    private Long adAccountId;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime registerTime;
+
+    /**
+     * 关注时间
+     */
+    private LocalDateTime subscribeTime;
+
+    /**
+     * 充值金额(分)
+     */
+    private Long rechargeMoney;
+
+    /**
+     * 充值时间
+     */
+    private LocalDateTime rechargeTime;
+
+    /**
+     * 订单ID
+     */
+    private String orderId;
+
+    /**
+     * 渠道号
+     */
+    private String channel;
+
+    /**
+     * openid
+     */
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    private String wechatAppId;
+
+
+}

+ 52 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/pojo/dto/TencentUserDTO.java

@@ -0,0 +1,52 @@
+package com.zanxiang.game.back.base.pojo.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class TencentUserDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    private Long adAccountId;
+    /**
+     * 注册时间
+     */
+    private LocalDateTime registerTime;
+
+    /**
+     * 关注时间
+     */
+    private LocalDateTime subscribeTime;
+
+    /**
+     * 渠道号
+     */
+    private String channel;
+
+    /**
+     * openid
+     */
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    private String wechatAppId;
+
+
+}

+ 17 - 0
game-back/game-back-base/src/main/java/com/zanxiang/game/back/base/rpc/IGameBackTencentRpc.java

@@ -0,0 +1,17 @@
+package com.zanxiang.game.back.base.rpc;
+
+import com.zanxiang.game.back.base.pojo.dto.TencentOrderDTO;
+import com.zanxiang.game.back.base.pojo.dto.TencentUserDTO;
+import com.zanxiang.module.util.pojo.ResultVO;
+
+public interface IGameBackTencentRpc {
+    /**
+     * 订单回传
+     */
+    ResultVO<Boolean> backOrder(TencentOrderDTO dto);
+
+    /**
+     * 用户回传
+     */
+    ResultVO<Boolean> backUser(TencentUserDTO dto);
+}

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

@@ -21,6 +21,11 @@
             <groupId>com.zanxiang.game</groupId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <artifactId>advertising-tencent-base</artifactId>
+            <groupId>com.zanxiang.advertising.tencent</groupId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-actuator</artifactId>

+ 48 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/controller/TencnetBackController.java

@@ -0,0 +1,48 @@
+package com.zanxiang.game.back.serve.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.back.base.pojo.dto.TencentOrderDTO;
+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.module.util.pojo.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@RestController
+@RequestMapping("/game/back")
+@Api("腾讯回传")
+public class TencnetBackController {
+    @Autowired
+    private IGameBackPolicyService gameBackPolicyService;
+
+    @PostMapping("/policy/create")
+    @ApiOperation(value = "创建回传策略")
+    public ResultVO<Boolean> createPolicy(@RequestBody GameBackPolicyDTO dto) {
+        return ResultVO.ok(gameBackPolicyService.createPolicy(dto));
+    }
+
+    @PostMapping("/policy/update")
+    @ApiOperation(value = "修改回传策略")
+    public ResultVO<Boolean> updatePolicy(@RequestBody GameBackPolicyDTO dto) {
+        return ResultVO.ok(gameBackPolicyService.updatePolicy(dto));
+    }
+
+    @PostMapping("/policy/delete/{ids}")
+    @ApiOperation(value = "删除回传策略")
+    public ResultVO<Boolean> deletePolicy(@PathVariable("ids") List<Long> ids) {
+        return ResultVO.ok(gameBackPolicyService.deletePolicy(ids));
+    }
+
+    @PostMapping("/policy/list")
+    @ApiOperation(value = "回传策略列表")
+    public ResultVO<IPage<GameBackPolicyVO>> policyList(@RequestBody GameBackPolicyListDTO dto) {
+        return ResultVO.ok(gameBackPolicyService.policyList(dto));
+    }
+}

+ 16 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameBackPolicyMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.dao.mapper;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 游戏回传策略表 Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface GameBackPolicyMapper extends BaseMapper<GameBackPolicy> {
+
+}

+ 16 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameTencentBackLogMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.dao.mapper;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 回传日志表 Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface GameTencentBackLogMapper extends BaseMapper<GameTencentBackLog> {
+
+}

+ 16 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameTencentOrderMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.dao.mapper;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 游戏腾讯订单表 Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface GameTencentOrderMapper extends BaseMapper<GameTencentOrder> {
+
+}

+ 16 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/dao/mapper/GameTencentUserMapper.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.dao.mapper;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 游戏腾讯用户表 Mapper 接口
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface GameTencentUserMapper extends BaseMapper<GameTencentUser> {
+
+}

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

@@ -0,0 +1,86 @@
+package com.zanxiang.game.back.serve.pojo.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+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.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 游戏回传策略表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameBackPolicyDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty("回传策略名")
+    private String backPolicyName;
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    /**
+     * 账号ID
+     */
+    @ApiModelProperty("账号ID")
+    private Long accountId;
+
+    /**
+     * 首充金额(小于等于指定金额)
+     */
+    @ApiModelProperty("首充金额(小于等于指定金额)")
+    private Long firstRechargeMoney;
+
+    /**
+     * 首充回传比例(例如:50%-->0.5)
+     */
+    @ApiModelProperty("首充回传比例(例如:50%,传参0.5)")
+    private BigDecimal firstRechargeBackPercentage;
+
+    /**
+     * 大单金额(大于等于指定金额)
+     */
+    @ApiModelProperty("大单金额(大于等于指定金额)")
+    private Long bigRechargeMoney;
+
+    /**
+     * 大单回传比例(例如:50%-->0.5)
+     */
+    @ApiModelProperty("大单回传比例(例如:50%传参0.5)")
+    private BigDecimal bigRechargeBackPercentage;
+
+    /**
+     * 其他回传比例(例如:50%-->0.5)
+     */
+    @ApiModelProperty("其他回传比例(例如:50%传参0.5)")
+    private BigDecimal otherRechargeBackPercentage;
+
+    /**
+     * 降档级别
+     */
+    @ApiModelProperty("降档级别(降1档传参:1,降二档传参2)")
+    private Integer levelDown;
+
+
+}

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

@@ -0,0 +1,48 @@
+package com.zanxiang.game.back.serve.pojo.dto;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+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.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 游戏回传策略表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameBackPolicyListDTO extends BaseListDTO<GameBackPolicy> {
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    @ApiModelProperty("回传策略名")
+    private String backPolicyName;
+
+    /**
+     * 账号ID
+     */
+    @ApiModelProperty("账号ID")
+    private Long accountId;
+
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+    @ApiModelProperty("创建时间")
+    private LocalDateTime createTime;
+}

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

@@ -0,0 +1,84 @@
+package com.zanxiang.game.back.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 游戏回传策略表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@TableName("t_game_back_policy")
+public class GameBackPolicy implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String backPolicyName;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 账号ID
+     */
+    private Long accountId;
+
+    /**
+     * 首充金额(小于等于指定金额)
+     */
+    private Long firstRechargeMoney;
+
+    /**
+     * 首充回传比例(例如:50%-->0.5)
+     */
+    private BigDecimal firstRechargeBackPercentage;
+
+    /**
+     * 大单金额(大于等于指定金额)
+     */
+    private Long bigRechargeMoney;
+
+    /**
+     * 大单回传比例(例如:50%-->0.5)
+     */
+    private BigDecimal bigRechargeBackPercentage;
+
+    /**
+     * 其他回传比例(例如:50%-->0.5)
+     */
+    private BigDecimal otherRechargeBackPercentage;
+
+    /**
+     * 降档级别
+     */
+    private Integer levelDown;
+
+    private LocalDateTime createTime;
+
+    private Long createBy;
+
+    private LocalDateTime updateTime;
+
+    private Long updateBy;
+
+
+}

+ 80 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentBackLog.java

@@ -0,0 +1,80 @@
+package com.zanxiang.game.back.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 回传日志表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@TableName("t_game_tencent_back_log")
+public class GameTencentBackLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 游戏id
+     */
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    private Long adAccountId;
+
+    /**
+     * 数据源ID
+     */
+    private String userActionSetId;
+
+    /**
+     * 行为发生时,客户端的时间点
+     */
+    private LocalDateTime actionTime;
+
+    /**
+     * openid
+     */
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    private String wechatAppId;
+
+    /**
+     * 行为类型:(REGISTER/PURCHASE/COMPLETE_ORDER)
+     */
+    private String actionType;
+
+    /**
+     * 订单ID
+     */
+    private String orderId;
+
+    /**
+     * 回传时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 回传日志
+     */
+    private String backLog;
+
+
+}

+ 85 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentOrder.java

@@ -0,0 +1,85 @@
+package com.zanxiang.game.back.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 游戏腾讯订单表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@TableName("t_game_tencent_order")
+public class GameTencentOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 渠道号
+     */
+    private String channel;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    private Long adAccountId;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime registerTime;
+
+    /**
+     * 关注时间
+     */
+    private LocalDateTime subscribeTime;
+
+    /**
+     * 充值金额(分)
+     */
+    private Long rechargeMoney;
+
+    /**
+     * 充值时间
+     */
+    private LocalDateTime rechargeTime;
+
+    /**
+     * 订单ID
+     */
+    private String orderId;
+
+    /**
+     * openid
+     */
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    private String wechatAppId;
+
+    /**
+     * 0:未回传;1:回传
+     */
+    private Integer isBack;
+
+
+}

+ 70 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/entity/GameTencentUser.java

@@ -0,0 +1,70 @@
+package com.zanxiang.game.back.serve.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import lombok.*;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 游戏腾讯用户表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@TableName("t_game_tencent_user")
+public class GameTencentUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 渠道号
+     */
+    private String channel;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 广告账号ID
+     */
+    private Long adAccountId;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime registerTime;
+
+    /**
+     * 关注时间
+     */
+    private LocalDateTime subscribeTime;
+
+    /**
+     * openid
+     */
+    private String wechatOpenid;
+
+    /**
+     * appid
+     */
+    private String wechatAppId;
+
+    /**
+     * 0:未回传;1:回传
+     */
+    private Integer isBack;
+
+
+}

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

@@ -0,0 +1,95 @@
+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.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 游戏回传策略表
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameBackPolicyVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty("回传策略名")
+    private String backPolicyName;
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty("游戏ID")
+    private Long gameId;
+
+    /**
+     * 账号ID
+     */
+    @ApiModelProperty("账号ID")
+    private Long accountId;
+
+    /**
+     * 首充金额(小于等于指定金额)
+     */
+    @ApiModelProperty("首充金额(小于等于指定金额)")
+    private Long firstRechargeMoney;
+
+    /**
+     * 首充回传比例(例如:50%-->0.5)
+     */
+    @ApiModelProperty("首充回传比例(例如:50%,传参0.5)")
+    private BigDecimal firstRechargeBackPercentage;
+
+    /**
+     * 大单金额(大于等于指定金额)
+     */
+    @ApiModelProperty("大单金额(大于等于指定金额)")
+    private Long bigRechargeMoney;
+
+    /**
+     * 大单回传比例(例如:50%-->0.5)
+     */
+    @ApiModelProperty("大单回传比例(例如:50%传参0.5)")
+    private BigDecimal bigRechargeBackPercentage;
+
+    /**
+     * 其他回传比例(例如:50%-->0.5)
+     */
+    @ApiModelProperty("其他回传比例(例如:50%传参0.5)")
+    private BigDecimal otherRechargeBackPercentage;
+
+    /**
+     * 降档级别
+     */
+    @ApiModelProperty("降档级别(降1档传参:1,降二档传参2)")
+    private Integer levelDown;
+
+    private LocalDateTime createTime;
+
+    private Long createBy;
+
+    private String createName;
+
+    private LocalDateTime updateTime;
+
+    private Long updateBy;
+
+    private String updateName;
+
+
+}

+ 26 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/IGameBackTencentRpcImpl.java

@@ -0,0 +1,26 @@
+package com.zanxiang.game.back.serve.rpc.impl;
+
+import com.zanxiang.game.back.base.pojo.dto.TencentOrderDTO;
+import com.zanxiang.game.back.base.pojo.dto.TencentUserDTO;
+import com.zanxiang.game.back.base.rpc.IGameBackTencentRpc;
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
+import com.zanxiang.module.util.pojo.ResultVO;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@Slf4j
+@DubboService
+public class IGameBackTencentRpcImpl implements IGameBackTencentRpc {
+    @Autowired
+    private IGameBackPolicyService gameBackPolicyService;
+    @Override
+    public ResultVO<Boolean> backOrder(TencentOrderDTO dto) {
+        return ResultVO.ok(gameBackPolicyService.tencentUserBack(dto));
+    }
+
+    @Override
+    public ResultVO<Boolean> backUser(TencentUserDTO dto) {
+        return ResultVO.ok(gameBackPolicyService.tencentUserBack(dto));
+    }
+}

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

@@ -0,0 +1,35 @@
+package com.zanxiang.game.back.serve.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.back.base.pojo.dto.TencentOrderDTO;
+import com.zanxiang.game.back.base.pojo.dto.TencentUserDTO;
+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.entity.GameBackPolicy;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.back.serve.pojo.vo.GameBackPolicyVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 游戏回传策略表 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface IGameBackPolicyService extends IService<GameBackPolicy> {
+
+    boolean tencentUserBack(TencentOrderDTO dto);
+
+    boolean tencentUserBack(TencentUserDTO dto);
+
+    boolean createPolicy(GameBackPolicyDTO dto);
+
+    boolean updatePolicy(GameBackPolicyDTO dto);
+
+    boolean deletePolicy(List<Long> id);
+
+    IPage<GameBackPolicyVO> policyList(GameBackPolicyListDTO dto);
+}

+ 16 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentBackLogService.java

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.service;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 回传日志表 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface IGameTencentBackLogService extends IService<GameTencentBackLog> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.service;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 游戏腾讯订单表 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface IGameTencentOrderService extends IService<GameTencentOrder> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.zanxiang.game.back.serve.service;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 游戏腾讯用户表 服务类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+public interface IGameTencentUserService extends IService<GameTencentUser> {
+
+}

+ 285 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameBackPolicyServiceImpl.java

@@ -0,0 +1,285 @@
+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.tencent.ads.model.*;
+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.pojo.vo.SysResourceRpcVO;
+import com.zanxiang.erp.base.rpc.ISysUserRpc;
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.back.base.pojo.dto.TencentOrderDTO;
+import com.zanxiang.game.back.base.pojo.dto.TencentUserDTO;
+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.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.dao.mapper.GameBackPolicyMapper;
+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.vo.GameBackPolicyVO;
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
+import com.zanxiang.game.back.serve.service.IGameTencentOrderService;
+import com.zanxiang.game.back.serve.service.IGameTencentUserService;
+import com.zanxiang.module.util.exception.BaseException;
+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.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * <p>
+ * 游戏回传策略表 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Slf4j
+@Service
+public class GameBackPolicyServiceImpl extends ServiceImpl<GameBackPolicyMapper, GameBackPolicy> implements IGameBackPolicyService {
+    @Autowired
+    private IGameTencentBackLogService gameTencentBackLogService;
+    @Autowired
+    private IGameTencentOrderService gameTencentOrderService;
+    @Autowired
+    private IGameTencentUserService gameTencentUserService;
+    @Autowired
+    private IGameBackPolicyService gameBackPolicyService;
+    @DubboReference(providedBy = AdvertisingTencentServer.SERVER_DUBBO_NAME)
+    private IUserActionSetRpc userActionSetRpc;
+    @DubboReference(providedBy = ErpServer.SERVER_DUBBO_NAME)
+    private ISysUserRpc sysUserRpc;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean tencentUserBack(TencentOrderDTO dto) {
+        //用户保存
+        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())
+                .isBack(0)
+                .build();
+        gameTencentOrderService.save(gameTencentOrder);
+
+        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));
+        }
+        DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
+                .appId(dto.getWechatAppId())
+                .action(UserActionRpcDTO.builder()
+                        .actionTime(dto.getRechargeTime())
+                        .actionType(ActionType.PURCHASE.getValue())
+                        .userId(UserActionRpcDTO.UserIdRpcDTO.builder()
+                                .wechatAppId(dto.getWechatAppId())
+                                .wechatOpenid(dto.getWechatOpenid())
+                                .build())
+                        .build())
+                .build();
+
+        GameTencentBackLog gameTencentBackLog = GameTencentBackLog.builder()
+                .gameId(dto.getGameId())
+                .adAccountId(dto.getAdAccountId())
+                .actionTime(dto.getRechargeTime())
+                .createTime(LocalDateTime.now())
+                .actionType(ActionType.PURCHASE.getValue())
+                .orderId(dto.getOrderId())
+                .wechatAppId(dto.getWechatAppId())
+                .wechatOpenid(dto.getWechatOpenid())
+                .build();
+        try {
+            if (null == gameBackPolicy) {
+                userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+                gameTencentBackLogService.save(gameTencentBackLog);
+                gameTencentOrder.setIsBack(1);
+                gameTencentOrderService.updateById(gameTencentOrder);
+            } else {
+                if (dto.getRechargeMoney() <= gameBackPolicy.getFirstRechargeMoney() && shouldDoTask(gameBackPolicy.getFirstRechargeBackPercentage())) {
+                    userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+                    gameTencentBackLogService.save(gameTencentBackLog);
+                    gameTencentOrder.setIsBack(1);
+                    gameTencentOrderService.updateById(gameTencentOrder);
+                } else if (dto.getRechargeMoney() >= gameBackPolicy.getFirstRechargeMoney() && shouldDoTask(gameBackPolicy.getBigRechargeBackPercentage())) {
+                    userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+                    gameTencentBackLogService.save(gameTencentBackLog);
+                    gameTencentOrder.setIsBack(1);
+                    gameTencentOrderService.updateById(gameTencentOrder);
+                } else if (shouldDoTask(gameBackPolicy.getOtherRechargeBackPercentage())) {
+                    userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+                    gameTencentBackLogService.save(gameTencentBackLog);
+                    gameTencentOrder.setIsBack(1);
+                    gameTencentOrderService.updateById(gameTencentOrder);
+                }
+            }
+        } catch (Exception e) {
+            log.error("回传腾讯订单失败,失败原因:{}", e.getMessage());
+            gameTencentBackLog.setBackLog(e.getMessage());
+            gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    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())
+                .isBack(0)
+                .build();
+        gameTencentUserService.save(gameTencentUser);
+
+        DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()
+                .appId(dto.getWechatAppId())
+                .action(UserActionRpcDTO.builder()
+                        .actionTime(dto.getRegisterTime())
+                        .actionType(ActionType.REGISTER.getValue())
+                        .userId(UserActionRpcDTO.UserIdRpcDTO.builder()
+                                .wechatAppId(dto.getWechatAppId())
+                                .wechatOpenid(dto.getWechatOpenid())
+                                .build())
+                        .build())
+                .build();
+
+        GameTencentBackLog gameTencentBackLog = GameTencentBackLog.builder()
+                .gameId(dto.getGameId())
+                .adAccountId(dto.getAdAccountId())
+                .actionTime(dto.getRegisterTime())
+                .createTime(LocalDateTime.now())
+                .actionType(ActionType.REGISTER.getValue())
+                .wechatAppId(dto.getWechatAppId())
+                .wechatOpenid(dto.getWechatOpenid())
+                .build();
+        try {
+            userActionSetRpc.reportByAppId(dataReportOfAppIdRpcDTO);
+            gameTencentBackLogService.save(gameTencentBackLog);
+            gameTencentUser.setIsBack(1);
+            gameTencentUserService.updateById(gameTencentUser);
+        } catch (Exception e) {
+            log.error("回传腾讯用户失败,失败原因:{}", e.getMessage());
+            gameTencentBackLog.setBackLog(e.getMessage());
+            gameTencentBackLogService.saveOrUpdate(gameTencentBackLog);
+            return false;
+        }
+        return true;
+
+    }
+
+    @Override
+    public boolean createPolicy(GameBackPolicyDTO dto) {
+        GameBackPolicy gameBackPolicy = gameBackPolicyService.getOne(new LambdaQueryWrapper<GameBackPolicy>()
+                .eq(GameBackPolicy::getCreateBy, SecurityUtil.getUserId())
+                .eq(GameBackPolicy::getBackPolicyName, dto.getBackPolicyName()));
+        if (null != gameBackPolicy) {
+            throw new BaseException("回传策略名重复");
+        }
+        GameBackPolicy backPolicy = GameBackPolicy.builder()
+                .backPolicyName(dto.getBackPolicyName())
+                .gameId(dto.getGameId())
+                .accountId(dto.getAccountId())
+                .firstRechargeMoney(dto.getFirstRechargeMoney())
+                .firstRechargeBackPercentage(dto.getFirstRechargeBackPercentage())
+                .bigRechargeBackPercentage(dto.getBigRechargeBackPercentage())
+                .bigRechargeMoney(dto.getBigRechargeMoney())
+                .otherRechargeBackPercentage(dto.getOtherRechargeBackPercentage())
+                .levelDown(dto.getLevelDown())
+                .createBy(SecurityUtil.getUserId())
+                .createTime(LocalDateTime.now())
+                .build();
+
+        return gameBackPolicyService.save(backPolicy);
+    }
+
+    @Override
+    public boolean updatePolicy(GameBackPolicyDTO dto) {
+        long count = gameBackPolicyService.count(new LambdaQueryWrapper<GameBackPolicy>()
+                .eq(GameBackPolicy::getCreateBy, SecurityUtil.getUserId())
+                .eq(GameBackPolicy::getBackPolicyName, dto.getBackPolicyName())
+                .ne(GameBackPolicy::getId, dto.getId()));
+        if (count > 0) {
+            throw new BaseException("回传策略名重复");
+        }
+        GameBackPolicy backPolicy = GameBackPolicy.builder()
+                .id(dto.getId())
+                .backPolicyName(dto.getBackPolicyName())
+                .gameId(dto.getGameId())
+                .accountId(dto.getAccountId())
+                .firstRechargeMoney(dto.getFirstRechargeMoney())
+                .firstRechargeBackPercentage(dto.getFirstRechargeBackPercentage())
+                .bigRechargeBackPercentage(dto.getBigRechargeBackPercentage())
+                .bigRechargeMoney(dto.getBigRechargeMoney())
+                .otherRechargeBackPercentage(dto.getOtherRechargeBackPercentage())
+                .levelDown(dto.getLevelDown())
+                .updateBy(SecurityUtil.getUserId())
+                .updateTime(LocalDateTime.now())
+                .build();
+
+        return gameBackPolicyService.updateById(backPolicy);
+    }
+
+    @Override
+    public boolean deletePolicy(List<Long> ids) {
+        return gameBackPolicyService.removeByIds(ids);
+    }
+
+    @Override
+    public IPage<GameBackPolicyVO> policyList(GameBackPolicyListDTO dto) {
+        return gameBackPolicyService.page(dto.toPage(), new LambdaQueryWrapper<GameBackPolicy>()
+                        .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()))
+                .convert(item -> GameBackPolicyVO.builder()
+                        .id(item.getId())
+                        .backPolicyName(item.getBackPolicyName())
+                        .accountId(item.getAccountId())
+                        .bigRechargeBackPercentage(item.getBigRechargeBackPercentage())
+                        .bigRechargeMoney(item.getBigRechargeMoney())
+                        .firstRechargeBackPercentage(item.getFirstRechargeBackPercentage())
+                        .firstRechargeMoney(item.getFirstRechargeMoney())
+                        .otherRechargeBackPercentage(item.getOtherRechargeBackPercentage())
+                        .createBy(item.getCreateBy())
+                        .updateBy(item.getUpdateBy())
+                        .createName(sysUserRpc.getById(item.getCreateBy()).getData().getNickname())
+                        .updateName(sysUserRpc.getById(item.getUpdateBy()).getData().getNickName())
+                        .build());
+    }
+
+    private static boolean shouldDoTask(BigDecimal successProbability) {
+        Random random = new Random();
+        // 生成一个0到1之间的随机数
+        double randomValue = random.nextDouble();
+        // 如果随机数小于成功概率,则返回true,否则返回false
+        return successProbability.compareTo(BigDecimal.valueOf(randomValue)) > 0;
+    }
+}

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

@@ -0,0 +1,20 @@
+package com.zanxiang.game.back.serve.service.impl;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
+import com.zanxiang.game.back.serve.dao.mapper.GameTencentBackLogMapper;
+import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 回传日志表 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Service
+public class GameTencentBackLogServiceImpl extends ServiceImpl<GameTencentBackLogMapper, GameTencentBackLog> implements IGameTencentBackLogService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.zanxiang.game.back.serve.service.impl;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentOrder;
+import com.zanxiang.game.back.serve.dao.mapper.GameTencentOrderMapper;
+import com.zanxiang.game.back.serve.service.IGameTencentOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 游戏腾讯订单表 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Service
+public class GameTencentOrderServiceImpl extends ServiceImpl<GameTencentOrderMapper, GameTencentOrder> implements IGameTencentOrderService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.zanxiang.game.back.serve.service.impl;
+
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
+import com.zanxiang.game.back.serve.dao.mapper.GameTencentUserMapper;
+import com.zanxiang.game.back.serve.service.IGameTencentUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 游戏腾讯用户表 服务实现类
+ * </p>
+ *
+ * @author auto
+ * @since 2023-06-01
+ */
+@Service
+public class GameTencentUserServiceImpl extends ServiceImpl<GameTencentUserMapper, GameTencentUser> implements IGameTencentUserService {
+
+}

+ 5 - 0
game-back/game-back-serve/src/main/resources/mapper/GameBackPolicyMapper.xml

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

+ 5 - 0
game-back/game-back-serve/src/main/resources/mapper/GameTencentBackLogMapper.xml

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

+ 5 - 0
game-back/game-back-serve/src/main/resources/mapper/GameTencentOrderMapper.xml

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

+ 5 - 0
game-back/game-back-serve/src/main/resources/mapper/GameTencentUserMapper.xml

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