| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.sun.org.apache.bcel.internal.generic.NEW; |
| | | import com.xinquan.common.core.domain.R; |
| | | import com.xinquan.common.core.utils.StringUtils; |
| | | import com.xinquan.common.core.utils.page.PageDTO; |
| | | import com.xinquan.common.core.utils.poi.ExcelUtil; |
| | | import com.xinquan.common.core.web.controller.BaseController; |
| | | import com.xinquan.common.core.web.domain.AjaxResult; |
| | |
| | | import com.xinquan.common.log.enums.BusinessType; |
| | | import com.xinquan.common.security.annotation.InnerAuth; |
| | | import com.xinquan.common.security.annotation.RequiresPermissions; |
| | | import com.xinquan.common.security.service.TokenService; |
| | | import com.xinquan.common.security.utils.SecurityUtils; |
| | | import com.xinquan.system.api.domain.SysDept; |
| | | import com.xinquan.system.api.domain.SysRole; |
| | | import com.xinquan.system.api.domain.SysUser; |
| | | import com.xinquan.system.api.domain.vo.SysUserVO; |
| | | import com.xinquan.system.api.model.LoginUser; |
| | | import com.xinquan.system.domain.Banner; |
| | | import com.xinquan.system.domain.SysUserDept; |
| | | import com.xinquan.system.domain.SysUserRole; |
| | | import com.xinquan.system.service.ISysConfigService; |
| | | import com.xinquan.system.service.ISysDeptService; |
| | | import com.xinquan.system.service.ISysPermissionService; |
| | | import com.xinquan.system.service.ISysPostService; |
| | | import com.xinquan.system.service.ISysRoleService; |
| | | import com.xinquan.system.service.ISysUserRoleService; |
| | | import com.xinquan.system.service.ISysUserService; |
| | | import com.xinquan.system.domain.dto.SysUserQuery; |
| | | import com.xinquan.system.domain.dto.SysUserUpdateStatusDTO; |
| | | import com.xinquan.system.domain.dto.UpdatePwdDTO; |
| | | import com.xinquan.system.service.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Api(tags = "用户信息") |
| | | @RestController |
| | | @RequestMapping("/user") |
| | | @Api(tags = "用户信息") |
| | | public class SysUserController extends BaseController { |
| | | public class SysUserController extends BaseController |
| | | { |
| | | @Autowired |
| | | private ISysUserService userService; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private ISysDeptService deptService; |
| | | @Autowired |
| | | private TokenService tokenService; |
| | | @Autowired |
| | | private ISysUserRoleService sysUserRoleService; |
| | | |
| | | @Autowired |
| | | private ISysPostService postService; |
| | | |
| | | @Autowired |
| | | private ISysPermissionService permissionService; |
| | | @Resource |
| | | private ISysUserDeptService sysUserDeptService; |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Autowired |
| | | private ISysUserRoleService userRoleService; |
| | | |
| | | @Autowired |
| | | private ISysUserRoleService sysUserRoleService; |
| | | @PostMapping("/removeByAppUserId/{id}") |
| | | public AjaxResult removeByAppUserId(@PathVariable("id") Long id) |
| | | { |
| | | SysUser byId = userService.getById(id); |
| | | userService.removeById(byId); |
| | | return AjaxResult.success(); |
| | | } |
| | | /** |
| | | * 获取用户列表 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperation("管理员列表") |
| | | public AjaxResult list(String phonenumber, int pageNumber, int pageSize) { |
| | | PageInfo<SysUser> pageInfo = new PageInfo<>(pageNumber, pageSize); |
| | | PageInfo<SysUser> page = userService.getList(pageInfo, phonenumber); |
| | | return AjaxResult.success(page); |
| | | @ApiOperation(value = "获取用户列表") |
| | | @PostMapping("/list") |
| | | public AjaxResult<PageDTO<SysUserVO>> list(@RequestBody SysUserQuery query) |
| | | { |
| | | Page<SysUserVO> res = new Page<>(query.getPageCurr(), query.getPageSize()); |
| | | |
| | | PageInfo<SysUserVO> list = userService.pageList(query); |
| | | for (SysUserVO record : list.getRecords()) { |
| | | List<Long> collect1 = sysUserRoleService.lambdaQuery().eq(SysUserRole::getUserId, record.getUserId()) |
| | | .list().stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); |
| | | List<Long> longs1 = new ArrayList<>(); |
| | | for (Long l : collect1) { |
| | | SysRole sysDept = roleService.selectRoleById(l); |
| | | if (sysDept!=null){ |
| | | longs1.add(sysDept.getRoleId()); |
| | | } |
| | | } |
| | | record.setRole(longs1); |
| | | List<String> strings1 = new ArrayList<>(); |
| | | if (record.getRole()!=null && (!record.getRole().isEmpty())){ |
| | | for (Long l : collect1) { |
| | | SysRole sysRole = roleService.selectRoleById(l); |
| | | if (sysRole!=null){ |
| | | strings1.add(sysRole.getRoleName()); |
| | | } |
| | | } |
| | | } |
| | | record.setRoleNames(strings1); |
| | | List<Long> collect2 = sysUserDeptService.lambdaQuery().eq(SysUserDept::getUserId, record.getUserId()) |
| | | .list().stream().map(SysUserDept::getDeptId).collect(Collectors.toList()); |
| | | List<Long> longs2 = new ArrayList<>(); |
| | | for (Long l : collect2) { |
| | | SysDept sysDept = deptService.selectDeptById(l); |
| | | if (sysDept!=null){ |
| | | longs2.add(sysDept.getDeptId()); |
| | | } |
| | | } |
| | | record.setDeptIds(longs2); |
| | | List<String> strings = new ArrayList<>(); |
| | | if (record.getDeptIds()!=null && (!record.getDeptIds().isEmpty())){ |
| | | for (Long deptId : record.getDeptIds()) { |
| | | SysDept sysDept = deptService.selectDeptById(deptId); |
| | | if (sysDept!=null){ |
| | | strings.add(sysDept.getDeptName()); |
| | | } |
| | | } |
| | | } |
| | | record.setDeptNames(strings); |
| | | |
| | | } |
| | | res.setRecords(list.getRecords()); |
| | | PageDTO<SysUserVO> sysUserVOPageDTO = PageDTO.of(res, SysUserVO.class); |
| | | return AjaxResult.success(sysUserVOPageDTO); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 新增用户 |
| | | */ |
| | | @Log(title = "用户管理", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "新增用户管理") |
| | | @PostMapping("/add") |
| | | @ApiOperation("添加管理员") |
| | | public AjaxResult add(@Validated @RequestBody SysUser user) { |
| | | user.setUserName(user.getPhonenumber()); |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | | if (!userService.checkUserNameUnique(user)) |
| | | { |
| | | return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); |
| | | } |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { |
| | | return error("手机号已开通账号"); |
| | | else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) |
| | | { |
| | | return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); |
| | | } |
| | | user.setCreateBy(SecurityUtils.getUsername()); |
| | | user.setUserType("00"); |
| | | user.setPassword("123456"); |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | int i = userService.insertUser(user); |
| | | SysUserRole sysUserRole = new SysUserRole(); |
| | | sysUserRole.setRoleId(1l); |
| | | sysUserRole.setUserId(user.getUserId()); |
| | | int i1 = userRoleService.insertSysUserRole(sysUserRole); |
| | | return AjaxResult.success(i1); |
| | | userService.insertUser(user); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据用户编号获取详细信息 |
| | | */ |
| | | @ApiOperation("管理员详情") |
| | | @GetMapping(value = {"/", "/{userId}"}) |
| | | public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { |
| | | userService.checkUserDataScope(userId); |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | List<SysRole> roles = roleService.selectRoleAll(); |
| | | ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); |
| | | ajax.put("posts", postService.selectPostAll()); |
| | | if (StringUtils.isNotNull(userId)) { |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | ajax.put(AjaxResult.DATA_TAG, sysUser); |
| | | ajax.put("postIds", postService.selectPostListByUserId(userId)); |
| | | ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); |
| | | @ApiOperation(value = "修改用户管理") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@Validated @RequestBody SysUser user) { |
| | | // userService.checkUserAllowed(user); |
| | | // userService.checkUserDataScope(user.getUserId()); |
| | | if (!userService.checkUserNameUnique(user)) |
| | | { |
| | | return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); |
| | | } |
| | | return AjaxResult.success(ajax); |
| | | Long userid = tokenService.getLoginUser().getUserid(); |
| | | SysUser sysUser = userService.selectUserById(userid); |
| | | user.setUpdateBy(sysUser.getNickName()+"("+sysUser.getUserName()+")"); |
| | | user.setHandleName(sysUser.getNickName()+"("+sysUser.getUserName()+")"); |
| | | user.setUpdateTime(LocalDateTime.now()); |
| | | if (user.getPassword()!=null){ |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | |
| | | return AjaxResult.success(userService.resetPwd(user)); |
| | | } |
| | | |
| | | return AjaxResult.success(userService.updateUser(user)); |
| | | } |
| | | |
| | | @ApiOperation(value = "禁用启用") |
| | | @PutMapping("/changeStatus") |
| | | public AjaxResult changeStatus(@RequestBody SysUserUpdateStatusDTO dto) |
| | | { |
| | | SysUser user = new SysUser(); |
| | | user.setUserId(dto.getUserId()); |
| | | user.setStatus(String.valueOf(dto.getStatus())); |
| | | user.setReason(dto.getReason()); |
| | | user.setDisableTime(LocalDateTime.now()); |
| | | Long userid = tokenService.getLoginUser().getUserid(); |
| | | SysUser sysUser = userService.selectUserById(userid); |
| | | user.setUpdateBy(sysUser.getNickName()+"("+sysUser.getUserName()+")"); |
| | | user.setHandleName(sysUser.getNickName()+"("+sysUser.getUserName()+")"); |
| | | return AjaxResult.success(userService.updateUserStatus(user)); |
| | | } |
| | | /** |
| | | * 获取当前用户信息 |
| | | */ |
| | | @InnerAuth |
| | | @GetMapping("/info/{username}") |
| | | public R<LoginUser> info(@PathVariable("username") String username) { |
| | | SysUser sysUser = userService.selectUserByUserName(username); |
| | | if (StringUtils.isNull(sysUser)) { |
| | | return R.fail("用户名或密码错误"); |
| | | } |
| | | // 角色集合 |
| | | Set<String> roles = permissionService.getRolePermission(sysUser); |
| | | // 权限集合 |
| | | Set<String> permissions = permissionService.getMenuPermission(sysUser); |
| | | LoginUser sysUserVo = new LoginUser(); |
| | | sysUserVo.setSysUser(sysUser); |
| | | sysUserVo.setRoles(roles); |
| | | sysUserVo.setPermissions(permissions); |
| | | |
| | | return R.ok(sysUserVo); |
| | | } |
| | | // @ApiOperation(value = "获取用户列表-不分页") |
| | | // @PostMapping("/listNotPage") |
| | | // public AjaxResult<List<SysUser>> listNotPage() |
| | | // { |
| | | // List<SysUser> list = userService.selectList(); |
| | | // return AjaxResult.success(list); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 获取用户黑名单列表 |
| | | // */ |
| | | //// @ApiOperation(value = "获取用户黑名单列表") |
| | | //// @PostMapping("/blacklist") |
| | | //// public AjaxResult blacklist(@RequestBody SysUserQuery query) |
| | | //// { |
| | | //// startPage(query.getPageNum(), query.getPageSize()); |
| | | //// List<SysUserVO> list = userService.selectBlackPageList(query); |
| | | //// return AjaxResult.success(getDataTable(list)); |
| | | //// } |
| | | // |
| | | // /** |
| | | // * 获取用户详情 |
| | | // */ |
| | | // @ApiOperation(value = "获取用户详情") |
| | | // @GetMapping("/getDetail") |
| | | // public AjaxResult<SysUser> getDetail(@RequestParam Long userId) |
| | | // { |
| | | // SysUser sysUser = userService.selectUserById(userId); |
| | | // SysUserVO sysUserVO = new SysUserVO(); |
| | | // BeanUtils.copyProperties(sysUser,sysUserVO); |
| | | // |
| | | // return AjaxResult.success(sysUser); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 获取用户数量统计 |
| | | // */ |
| | | // @ApiOperation(value = "获取用户数量统计") |
| | | // @PostMapping("/getUserCount") |
| | | // public AjaxResult<Map<String,Integer>> getUserCount() |
| | | // { |
| | | // Map<String,Integer> map = new HashMap<>(); |
| | | // |
| | | // Integer userCountSum = userService.selectCount(null); |
| | | // Integer normalCount = userService.selectCount(0);// 正常 |
| | | // Integer stopCount = userService.selectCount(1);// 停用 |
| | | // |
| | | // map.put("all",userCountSum); |
| | | // map.put("normal",normalCount); |
| | | // map.put("stop",stopCount); |
| | | // |
| | | // return AjaxResult.success(map); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 移除黑名单 |
| | | // */ |
| | | //// @GetMapping("/removeBlackList") |
| | | //// public AjaxResult<String> removeBlackList(@RequestParam String ids) |
| | | //// { |
| | | //// String[] split = ids.split(","); |
| | | //// List<Long> id = new ArrayList<>(); |
| | | //// for (String s : split) { |
| | | //// id.add(Long.valueOf(s)); |
| | | //// } |
| | | //// userService.updateUserIfBlack(id); |
| | | //// return AjaxResult.success(); |
| | | //// } |
| | | // |
| | | // |
| | | //// @Log(title = "用户管理", businessType = BusinessType.EXPORT) |
| | | ////// // @PreAuthorize("@ss.hasPermi('system:user:export')") |
| | | //// @PostMapping("/export") |
| | | //// public void export(HttpServletResponse response, SysUser user) |
| | | //// { |
| | | //// List<SysUser> list = userService.selectUserList(user); |
| | | //// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | //// util.exportExcel(response, list, "用户数据"); |
| | | //// } |
| | | // |
| | | //// @Log(title = "用户管理", businessType = BusinessType.IMPORT) |
| | | ////// // @PreAuthorize("@ss.hasPermi('system:user:import')") |
| | | //// @PostMapping("/importData") |
| | | //// public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception |
| | | //// { |
| | | //// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | //// List<SysUser> userList = util.importExcel(file.getInputStream()); |
| | | //// String operName = getUsername(); |
| | | //// String message = userService.importUser(userList, updateSupport, operName); |
| | | //// return AjaxResult.success(message); |
| | | //// } |
| | | // |
| | | //// @PostMapping("/importTemplate") |
| | | //// public void importTemplate(HttpServletResponse response) |
| | | //// { |
| | | //// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); |
| | | //// util.importTemplateExcel(response, "用户数据"); |
| | | //// } |
| | | // |
| | | // |
| | | // /** |
| | | // * 新增用户 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:add')") |
| | | // @ApiOperation(value = "新增用户管理") |
| | | // @Log(title = "用户信息-新增用户", businessType = BusinessType.INSERT) |
| | | // @PostMapping("/add") |
| | | // public AjaxResult add(@Validated @RequestBody SysUser user) |
| | | // { |
| | | // if (!userService.checkUserNameUnique(user)) |
| | | // { |
| | | // return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); |
| | | // } |
| | | // else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) |
| | | // { |
| | | // return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); |
| | | // } |
| | | // user.setPassword("123456"); |
| | | // user.setRePassword("123456"); |
| | | // user.setCreateBy(getUsername()); |
| | | // user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | // userService.insertUser(user); |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 修改用户 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:edit')") |
| | | // @ApiOperation(value = "修改用户管理") |
| | | // @Log(title = "用户信息-修改用户", businessType = BusinessType.UPDATE) |
| | | // @PostMapping("/edit") |
| | | // public AjaxResult edit(@Validated @RequestBody SysUser user) |
| | | // { |
| | | //// userService.checkUserAllowed(user); |
| | | //// userService.checkUserDataScope(user.getUserId()); |
| | | // if (!userService.checkUserNameUnique(user)) |
| | | // { |
| | | // return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); |
| | | // } |
| | | // else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) |
| | | // { |
| | | // return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); |
| | | // } |
| | | // |
| | | // user.setUpdateBy(getUsername()); |
| | | //// user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | // return AjaxResult.success(userService.updateUser(user)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 删除用户 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:remove')") |
| | | // @ApiOperation(value = "批量删除用户") |
| | | // @Log(title = "用户信息-批量删除用户", businessType = BusinessType.DELETE) |
| | | // @DeleteMapping("/deleteById/{ids}") |
| | | // public AjaxResult remove(@PathVariable String ids) |
| | | // { |
| | | // String[] split = ids.split(","); |
| | | // List<Long> userIds = new ArrayList<>(); |
| | | // for (String s : split) { |
| | | // userIds.add(Long.valueOf(s)); |
| | | // } |
| | | // if (userIds.contains(getUserId())) |
| | | // { |
| | | // return error("当前用户不能删除"); |
| | | // } |
| | | // return AjaxResult.success(userService.deleteUserByIds(userIds)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 重置密码 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") |
| | | // @ApiOperation(value = "重置密码") |
| | | // @Log(title = "用户信息-重置密码", businessType = BusinessType.UPDATE) |
| | | // @PostMapping("/resetPwd") |
| | | // public AjaxResult resetPwd(@RequestBody SysUser user) |
| | | // { |
| | | // userService.checkUserAllowed(user); |
| | | //// userService.checkUserDataScope(user.getUserId()); |
| | | // user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | // user.setUpdateBy(getUsername()); |
| | | // userService.resetPwd(user); |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 修改密码 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") |
| | | // @ApiOperation(value = "修改密码") |
| | | // @Log(title = "用户信息-修改密码", businessType = BusinessType.UPDATE) |
| | | // @PostMapping("/updatePwd") |
| | | // public AjaxResult updatePwd(@RequestBody UpdatePwdDTO dto) |
| | | // { |
| | | // SysUser user = userService.selectUserByUserName(dto.getAccount()); |
| | | // if(Objects.isNull(user)){ |
| | | // return AjaxResult.error("未查询到该账号"); |
| | | // } |
| | | // userService.checkUserAllowed(user); |
| | | // // 校验密码跟原密码是否匹配 |
| | | // if (!SecurityUtils.matchesPassword(dto.getOldPassword(), user.getPassword())) { |
| | | // throw new BadCredentialsException("输入原密码不正确"); |
| | | // } |
| | | // if (!dto.getPassword().equals(dto.getConfirmPassword())) { |
| | | // throw new BadCredentialsException("两次输入密码不一致"); |
| | | // } |
| | | //// userService.checkUserDataScope(user.getUserId()); |
| | | // user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); |
| | | // user.setUpdateBy(getUsername()); |
| | | // return AjaxResult.success(userService.resetPwd(user)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 状态修改 |
| | | // */ |
| | | // @ApiOperation(value = "状态修改") |
| | | // @Log(title = "用户信息-状态修改", businessType = BusinessType.UPDATE) |
| | | // @PutMapping("/changeStatus") |
| | | // public AjaxResult changeStatus(@RequestBody SysUserUpdateStatusDTO dto) |
| | | // { |
| | | // SysUser user = new SysUser(); |
| | | // user.setUserId(dto.getUserId()); |
| | | // user.setStatus(String.valueOf(dto.getStatus())); |
| | | // user.setDisableRemark(dto.getDisableRemark()); |
| | | // user.setUpdateBy(getUsername()); |
| | | // return AjaxResult.success(userService.updateUserStatus(user)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 根据用户编号获取授权角色 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:query')") |
| | | // @GetMapping("/authRole/{userId}") |
| | | // public AjaxResult authRole(@PathVariable("userId") Long userId) |
| | | // { |
| | | // AjaxResult ajax = AjaxResult.success(); |
| | | // SysUser user = userService.selectUserById(userId); |
| | | // List<SysRole> roles = roleService.selectRolesByUserId(userId); |
| | | // ajax.put("user", user); |
| | | // ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); |
| | | // return ajax; |
| | | // } |
| | | // |
| | | // /** |
| | | // * 用户授权角色 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:edit')") |
| | | // @Log(title = "用户管理", businessType = BusinessType.GRANT) |
| | | // @PutMapping("/authRole") |
| | | // public AjaxResult insertAuthRole(Long userId, Long[] roleIds) |
| | | // { |
| | | // userService.checkUserDataScope(userId); |
| | | // userService.insertUserAuth(userId, roleIds); |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 获取部门树列表 |
| | | // */ |
| | | // // @PreAuthorize("@ss.hasPermi('system:user:list')") |
| | | // @GetMapping("/deptTree") |
| | | // public AjaxResult deptTree(SysDept dept) |
| | | // { |
| | | // return AjaxResult.success(deptService.selectDeptTreeList(dept)); |
| | | // } |
| | | /** |
| | | * 远程调用 根据系统用户id查询用户信息 |
| | | * @return |
| | | */ |
| | | @PostMapping("/getSysUserById/{id}") |
| | | public R<SysUser> getSysUserById(@PathVariable("id")String id) { |
| | | SysUser byId = userService.getById(id); |
| | | return R.ok(byId); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 修改用户 |
| | | */ |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/update") |
| | | @ApiOperation("编辑管理员") |
| | | public AjaxResult edit(@Validated @RequestBody SysUser user) { |
| | | |
| | | user.setUserName(user.getPhonenumber()); |
| | | if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | user.setNickName(user.getPhonenumber()); |
| | | } |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | | SysUser sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class) |
| | | .eq(SysUser::getPhonenumber, user.getPhonenumber()) |
| | | .eq(SysUser::getDelFlag,0) |
| | | .last("LIMIT 1")); |
| | | |
| | | if (StringUtils.isNotEmpty(user.getPhonenumber()) && (Objects.nonNull(sysUser) && !user.getUserId().equals(sysUser.getUserId()) )) { |
| | | return error("手机号已开通账号"); |
| | | } |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | if (user.getPassword() != null && !"".equals(user.getPassword())) { |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | } |
| | | if (user.getPhonenumber() != null) { |
| | | user.setUserName(user.getPhonenumber()); |
| | | } |
| | | user.setPassword(null); |
| | | // user.setUpdateBy(SecurityUtils.getUsername()); |
| | | // user.setUpdateTime(new Date()); |
| | | return toAjax(userService.updateUser(user)); |
| | | } |
| | | // @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | // @PutMapping("/update") |
| | | // @ApiOperation("编辑管理员") |
| | | // public AjaxResult edit(@Validated @RequestBody SysUser user) { |
| | | // |
| | | // user.setUserName(user.getPhonenumber()); |
| | | // if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ |
| | | // user.setNickName(user.getPhonenumber()); |
| | | // } |
| | | // userService.checkUserAllowed(user); |
| | | // userService.checkUserDataScope(user.getUserId()); |
| | | // SysUser sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class) |
| | | // .eq(SysUser::getUserName, user.getUserName()) |
| | | // .eq(SysUser::getDelFlag,0) |
| | | // .last("LIMIT 1")); |
| | | // |
| | | // if (StringUtils.isNotEmpty(user.getPhonenumber()) && (Objects.nonNull(sysUser) && !user.getUserId().equals(sysUser.getUserId()) )) { |
| | | // return error("手机号已开通账号"); |
| | | // } |
| | | // user.setUpdateBy(SecurityUtils.getUsername()); |
| | | // if (user.getPassword() != null && !"".equals(user.getPassword())) { |
| | | // user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | // } |
| | | // if (user.getPhonenumber() != null) { |
| | | // user.setUserName(user.getPhonenumber()); |
| | | // } |
| | | // user.setPassword(null); |
| | | // |
| | | // return toAjax(userService.updateUser(user)); |
| | | // } |
| | | |
| | | /** |
| | | * 删除用户 |
| | |
| | | /** |
| | | * 获取当前用户信息 |
| | | */ |
| | | @InnerAuth |
| | | @GetMapping("/info/{username}") |
| | | public R<LoginUser> info(@PathVariable("username") String username) { |
| | | SysUser sysUser = userService.selectUserByUserName(username); |
| | | if (StringUtils.isNull(sysUser)) { |
| | | return R.fail("用户名或密码错误"); |
| | | } |
| | | // 角色集合 |
| | | Set<String> roles = permissionService.getRolePermission(sysUser); |
| | | // 权限集合 |
| | | Set<String> permissions = permissionService.getMenuPermission(sysUser); |
| | | LoginUser sysUserVo = new LoginUser(); |
| | | sysUserVo.setSysUser(sysUser); |
| | | sysUserVo.setRoles(roles); |
| | | sysUserVo.setPermissions(permissions); |
| | | |
| | | return R.ok(sysUserVo); |
| | | } |
| | | |
| | | /** |
| | | * 注册用户信息 |
| | | */ |
| | | @InnerAuth |
| | | @PostMapping("/register") |
| | | public R<Boolean> register(@RequestBody SysUser sysUser) { |
| | | String username = sysUser.getUserName(); |
| | | if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { |
| | | return R.fail("当前系统没有开启注册功能!"); |
| | | } |
| | | if (!userService.checkUserNameUnique(sysUser)) { |
| | | return R.fail("保存用户'" + username + "'失败,注册账号已存在"); |
| | | } |
| | | return R.ok(userService.registerUser(sysUser)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 注册用户信息 |
| | |
| | | @PostMapping("/app-register") |
| | | public R<SysUser> appRegister(@RequestBody SysUser sysUser) { |
| | | String username = sysUser.getUserName(); |
| | | if (!userService.checkAppUserNameUnique(sysUser)) { |
| | | return R.fail("保存用户'" + username + "'失败,注册账号已存在"); |
| | | } |
| | | |
| | | //添加用户 |
| | | userService.registerUser(sysUser); |
| | | return R.ok(sysUser); |
| | | } |
| | | /** |
| | | * 获取用户信息 |
| | | * |
| | | * @return 用户信息 |
| | | */ |
| | | @GetMapping("/getInfo") |
| | | public AjaxResult getInfo() { |
| | | SysUser user = userService.selectUserById(SecurityUtils.getUserId()); |
| | | // 角色集合 |
| | | Set<String> roles = permissionService.getRolePermission(user); |
| | | // 权限集合 |
| | | Set<String> permissions = permissionService.getMenuPermission(user); |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | ajax.put("user", user); |
| | | ajax.put("roles", roles); |
| | | ajax.put("permissions", permissions); |
| | | return ajax; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 重置密码 |
| | | */ |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/resetPwd") |
| | | @PostMapping("/resetPwd") |
| | | public AjaxResult resetPwd(@RequestBody SysUser user) { |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | | user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | return toAjax(userService.resetPwd(user)); |
| | | } |
| | | |
| | | /** |
| | | * 状态修改 |
| | | */ |
| | | @RequiresPermissions("system:user:edit") |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/changeStatus") |
| | | public AjaxResult changeStatus(@RequestBody SysUser user) { |
| | | userService.checkUserAllowed(user); |
| | | userService.checkUserDataScope(user.getUserId()); |
| | | user.setUpdateBy(SecurityUtils.getUsername()); |
| | | return toAjax(userService.updateUserStatus(user)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据用户编号获取授权角色 |
| | |
| | | .last("LIMIT 1")); |
| | | return R.ok(user); |
| | | } |
| | | |
| | | } |