From 0ab9dfd8f122195e4e9f09bd50c59e0a47450bec Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 19 三月 2025 15:50:03 +0800 Subject: [PATCH] fix: resolve merge conflicts in .gitignore --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 296 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 296 insertions(+), 0 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java new file mode 100644 index 0000000..b44867f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -0,0 +1,296 @@ +package com.ruoyi.web.controller.system; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.SysUserUpdateStatusDTO; +import com.ruoyi.system.query.SysUserQuery; +import com.ruoyi.system.service.*; +import com.ruoyi.system.vo.SysUserVO; +import com.ruoyi.system.vo.UserAddListVO; +import com.ruoyi.system.vo.UserLevelVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 用户信息 + * + * @author ruoyi + */ +@Api(tags = "用户信息") +@RestController +@RequestMapping("/system/user") +public class SysUserController extends BaseController +{ + @Autowired + private ISysUserService userService; + + @Autowired + private ISysRoleService roleService; + + @Autowired + private ISysDeptService deptService; + @Autowired + private TokenService tokenService; + + /** + * 获取用户列表 + */ + @ApiOperation(value = "获取用户列表") + @PostMapping("/list") + public AjaxResult list(@RequestBody SysUserQuery query) + { + PageInfo<SysUserVO> list = userService.pageList(query); + return AjaxResult.success(list); + } + + @ApiOperation(value = "获取用户列表-不分页") + @PostMapping("/listNotPage") + public AjaxResult 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 getDetail(@RequestParam Long userId) + { + SysUser sysUser = userService.selectUserById(userId); + SysUserVO sysUserVO = new SysUserVO(); + BeanUtils.copyProperties(sysUser,sysUserVO); + + return AjaxResult.success(sysUser); + } + + /** + * 获取用户详情 + */ + @ApiOperation(value = "获取用户详情") + @GetMapping("/queryDetail") + public AjaxResult queryDetail() + { + Long userId = tokenService.getLoginUser().getUserId(); + SysUser sysUser = userService.selectUserById(userId); + SysUserVO sysUserVO = new SysUserVO(); + BeanUtils.copyProperties(sysUser,sysUserVO); + + return AjaxResult.success(sysUser); + } + + + /** + * 获取用户数量统计 + */ + @ApiOperation(value = "获取用户数量统计") + @PostMapping("/getUserCount") + public AjaxResult 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 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(); + } + + /** + * 新增用户 + */ + // @PreAuthorize("@ss.hasPermi('system:user:add')") + @ApiOperation(value = "新增用户管理") + @Log(title = "用户信息-新增用户", businessType = BusinessType.INSERT) + @PostMapping("/add") + public AjaxResult add(@Validated @RequestBody SysUser user) + { + user.setUserName(user.getUserName()); + if (!userService.checkUserNameUnique(user)) + { + return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); + } + else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) + { + return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); + } + user.setCreateBy(getUsername()); + user.setPassword(SecurityUtils.encryptPassword("123456")); + 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) + { + user.setUserName(user.getPhonenumber()); +// 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()); + if(StringUtils.isNotEmpty(user.getPassword())){ + 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()); + return AjaxResult.success(userService.resetPwd(user)); + } + + /** + * 状态修改 + */ + @ApiOperation(value = "状态修改") + @Log(title = "用户信息-状态修改", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysUserUpdateStatusDTO dto) + { + SysUser loginUser = tokenService.getLoginUser().getUser(); + SysUser user = new SysUser(); + user.setUserId(dto.getUserId()); + user.setStatus(String.valueOf(dto.getStatus())); +// user.setRemark(dto.getRemark()); + user.setUpdateBy(getUsername()); + user.setDisableRemark(dto.getRemark()); + user.setOperatingTime(LocalDateTime.now()); + user.setOperatingPerson(loginUser.getNickName()+"("+loginUser.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)); + } +} -- Gitblit v1.7.1