UserController.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package com.zanxiang.manage.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.zanxiang.common.domain.ResultVo;
  4. import com.zanxiang.common.enums.AuthPlatform;
  5. import com.zanxiang.common.enums.OsEnum;
  6. import com.zanxiang.common.enums.VipLevelEnum;
  7. import com.zanxiang.common.utils.bean.BeanUtils;
  8. import com.zanxiang.manage.domain.params.*;
  9. import com.zanxiang.manage.domain.vo.*;
  10. import com.zanxiang.manage.service.*;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import io.swagger.annotations.ApiResponse;
  14. import io.swagger.annotations.ApiResponses;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.Arrays;
  20. import java.util.List;
  21. /**
  22. * @author : lingfeng
  23. * @time : 2022-06-29
  24. * @description : 玩家管理接口
  25. */
  26. @Api(tags = {"玩家管理接口"})
  27. @RestController
  28. @RequestMapping("/user")
  29. @Slf4j
  30. public class UserController {
  31. @Autowired
  32. private UserExtService userExtService;
  33. @Autowired
  34. private GameUserRoleService gameUserRoleService;
  35. @Autowired
  36. private GameUserService gameUserService;
  37. @Autowired
  38. private UserService userService;
  39. @Autowired
  40. private UserAddressService userAddressService;
  41. @Autowired
  42. private UserLoginLogService userLoginLogService;
  43. @Autowired
  44. private OrderService orderService;
  45. @ApiOperation(value = "玩家列表")
  46. @PostMapping(value = "/list")
  47. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserListVO.class)})
  48. public ResultVo<IPage<UserListVO>> list(@Validated @RequestBody UserListParam param) {
  49. return ResultVo.ok(userService.list(param));
  50. }
  51. @ApiOperation(value = "玩家信息编辑")
  52. @PostMapping(value = "/update")
  53. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
  54. public ResultVo<Boolean> userUpdate(@Validated @RequestBody UserUpdateParam param) {
  55. return ResultVo.ok(userService.userUpdate(param));
  56. }
  57. @ApiOperation(value = "玩家详细信息")
  58. @GetMapping(value = "/info")
  59. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserVO.class)})
  60. public ResultVo<UserVO> getUserInfo(@RequestParam Long id) {
  61. return ResultVo.ok(userService.getUserInfo(id));
  62. }
  63. @ApiOperation(value = "玩家游戏角色列表")
  64. @GetMapping(value = "/game/role/list")
  65. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameUserRoleVO.class, responseContainer = "list")})
  66. public ResultVo<List<GameUserRoleVO>> roleList(@RequestParam Long userId) {
  67. return ResultVo.ok(gameUserRoleService.roleList(userId));
  68. }
  69. @ApiOperation(value = "玩家登录记录列表")
  70. @PostMapping(value = "/login/list")
  71. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserRoleLoginVO.class)})
  72. public ResultVo<IPage<UserRoleLoginVO>> loginList(@RequestBody UserLoginLogParam param) {
  73. return ResultVo.ok(userLoginLogService.loginList(param));
  74. }
  75. @ApiOperation(value = "玩家下单记录列表")
  76. @PostMapping(value = "/order/list")
  77. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserOrderListVO.class)})
  78. public ResultVo<IPage<UserOrderListVO>> orderList(@Validated @RequestBody UserOrderListParam param) {
  79. return ResultVo.ok(orderService.orderList(param));
  80. }
  81. @ApiOperation(value = "玩家收货地址列表")
  82. @GetMapping(value = "/address/list")
  83. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserAddressVO.class, responseContainer = "list")})
  84. public ResultVo<List<UserAddressVO>> list(@RequestParam Long userId) {
  85. return ResultVo.ok(userAddressService.list(userId));
  86. }
  87. @ApiOperation(value = "玩家游戏列表")
  88. @PostMapping(value = "/game/list")
  89. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameUserListVO.class)})
  90. public ResultVo<IPage<GameUserListVO>> gameUserList(@Validated @RequestBody GameUserListParam param) {
  91. return ResultVo.ok(gameUserService.gameUserList(param));
  92. }
  93. @ApiOperation(value = "玩家角色列表")
  94. @PostMapping(value = "/role/list")
  95. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameUserRoleListVO.class)})
  96. public ResultVo<IPage<GameUserRoleListVO>> roleList(@Validated @RequestBody GameUserRoleListParam param) {
  97. return ResultVo.ok(gameUserRoleService.list(param));
  98. }
  99. @ApiOperation(value = "vip等级选择列表选择列表")
  100. @GetMapping(value = "/vip/level/choice/list")
  101. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = VipLevelVo.class, responseContainer = "list")})
  102. public ResultVo<List<VipLevelVo>> vipLevelChoiceList() {
  103. return ResultVo.ok(BeanUtils.copyList(Arrays.asList(VipLevelEnum.values()), VipLevelVo.class));
  104. }
  105. @ApiOperation(value = "操作系统选择列表")
  106. @GetMapping(value = "/system/type/choice/list")
  107. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = SystemTypeVO.class, responseContainer = "list")})
  108. public ResultVo<List<SystemTypeVO>> systemTypeChoiceList() {
  109. return ResultVo.ok(BeanUtils.copyList(Arrays.asList(OsEnum.values()), SystemTypeVO.class));
  110. }
  111. @ApiOperation(value = "防沉迷认证平台选择列表")
  112. @GetMapping(value = "/auth/platform/choice/list")
  113. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = AuthPlatformVO.class, responseContainer = "list")})
  114. public ResultVo<List<AuthPlatformVO>> authPlatformChoiceList() {
  115. return ResultVo.ok(BeanUtils.copyList(Arrays.asList(AuthPlatform.values()), AuthPlatformVO.class));
  116. }
  117. @ApiOperation(value = "玩家实名认证列表")
  118. @PostMapping(value = "/auth/list")
  119. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserNameAuthVO.class)})
  120. public ResultVo<IPage<UserNameAuthVO>> authList(@Validated @RequestBody UserNameAuthListParam param) {
  121. return ResultVo.ok(userExtService.authList(param));
  122. }
  123. }