Pārlūkot izejas kodu

feat : 玩家实名认证和角色列表相关接口提交

bilingfeng 2 gadi atpakaļ
vecāks
revīzija
d0e75ae50b
33 mainītis faili ar 1256 papildinājumiem un 17 dzēšanām
  1. 48 0
      game-module/game-common/src/main/java/com/zanxiang/common/enums/AuthPlatform.java
  2. 34 0
      game-module/game-common/src/main/java/com/zanxiang/common/enums/OsEnum.java
  3. 84 0
      game-module/game-common/src/main/java/com/zanxiang/common/enums/VipLevelEnum.java
  4. 38 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChannelController.java
  5. 10 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/CpController.java
  6. 38 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/GameController.java
  7. 104 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/UserController.java
  8. 109 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/UserGameRoleListParam.java
  9. 59 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/UserNameAuthListParam.java
  10. 25 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/AuthPlatformVO.java
  11. 27 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/ChannelChoiceVO.java
  12. 27 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/CpChoiceVO.java
  13. 25 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/GameChoiceVO.java
  14. 21 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/SystemTypeVO.java
  15. 1 1
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/UserBanVO.java
  16. 99 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/UserGameRoleListVO.java
  17. 70 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/UserNameAuthVO.java
  18. 25 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/VipLevelVo.java
  19. 22 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/ChannelService.java
  20. 10 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/CpService.java
  21. 10 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/GameService.java
  22. 38 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/ChannelServiceImpl.java
  23. 13 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/CpServiceImpl.java
  24. 13 2
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GameServiceImpl.java
  25. 92 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/UserExtServiceImpl.java
  26. 27 1
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/UserServiceImpl.java
  27. 23 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/UserExtService.java
  28. 12 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/UserService.java
  29. 103 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/GameUserRole.java
  30. 0 10
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/User.java
  31. 33 3
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/UserExt.java
  32. 12 0
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/GameUserRoleMapper.java
  33. 4 0
      game-module/game-mybatis/src/main/resources/mapper/GameUserRoleMapper.xml

+ 48 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/AuthPlatform.java

@@ -0,0 +1,48 @@
+package com.zanxiang.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Arrays;
+import java.util.Objects;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 实名认证平台
+ */
+@Getter
+@AllArgsConstructor
+public enum AuthPlatform {
+
+
+    /**
+     * 国家网络防沉迷
+     */
+    COUNTRY_PREVENT_WALLOW(1, "国家网络防沉迷");
+
+    /**
+     * 平台id
+     */
+    private Integer platformId;
+
+    /**
+     * 平台名称
+     */
+    private String platformName;
+
+    /**
+     * 根据平台id获取平台信息
+     *
+     * @param platformId : 平台id
+     * @return : 返回信息枚举值
+     */
+    public static AuthPlatform getByPlatformId(Integer platformId) {
+        if (platformId == null) {
+            return null;
+        }
+        return Arrays.stream(AuthPlatform.values())
+                .filter(p -> Objects.equals(platformId, p.getPlatformId()))
+                .findFirst().orElse(null);
+    }
+}

+ 34 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/OsEnum.java

@@ -0,0 +1,34 @@
+package com.zanxiang.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 操作系统类型
+ */
+@Getter
+@AllArgsConstructor
+public enum OsEnum {
+
+    /**
+     * 苹果
+     */
+    SYSTEM_IOS("ios", "苹果手机操作系统"),
+
+    /**
+     * 安卓
+     */
+    SYSTEM_ANDROID("android", "安卓手机操作系统");
+
+    /**
+     * 平台id
+     */
+    private String os;
+
+    /**
+     * 平台名称
+     */
+    private String osName;
+}

+ 84 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/VipLevelEnum.java

@@ -0,0 +1,84 @@
+package com.zanxiang.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : vip等级枚举
+ */
+@Getter
+@AllArgsConstructor
+public enum VipLevelEnum {
+
+    /**
+     * vip_0
+     */
+    VIP_LEVEL_ZERO(0, "0"),
+
+    /**
+     * vip_1
+     */
+    VIP_LEVEL_ONE(1, "1"),
+
+    /**
+     * vip_2
+     */
+    VIP_LEVEL_TWO(2, "2"),
+
+    /**
+     * vip_3
+     */
+    VIP_LEVEL_THREE(3, "3"),
+
+    /**
+     * vip_4
+     */
+    VIP_LEVEL_FOUR(4, "4"),
+
+    /**
+     * vip_5
+     */
+    VIP_LEVEL_FIVE(5, "5"),
+
+    /**
+     * vip_6
+     */
+    VIP_LEVEL_SIX(6, "6"),
+
+    /**
+     * vip_7
+     */
+    VIP_LEVEL_SEVEN(7, "7"),
+
+    /**
+     * vip_8
+     */
+    VIP_LEVEL_EIGHT(8, "8"),
+
+    /**
+     * vip_9
+     */
+    VIP_LEVEL_NINE(9, "9"),
+
+    /**
+     * vip_10
+     */
+    VIP_LEVEL_TEN(10, "10"),
+
+    /**
+     * vip_10以上
+     */
+    VIP_LEVEL_GT_TEN(1010, "10以上");
+
+    /**
+     * vip等级
+     */
+    private Integer vipLevel;
+
+    /**
+     * vip等级名称
+     */
+    private String vipLevelName;
+}

