package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.common.request.BatchReq; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.user.UserDto; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.user.UserState; 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 = "管理后台/用户管理") @CrossOrigin @RequestMapping("/admin/user") @RestController @Validated public class UserController { @Resource private UserService userService; @ApiOperation(value = "用户列表", notes = "用户列表的介绍说明") @PostMapping("/list") public Result> list(@ApiParam(value = "查询关键字") @RequestParam(value = "keyword", required = false) String keyword, @ApiParam(value = "岗位ID") @RequestParam(value = "roleId", required = false) Integer roleId, @ApiParam(value = "分页参数") @Validated @RequestBody PageReq pageReq) { return Result.success(userService.list(keyword, roleId, pageReq)); } @ApiOperation(value = "添加用户") @PostMapping("/add") public Result add(@ApiParam(hidden = true) Session session, @Validated @RequestBody UserDto userDto) { userService.add((User) session.getUser(), userDto); return Result.success(); } @ApiOperation(value = "修改用户") @PostMapping("/edit") public Result edit(@Validated @RequestBody UserDto userDto) { userService.edit(userDto); return Result.success(); } @ApiOperation(value = "重置密码") @GetMapping("/reset/pass") public Result resetPass(@ApiParam(value = "用户ID") @RequestParam("id") Integer id) { userService.resetPass(id); return Result.success(); } @ApiOperation(value = "修改状态") @GetMapping("/modify/state") public Result modifyState(@ApiParam(value = "用户ID") @RequestParam("id") Integer id, @ApiParam(value = "状态") @RequestParam("state") UserState state) { userService.modifyState(id, state); return Result.success(); } @ApiOperation(value = "批量删除", notes = "逻辑删除,非物理删除") @PostMapping("/del") public Result delete(@ApiParam(value = "用户ID") @RequestBody BatchReq request) { userService.deleteAllById(request.getIds()); return Result.success(); } }