package com.estate.expert.admin.controller.app; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.user.UserDto; import com.estate.expert.admin.enums.BizResultCode; import com.estate.expert.admin.service.RoleService; import com.estate.expert.admin.service.UserService; import com.estate.expert.common.domain.Session; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * 个人信息控制 **/ @Slf4j @Api(tags = "个人/基础") @RequestMapping("/personal/basic") @RestController public class PersonalController { @Resource private UserService userService; @Resource private RoleService roleService; @ApiOperation(value = "用户信息") @GetMapping("/info") public Result userInfo(@ApiParam(hidden = true) Session session) { return Result.success(userService.toDto(userService.get(session.getUserId()))); } @ApiOperation(value = "用户信息修改") @PostMapping("/update") public Result update(@ApiParam(hidden = true) Session session, @Validated @RequestBody UserDto dto) { userService.updatePersonalInfo((User) session.getUser(), dto); return Result.success(); } @ApiOperation(value = "修改密码") @PostMapping("/password/update") public Result updatePassword(@ApiParam(hidden = true) Session session, @RequestParam String oldPassword, @RequestParam String newPassword) { userService.updatePassword((User) session.getUser(), oldPassword, newPassword); return Result.success(); } @ApiOperation(value = "用户权限列表") @GetMapping("/permission/list") public Result permissionList(@ApiParam(hidden = true) Session session) { var user = (User)session.getUser(); var role = roleService.get(user.getRoleId()); BizResultCode.ROLE_NOT_FOUND.check(role == null); return Result.success(role.getPermissionIds()); } }