+ 38 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChannelController.java

@@ -0,0 +1,38 @@
+package com.zanxiang.manage.controller;
+
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.manage.domain.vo.ChannelChoiceVO;
+import com.zanxiang.manage.service.ChannelService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 渠道管理接口
+ */
+@Api(tags = {"渠道管理接口"})
+@RestController
+@RequestMapping("/channel")
+@Slf4j
+public class ChannelController {
+
+    @Autowired
+    private ChannelService channelService;
+
+    @ApiOperation(value = "渠道选择列表查询")
+    @GetMapping(value = "/choice/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = ChannelChoiceVO.class, responseContainer = "list")})
+    public ResultVo<List<ChannelChoiceVO>> choiceList() {
+        return new ResultVo<>(channelService.choiceList());
+    }
+}

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.common.domain.ResultVo;
 import com.zanxiang.manage.domain.params.CpAddUpdateParam;
 import com.zanxiang.manage.domain.params.CpListParam;
+import com.zanxiang.manage.domain.vo.CpChoiceVO;
 import com.zanxiang.manage.domain.vo.CpVO;
 import com.zanxiang.manage.service.CpService;
 import io.swagger.annotations.Api;
@@ -15,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @author : lingfeng
  * @time : 2022-06-22
@@ -29,6 +32,13 @@ public class CpController {
     @Autowired
     private CpService cpService;
 
+    @ApiOperation(value = "cp选择列表查询")
+    @GetMapping(value = "/choice/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = CpChoiceVO.class, responseContainer = "list")})
+    public ResultVo<List<CpChoiceVO>> choiceList() {
+        return new ResultVo<>(cpService.choiceList());
+    }
+
     @ApiOperation(value = "cp新增或者更新")
     @PostMapping(value = "/add/or/update")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})

+ 38 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/GameController.java

@@ -0,0 +1,38 @@
+package com.zanxiang.manage.controller;
+
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.manage.domain.vo.GameChoiceVO;
+import com.zanxiang.manage.service.GameService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 游戏管理接口
+ */
+@Api(tags = {"游戏管理接口"})
+@RestController
+@RequestMapping("/game")
+@Slf4j
+public class GameController {
+
+    @Autowired
+    private GameService gameService;
+
+    @ApiOperation(value = "游戏选择列表查询")
+    @GetMapping(value = "/choice/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameChoiceVO.class, responseContainer = "list")})
+    public ResultVo<List<GameChoiceVO>> choiceList() {
+        return new ResultVo<>(gameService.choiceList());
+    }
+}

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

@@ -0,0 +1,104 @@
+package com.zanxiang.manage.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.common.enums.AuthPlatform;
+import com.zanxiang.common.enums.OsEnum;
+import com.zanxiang.common.enums.VipLevelEnum;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.params.UserNameAuthListParam;
+import com.zanxiang.manage.domain.vo.AuthPlatformVO;
+import com.zanxiang.manage.domain.vo.SystemTypeVO;
+import com.zanxiang.manage.domain.vo.UserNameAuthVO;
+import com.zanxiang.manage.domain.vo.VipLevelVo;
+import com.zanxiang.manage.service.UserExtService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-29
+ * @description : 玩家管理接口
+ */
+@Api(tags = {"玩家管理接口"})
+@RestController
+@RequestMapping("/user")
+@Slf4j
+public class UserController {
+
+    @Autowired
+    private UserExtService userExtService;
+
+//    @ApiOperation(value = "玩家列表")
+//    @PostMapping(value = "/list")
+//    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = IpBanVO.class)})
+//    public ResultVo<IPage<IpBanVO>> list(@Validated @RequestBody IpBanListParam param) {
+//        return null;
+//    }
+//
+//    @ApiOperation(value = "玩家详细信息")
+//    @PostMapping(value = "/info")
+//    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = IpBanVO.class)})
+//    public ResultVo<IPage<IpBanVO>> info(@Validated @RequestBody IpBanListParam param) {
+//        return null;
+//    }
+//
+//    @ApiOperation(value = "玩家详细信息")
+//    @PostMapping(value = "/update")
+//    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = IpBanVO.class)})
+//    public ResultVo<IPage<IpBanVO>> update(@Validated @RequestBody IpBanListParam param) {
+//        return null;
+//    }
+//
+//    @ApiOperation(value = "玩家游戏列表")
+//    @PostMapping(value = "/game/list")
+//    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+//    public ResultVo<Boolean> gameList(@Validated @RequestBody IpBanAddParam param) {
+//        return null;
+//    }
+
+//
+//    @ApiOperation(value = "玩家角色列表")
+//    @PostMapping(value = "/role/list")
+//    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+//    public ResultVo<Boolean> roleList(@Validated @RequestBody IpBanUpdateParam param) {
+//        return null;
+//    }
+
+    @ApiOperation(value = "vip等级选择列表选择列表")
+    @GetMapping(value = "/vip/level/choice/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = VipLevelVo.class, responseContainer = "list")})
+    public ResultVo<List<VipLevelVo>> vipLevelChoiceList() {
+        return ResultVo.ok(BeanUtils.copyList(Arrays.asList(VipLevelEnum.values()), VipLevelVo.class));
+    }
+
+    @ApiOperation(value = "操作系统选择列表")
+    @GetMapping(value = "/system/type/choice/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = SystemTypeVO.class, responseContainer = "list")})
+    public ResultVo<List<SystemTypeVO>> systemTypeChoiceList() {
+        return ResultVo.ok(BeanUtils.copyList(Arrays.asList(OsEnum.values()), SystemTypeVO.class));
+    }
+
+    @ApiOperation(value = "防沉迷认证平台选择列表")
+    @GetMapping(value = "/auth/platform/choice/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = AuthPlatformVO.class, responseContainer = "list")})
+    public ResultVo<List<AuthPlatformVO>> authPlatformChoiceList() {
+        return ResultVo.ok(BeanUtils.copyList(Arrays.asList(AuthPlatform.values()), AuthPlatformVO.class));
+    }
+
+    @ApiOperation(value = "玩家实名认证列表")
+    @PostMapping(value = "/auth/list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserNameAuthVO.class)})
+    public ResultVo<IPage<UserNameAuthVO>> authList(@Validated @RequestBody UserNameAuthListParam param) {
+        return ResultVo.ok(userExtService.authList(param));
+    }
+}

+ 109 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/UserGameRoleListParam.java

@@ -0,0 +1,109 @@
+package com.zanxiang.manage.domain.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 玩家角色列表查询参数
+ */
+@ApiModel
+@Data
+public class UserGameRoleListParam {
+
+    /**
+     * 玩家id
+     */
+    @ApiModelProperty(notes = "玩家id")
+    private Long userId;
+
+    /**
+     * 玩家账号
+     */
+    @ApiModelProperty(notes = "玩家账号")
+    private String userName;
+
+    /**
+     * 玩家昵称
+     */
+    @ApiModelProperty(notes = "玩家昵称")
+    private String nickname;
+
+    /**
+     * 注册IP
+     */
+    @ApiModelProperty(notes = "注册IP")
+    private String regIp;
+
+    /**
+     * 游戏区服
+     */
+    @ApiModelProperty(notes = "游戏区服")
+    private String serverName;
+
+    /**
+     * 游戏角色
+     */
+    @ApiModelProperty(notes = "游戏角色")
+    private String roleName;
+
+    /**
+     * cp名称对应的id
+     */
+    @ApiModelProperty(notes = "cp名称对应的id")
+    private Long cpId;
+
+    /**
+     * 游戏名称对应的id
+     */
+    @ApiModelProperty(notes = "游戏名称对应的id")
+    private Long gameId;
+
+    /**
+     * 游戏应用类型对应的id
+     */
+    @ApiModelProperty(notes = "游戏应用类型对应的id")
+    private Long gameCategoryId;
+
+    /**
+     * 注册渠道对应的id
+     */
+    @ApiModelProperty(notes = "注册渠道对应的id")
+    private Long channelId;
+
+    /**
+     * 操作系统对应的id
+     */
+    @ApiModelProperty(notes = "操作系统对应的id, 全部 : null或者不传")
+    private String os;
+
+    /**
+     * 是否充值
+     */
+    @ApiModelProperty(notes = "是否充值, true : 是, false : 否, 全部 : null或者不传")
+    private Boolean isRecharge;
+
+    /**
+     * 角色vip
+     */
+    @ApiModelProperty(notes = "角色vip, 全部 : null或者不传")
+    private Integer vipLevel;
+
+    /**
+     * 最近充值开始时间(注册开始时间请使用beginDate参数)
+     */
+    @ApiModelProperty(notes = "最近充值开始时间(注册开始时间请使用beginDate参数)")
+    private LocalDate rechargeBeginDate;
+
+    /**
+     * 最近充值结束时间(注册结束时间请使用endDate参数)
+     */
+    @ApiModelProperty(notes = "最近充值结束时间(注册结束时间请使用endDate参数)")
+    private LocalDate rechargeEndDate;
+
+
+}

+ 59 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/UserNameAuthListParam.java

@@ -0,0 +1,59 @@
+package com.zanxiang.manage.domain.params;
+
+import com.zanxiang.common.base.BasePage;
+import com.zanxiang.mybatis.entity.UserExt;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-29
+ * @description : 玩家实名认证列表参数
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserNameAuthListParam extends BasePage<UserExt> {
+
+    /**
+     * 玩家id
+     */
+    @ApiModelProperty(notes = "玩家id")
+    private Long userId;
+
+    /**
+     * 玩家账号
+     */
+    @ApiModelProperty(notes = "玩家账号")
+    private String userName;
+
+    /**
+     * 玩家昵称
+     */
+    @ApiModelProperty(notes = "玩家昵称")
+    private String nickname;
+
+    /**
+     * 认证平台
+     */
+    @ApiModelProperty(notes = "认证平台")
+    private Integer platformId;
+
+    /**
+     * 真实姓名
+     */
+    @ApiModelProperty(notes = "真实姓名")
+    private String realName;
+
+    /**
+     * 身份证号码
+     */
+    @ApiModelProperty(notes = "身份证号码")
+    private String idCard;
+
+    /**
+     * 中宣部PI
+     */
+    @ApiModelProperty(notes = "中宣部PI")
+    private String zxbPi;
+}

+ 25 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/AuthPlatformVO.java

@@ -0,0 +1,25 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 防沉迷认证平台
+ */
+@Data
+public class AuthPlatformVO {
+
+    /**
+     * 平台id
+     */
+    @ApiModelProperty(notes = "平台id")
+    private Integer platformId;
+
+    /**
+     * 平台名称
+     */
+    @ApiModelProperty(notes = "平台名称")
+    private String platformName;
+}

+ 27 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/ChannelChoiceVO.java

@@ -0,0 +1,27 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 渠道选择信息
+ */
+@Data
+@Builder
+public class ChannelChoiceVO {
+
+    /**
+     * 渠道id
+     */
+    @ApiModelProperty(notes = "渠道id")
+    private Long id;
+
+    /**
+     * 渠道标识
+     */
+    @ApiModelProperty(notes = "渠道标识")
+    private String channelSign;
+}

+ 27 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/CpChoiceVO.java

@@ -0,0 +1,27 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : CP选择
+ */
+@ApiModel
+@Data
+public class CpChoiceVO {
+
+    /**
+     * id
+     */
+    @ApiModelProperty(notes = "id")
+    private Long id;
+
+    /**
+     * cp名称
+     */
+    @ApiModelProperty(notes = "cp名称")
+    private String cpName;
+}

+ 25 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/GameChoiceVO.java

@@ -0,0 +1,25 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 游戏选择列表
+ */
+@Data
+public class GameChoiceVO {
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty(notes = "游戏ID")
+    private Long id;
+
+    /**
+     * 游戏名称
+     */
+    @ApiModelProperty(notes = "游戏名称")
+    private String name;
+}

+ 21 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/SystemTypeVO.java

@@ -0,0 +1,21 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 操作系统
+ */
+@ApiModel
+@Data
+public class SystemTypeVO {
+
+    /**
+     * 操作系统
+     */
+    @ApiModelProperty(notes = "操作系统")
+    private String os;
+}

+ 1 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/UserBanVO.java

@@ -23,7 +23,7 @@ public class UserBanVO {
      * 用户id
      */
     @ApiModelProperty(notes = "用户id")
-    private String userId;
+    private Long userId;
 
     /**
      * 用户账号

+ 99 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/UserGameRoleListVO.java

@@ -0,0 +1,99 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 玩家角色列表
+ */
+public class UserGameRoleListVO {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 玩家id
+     */
+    @ApiModelProperty(notes = "玩家id")
+    private Long userId;
+
+    /**
+     * 玩家账号
+     */
+    @ApiModelProperty(notes = "玩家账号")
+    private String username;
+
+    /**
+     * 玩家昵称
+     */
+    @ApiModelProperty(notes = "玩家昵称")
+    private String nickname;
+
+    /**
+     * 注册IP
+     */
+    private String regIp;
+
+    /**
+     * 玩家注册时间
+     */
+    private LocalDateTime regTime;
+
+    /**
+     * 注册渠道
+     */
+    private String channelSign;
+
+    /**
+     * cp名称
+     */
+    private String cpName;
+
+    /**
+     * 游戏名称
+     */
+    private String gameName;
+
+    /**
+     * 游戏应用类型
+     */
+    private String gameCategoryName;
+
+    /**
+     * 游戏区服
+     */
+    private String serverName;
+
+    /**
+     * 游戏角色
+     */
+    private String roleName;
+
+    /**
+     * 游戏角色id
+     */
+    private String roleId;
+
+    /**
+     * 游戏战力
+     */
+    private Long rolePower;
+
+    /**
+     * 角色vip
+     */
+    private Long vipLevel;
+
+    /**
+     * 操作系统
+     */
+    private String os;
+
+//    private BigDecimal
+}

+ 70 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/UserNameAuthVO.java

@@ -0,0 +1,70 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-29
+ * @description : 用户实名认证信息
+ */
+@Data
+public class UserNameAuthVO {
+
+    /**
+     * 玩家id
+     */
+    @ApiModelProperty(notes = "玩家id")
+    private Long userId;
+
+    /**
+     * 玩家账号
+     */
+    @ApiModelProperty(notes = "玩家账号")
+    private String username;
+
+    /**
+     * 玩家昵称
+     */
+    @ApiModelProperty(notes = "玩家昵称")
+    private String nickname;
+
+    /**
+     * 注册时间
+     */
+    @ApiModelProperty(notes = "注册时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 实名认证平台, 1 国家网络防沉迷
+     */
+    @ApiModelProperty(notes = "实名认证平台, 1 国家网络防沉迷")
+    private Integer authPlatform;
+
+    /**
+     * 真实姓名
+     */
+    @ApiModelProperty(notes = "真实姓名")
+    private String realName;
+
+    /**
+     * 中宣部PI
+     */
+    @ApiModelProperty(notes = "中宣部PI")
+    private String zxbPi;
+
+    /**
+     * 实名认证时间
+     */
+    @ApiModelProperty(notes = "创建时间, 实名认证时间")
+    private LocalDateTime authTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty(notes = "更新时间")
+    private LocalDateTime updateTime;
+
+}

+ 25 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/VipLevelVo.java

@@ -0,0 +1,25 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 角色vip等级
+ */
+@Data
+public class VipLevelVo {
+
+    /**
+     * vip等级
+     */
+    @ApiModelProperty(notes = "vip等级")
+    private Integer vipLevel;
+
+    /**
+     * vip等级名称
+     */
+    @ApiModelProperty(notes = "vip等级名称")
+    private String vipLevelName;
+}

+ 22 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/ChannelService.java

@@ -0,0 +1,22 @@
+package com.zanxiang.manage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.vo.ChannelChoiceVO;
+import com.zanxiang.mybatis.entity.Channel;
+
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 渠道
+ */
+public interface ChannelService extends IService<Channel> {
+
+    /**
+     * 查询渠道选择列表
+     *
+     * @return : 返回所有cp信息
+     */
+    List<ChannelChoiceVO> choiceList();
+}

+ 10 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/CpService.java

@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.manage.domain.params.CpAddUpdateParam;
 import com.zanxiang.manage.domain.params.CpListParam;
+import com.zanxiang.manage.domain.vo.CpChoiceVO;
 import com.zanxiang.manage.domain.vo.CpVO;
 import com.zanxiang.mybatis.entity.Cp;
 
+import java.util.List;
+
 /**
  * @author : lingfeng
  * @time : 2022-06-22
@@ -30,6 +33,13 @@ public interface CpService extends IService<Cp> {
      */
     IPage<CpVO> list(CpListParam param);
 
+    /**
+     * 查询cp选择列表
+     *
+     * @return : 返回所有cp信息
+     */
+    List<CpChoiceVO> choiceList();
+
     /**
      * 删除cp信息
      *

+ 10 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/GameService.java

@@ -1,12 +1,22 @@
 package com.zanxiang.manage.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.vo.GameChoiceVO;
 import com.zanxiang.mybatis.entity.Game;
 
+import java.util.List;
+
 /**
  * @author : lingfeng
  * @time : 2022-06-24
  * @description : 游戏逻辑
  */
 public interface GameService extends IService<Game> {
+
+    /**
+     * 游戏选择列表查询
+     *
+     * @return : 返回所有游戏信息
+     */
+    List<GameChoiceVO> choiceList();
 }

+ 38 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/ChannelServiceImpl.java

@@ -0,0 +1,38 @@
+package com.zanxiang.manage.service.Impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.manage.domain.vo.ChannelChoiceVO;
+import com.zanxiang.manage.service.ChannelService;
+import com.zanxiang.mybatis.entity.Channel;
+import com.zanxiang.mybatis.mapper.ChannelMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 渠道
+ */
+@Slf4j
+@Service
+public class ChannelServiceImpl extends ServiceImpl<ChannelMapper, Channel> implements ChannelService {
+
+    /**
+     * 查询渠道选择列表
+     *
+     * @return : 返回所有cp信息
+     */
+    @Override
+    public List<ChannelChoiceVO> choiceList() {
+        ChannelChoiceVO choice1 = ChannelChoiceVO.builder()
+                .id(1L)
+                .channelSign("szqremenshouyoubabangtuijianpyq|邵邵-烈火骑士-热门手游霸榜推荐-朋友圈").build();
+        ChannelChoiceVO choice2 = ChannelChoiceVO.builder()
+                .id(2L)
+                .channelSign("SZQhuoreshouyouxinzhanbaoJL(szq-奇迹战神-火热手游新战报-激励-巨网)").build();
+        return Arrays.asList(choice1, choice2);
+    }
+}

+ 13 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/CpServiceImpl.java

@@ -9,6 +9,7 @@ import com.zanxiang.common.utils.StringUtils;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.manage.domain.params.CpAddUpdateParam;
 import com.zanxiang.manage.domain.params.CpListParam;
+import com.zanxiang.manage.domain.vo.CpChoiceVO;
 import com.zanxiang.manage.domain.vo.CpVO;
 import com.zanxiang.manage.service.CpService;
 import com.zanxiang.mybatis.entity.Cp;
@@ -17,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -98,6 +100,17 @@ public class CpServiceImpl extends ServiceImpl<CpMapper, Cp> implements CpServic
         return BeanUtils.copy(cp, CpVO.class);
     }
 
+    /**
+     * 查询cp选择列表
+     *
+     * @return : 返回所有cp信息
+     */
+    @Override
+    public List<CpChoiceVO> choiceList() {
+        List<Cp> cpList = super.list(new LambdaQueryWrapper<Cp>().select(Cp::getId, Cp::getCpName));
+        return BeanUtils.copyList(cpList, CpChoiceVO.class);
+    }
+
     /**
      * 删除cp信息
      *

+ 13 - 2
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GameServiceImpl.java

@@ -1,12 +1,17 @@
 package com.zanxiang.manage.service.Impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.vo.GameChoiceVO;
 import com.zanxiang.manage.service.GameService;
 import com.zanxiang.mybatis.entity.Game;
 import com.zanxiang.mybatis.mapper.GameMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author : lingfeng
  * @time : 2022-06-24
@@ -17,7 +22,13 @@ import org.springframework.stereotype.Service;
 public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements GameService {
 
     /**
-     * 新增游戏
+     * 游戏选择列表查询
+     *
+     * @return : 返回所有游戏信息
      */
-
+    @Override
+    public List<GameChoiceVO> choiceList() {
+        List<Game> gameList = super.list(new LambdaQueryWrapper<Game>().select(Game::getId, Game::getName));
+        return BeanUtils.copyList(gameList, GameChoiceVO.class);
+    }
 }

+ 92 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/UserExtServiceImpl.java

@@ -0,0 +1,92 @@
+package com.zanxiang.manage.service.Impl;
+
+import com.alibaba.nacos.common.utils.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.dto.UserDTO;
+import com.zanxiang.manage.domain.params.UserNameAuthListParam;
+import com.zanxiang.manage.domain.vo.UserNameAuthVO;
+import com.zanxiang.manage.service.UserExtService;
+import com.zanxiang.manage.service.UserService;
+import com.zanxiang.mybatis.entity.UserExt;
+import com.zanxiang.mybatis.mapper.UserExtMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-29
+ * @description : 玩家拓展信息
+ */
+@Slf4j
+@Service
+public class UserExtServiceImpl extends ServiceImpl<UserExtMapper, UserExt> implements UserExtService {
+
+    @Autowired
+    private UserService userService;
+
+    /**
+     * 获取玩家实名认证列表
+     *
+     * @param param : 查询参数
+     * @return : 返回单页数据
+     */
+    @Override
+    public IPage<UserNameAuthVO> authList(UserNameAuthListParam param) {
+        String userName = param.getUserName();
+        String nickname = param.getNickname();
+        //玩家账号和玩家昵称涉及的玩家条件
+        List<UserDTO> userDTOList = userService.getLikeUserNameOrNickName(userName, nickname);
+        //玩家信息map
+        Map<Long, UserDTO> map = userDTOList.stream().collect(Collectors.toMap(UserDTO::getId, Function.identity()));
+        //玩家id列表
+        List<Long> userIdList = userDTOList.stream().map(UserDTO::getId).collect(Collectors.toList());
+        return page(param.toPage(), new QueryWrapper<UserExt>().lambda()
+                .eq(UserExt::getIsAuth, Boolean.TRUE)
+                .eq(param.getUserId() != null, UserExt::getUserId, param.getUserId())
+                .in(CollectionUtils.isNotEmpty(userIdList), UserExt::getUserId, userIdList)
+                .ge(param.getBeginDate() != null, UserExt::getCreateTime, param.getBeginDate() == null ? null : LocalDateTime.of(param.getBeginDate(), LocalTime.MIN))
+                .le(param.getEndDate() != null, UserExt::getCreateTime, param.getEndDate() == null ? null : LocalDateTime.of(param.getEndDate(), LocalTime.MAX))
+                .eq(param.getPlatformId() != null, UserExt::getAuthPlatform, param.getPlatformId())
+                .eq(Strings.isNotBlank(param.getRealName()), UserExt::getRealName, param.getRealName())
+                .eq(Strings.isNotBlank(param.getIdCard()), UserExt::getIdCard, param.getIdCard())
+                .eq(Strings.isNotBlank(param.getZxbPi()), UserExt::getZxbPi, param.getZxbPi())
+                .orderByDesc(UserExt::getCreateTime))
+                .convert(u -> this.toVo(u, map));
+    }
+
+    /**
+     * 玩家实名认证信息转化
+     *
+     * @param userExt : 玩家实名信息
+     * @return : 返回玩家实名信息
+     */
+    private UserNameAuthVO toVo(UserExt userExt, Map<Long, UserDTO> map) {
+        UserNameAuthVO userNameAuthVO = BeanUtils.copy(userExt, UserNameAuthVO.class);
+        if (Objects.isNull(userNameAuthVO)) {
+            return null;
+        }
+        UserDTO userDTO = map.get(userNameAuthVO.getUserId());
+        if (userDTO == null) {
+            userDTO = userService.getById(userNameAuthVO.getUserId());
+        }
+        if (userDTO != null) {
+            userNameAuthVO.setUsername(userDTO.getUsername());
+            userNameAuthVO.setNickname(userDTO.getNickname());
+        }
+        return userNameAuthVO;
+    }
+
+}

+ 27 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/UserServiceImpl.java

@@ -1,5 +1,7 @@
 package com.zanxiang.manage.service.Impl;
 
+import com.alibaba.nacos.common.utils.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.manage.domain.dto.UserDTO;
@@ -7,20 +9,44 @@ import com.zanxiang.manage.service.UserService;
 import com.zanxiang.mybatis.entity.User;
 import com.zanxiang.mybatis.mapper.UserMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * @author : lingfeng
  * @time : 2022-06-07
- * @description : 用户信息
+ * @description : 用户玩家
  */
 @Slf4j
 @Service
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
+    /**
+     * 根据玩家账号或者昵称模糊查询玩家列表
+     *
+     * @param userName : 玩家账号
+     * @param nickname : 玩家昵称
+     * @return : 返回玩家信息
+     */
+    @Override
+    public List<UserDTO> getLikeUserNameOrNickName(String userName, String nickname) {
+        List<User> userList = super.list(new LambdaQueryWrapper<User>()
+                .like(Strings.isNotBlank(userName), User::getUsername, userName)
+                .like(Strings.isNotBlank(nickname), User::getNickname, nickname)
+                .select(User::getId, User::getUsername, User::getNickname));
+        if (CollectionUtils.isEmpty(userList)) {
+            return Collections.emptyList();
+        }
+        return BeanUtils.copyList(userList, UserDTO.class);
+    }
+
     /**
      * 根据用户id查询信息
      *
+     * @param userId : 返回用户信息
      * @return : 返回用户信息
      */
     @Override

+ 23 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/UserExtService.java

@@ -0,0 +1,23 @@
+package com.zanxiang.manage.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.params.UserNameAuthListParam;
+import com.zanxiang.manage.domain.vo.UserNameAuthVO;
+import com.zanxiang.mybatis.entity.UserExt;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-29
+ * @description : 玩家拓展信息
+ */
+public interface UserExtService extends IService<UserExt> {
+
+    /**
+     * 获取玩家实名认证列表
+     *
+     * @param param : 查询参数
+     * @return : 返回单页数据
+     */
+    IPage<UserNameAuthVO> authList(UserNameAuthListParam param);
+}

+ 12 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/UserService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.manage.domain.dto.UserDTO;
 import com.zanxiang.mybatis.entity.User;
 
+import java.util.List;
+
 /**
  * @author : lingfeng
  * @time : 2022-06-08
@@ -11,9 +13,19 @@ import com.zanxiang.mybatis.entity.User;
  */
 public interface UserService extends IService<User> {
 
+    /**
+     * 根据玩家账号或者昵称模糊查询玩家列表
+     *
+     * @param userName : 玩家账号
+     * @param nickname : 玩家昵称
+     * @return : 返回玩家信息
+     */
+    List<UserDTO> getLikeUserNameOrNickName(String userName, String nickname);
+
     /**
      * 根据用户id查询信息
      *
+     * @param userId : 返回用户信息
      * @return : 返回用户信息
      */
     UserDTO getById(Long userId);

+ 103 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/GameUserRole.java

@@ -0,0 +1,103 @@
+package com.zanxiang.mybatis.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : 玩家游戏角色表
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ToString
+@Builder
+@TableName("h_game_user_role")
+public class GameUserRole {
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 玩家用户id
+     */
+    private Long userId;
+
+    /**
+     * 游戏用户id, 对应game_user主键id
+     */
+    private Long gameUserId;
+
+    /**
+     * 游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 游戏服务器id,默认为0
+     */
+    private String serverId;
+
+    /**
+     * 所在服务器名称
+     */
+    private String serverName;
+
+    /**
+     * 角色id
+     */
+    private String roleId;
+
+    /**
+     * 角色名称
+     */
+    private String roleName;
+
+    /**
+     * 角色等级
+     */
+    private Long roleLevel;
+
+    /**
+     * 角色VIP
+     */
+    private Long roleVip;
+
+    /**
+     * 金钱
+     */
+    private Double money;
+
+    /**
+     * 玩家角色战力
+     */
+    private Long combatNum;
+
+    /**
+     * 扩展信息
+     */
+    private String ext;
+
+    /**
+     * 操作系统
+     */
+    private String os;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+}

+ 0 - 10
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/User.java

@@ -41,16 +41,6 @@ public class User {
      */
     private String nickname;
 
-    /**
-     * 注册手机号
-     */
-    private String regMobile;
-
-    /**
-     * 注册邮箱
-     */
-    private String regEmail;
-
     /**
      * 密码
      */

+ 33 - 3
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/UserExt.java

@@ -22,7 +22,7 @@ public class UserExt {
     /**
      * user_id
      */
-    @TableId(value = "id")
+    @TableId(value = "user_id")
     private Long userId;
 
     /**
@@ -30,21 +30,51 @@ public class UserExt {
      */
     private String regIp;
 
+    /**
+     * 注册手机号
+     */
+    private String regMobile;
+
+    /**
+     * 注册邮箱
+     */
+    private String regEmail;
+
     /**
      * 真实姓名
      */
     private String realName;
 
+    /**
+     * 是否实名认证
+     */
+    private Boolean isAuth;
+
     /**
      * 身份证类型 1、身份证
      */
-    private Boolean identifyType;
+    private Integer identifyType;
 
     /**
-     * 身份
+     * 证件号码
      */
     private String idCard;
 
+    /**
+     * 实名认证平台, 1 国家网络防沉迷
+     */
+    private Integer authPlatform;
+
+    /**
+     * 实名认证时间
+     */
+    private LocalDateTime authTime;
+
+    /**
+     * 中宣部PI
+     */
+    private String zxbPi;
+
     /**
      * 上次登录时间
      */

+ 12 - 0
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/mapper/GameUserRoleMapper.java

@@ -0,0 +1,12 @@
+package com.zanxiang.mybatis.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zanxiang.mybatis.entity.GameUserRole;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-30
+ * @description : ${description}
+ */
+public interface GameUserRoleMapper extends BaseMapper<GameUserRole> {
+}

+ 4 - 0
game-module/game-mybatis/src/main/resources/mapper/GameUserRoleMapper.xml

@@ -0,0 +1,4 @@
+<?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.mybatis.mapper.GameUserRoleMapper">
+</mapper>