package com.yiboshi.science.rest.v1; import com.yiboshi.arch.base.ResponseDataModel; import com.yiboshi.science.base.Pagination; import com.yiboshi.science.config.annotation.Logs; import com.yiboshi.science.entity.SystemUser; import com.yiboshi.science.enumeration.CommonEnum; import com.yiboshi.science.param.dto.ComPersonDTO; import com.yiboshi.science.param.dto.SystemUserDTO; import com.yiboshi.science.param.query.SystemUserQueryVO; import com.yiboshi.science.rest.BaseController; import com.yiboshi.science.service.SystemUserRoleService; import com.yiboshi.science.service.SystemUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** * 功能:用户信息表 接口 * @author lkl * @version 2021-08-26 */ @Api(tags = "system-user",description = "用户信息表") @RestController @RequestMapping("/v1/science-admin/system-user") public class SystemUserController extends BaseController<SystemUserService,SystemUserQueryVO, SystemUserDTO, SystemUser> { @Autowired private SystemUserService systemUserService; @Autowired private SystemUserRoleService systemUserRoleService; /** * 功能:分页查询 * * @param vo 查询条件 */ @ApiOperation(value = "1.02 分页查询", httpMethod = "GET", notes = "1.02 根据参数获取列表") @GetMapping @RequestMapping("/getListByPage") @PreAuthorize("hasAnyRole('ADMIN')") public ResponseDataModel<Pagination<SystemUserDTO>> getListByPage(@Validated SystemUserQueryVO vo, BindingResult bindingResult) { Pagination<SystemUserDTO> page = systemUserService.getListByPage(vo); if (null != page && null != page.getDataList() && page.getDataList().size() != 0) { page.getDataList().forEach((e) -> { e.setStateName(CommonEnum.userState.getEnum(e.getNoteState()).getDescription()); }); } return ResponseDataModel.ok(page); } /** * 功能:修改人员状态 * * @param e 输入值 */ @ApiOperation(value = "1.02", httpMethod = "POST", notes = "1.02 修改人员状态") @RequestMapping("/updateState") @PostMapping @Logs(value = CommonEnum.logType.userStateUpdate) public ResponseDataModel<String> updateState(@RequestBody SystemUser e) { return ResponseDataModel.ok(systemUserService.updateStateById(e.getId(), e.getNoteState())); } @ApiOperation(value = "重置密码", httpMethod = "POST", notes = "重置密码") @RequestMapping("/resetUserPwd") @PostMapping @Logs(value = CommonEnum.logType.userReset) public ResponseDataModel<String> resetUserPwd(@Validated @RequestBody ComPersonDTO dto) { return ResponseDataModel.ok(systemUserService.resetPwd(dto)); } @ApiOperation(value = "通过Id获取用户信息", httpMethod = "GET", notes = "通过Id获取用户信息") @GetMapping @RequestMapping("/getSystemUserById") @PreAuthorize("hasAnyRole('ADMIN')") public ResponseDataModel<SystemUserDTO> getSystemUserById(String id) { SystemUserDTO systemUserDTO = systemUserService.getSystemUserById(id); systemUserDTO.setRole(systemUserRoleService.getRolesListByUserId(id)); return ResponseDataModel.ok(systemUserDTO); } @ApiOperation(value = "更新系统用户信息", httpMethod = "POST", notes = "更新系统用户信息") @RequestMapping("/updateSystemUser") @PostMapping @PreAuthorize("hasAnyRole('ADMIN')") public ResponseDataModel<String> updateSystemUser(@Validated @RequestBody SystemUserDTO dto) { return ResponseDataModel.ok(systemUserService.updateSystemUser(dto)); } }