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.*; import com.zanxiang.manage.domain.vo.*; import com.zanxiang.manage.service.*; 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; @Autowired private GameUserRoleService gameUserRoleService; @Autowired private GameUserService gameUserService; @Autowired private UserService userService; @Autowired private UserAddressService userAddressService; @Autowired private UserLoginLogService userLoginLogService; @Autowired private OrderService orderService; @ApiOperation(value = "玩家列表") @PostMapping(value = "/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserListVO.class)}) public ResultVo> list(@Validated @RequestBody UserListParam param) { return ResultVo.ok(userService.list(param)); } @ApiOperation(value = "玩家信息编辑") @PostMapping(value = "/update") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)}) public ResultVo userUpdate(@Validated @RequestBody UserUpdateParam param) { return ResultVo.ok(userService.userUpdate(param)); } @ApiOperation(value = "玩家详细信息") @GetMapping(value = "/info") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserVO.class)}) public ResultVo getUserInfo(@RequestParam Long id) { return ResultVo.ok(userService.getUserInfo(id)); } @ApiOperation(value = "玩家游戏角色列表") @GetMapping(value = "/game/role/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameUserRoleVO.class, responseContainer = "list")}) public ResultVo> roleList(@RequestParam Long userId) { return ResultVo.ok(gameUserRoleService.roleList(userId)); } @ApiOperation(value = "玩家登录记录列表") @PostMapping(value = "/login/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserRoleLoginVO.class)}) public ResultVo> loginList(@RequestBody UserLoginLogParam param) { return ResultVo.ok(userLoginLogService.loginList(param)); } @ApiOperation(value = "玩家下单记录列表") @PostMapping(value = "/order/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserOrderListVO.class)}) public ResultVo> orderList(@Validated @RequestBody UserOrderListParam param) { return ResultVo.ok(orderService.orderList(param)); } @ApiOperation(value = "玩家收货地址列表") @GetMapping(value = "/address/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserAddressVO.class, responseContainer = "list")}) public ResultVo> list(@RequestParam Long userId) { return ResultVo.ok(userAddressService.list(userId)); } @ApiOperation(value = "玩家游戏列表") @PostMapping(value = "/game/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameUserListVO.class)}) public ResultVo> gameUserList(@Validated @RequestBody GameUserListParam param) { return ResultVo.ok(gameUserService.gameUserList(param)); } @ApiOperation(value = "玩家角色列表") @PostMapping(value = "/role/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameUserRoleListVO.class)}) public ResultVo> roleList(@Validated @RequestBody GameUserRoleListParam param) { return ResultVo.ok(gameUserRoleService.list(param)); } @ApiOperation(value = "vip等级选择列表选择列表") @GetMapping(value = "/vip/level/choice/list") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = VipLevelVo.class, responseContainer = "list")}) public ResultVo> 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> 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> 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> authList(@Validated @RequestBody UserNameAuthListParam param) { return ResultVo.ok(userExtService.authList(param)); } }