package com.spring.modules.sys.controller; import com.spring.common.annotation.SysLog; import com.spring.common.constant.SysMsgConstant; import com.spring.common.utils.Constant; import com.spring.common.utils.PageUtils; import com.spring.common.utils.R; import com.spring.common.validator.Assert; import com.spring.common.validator.ValidatorUtils; import com.spring.common.validator.group.AddGroup; import com.spring.common.validator.group.UpdateGroup; import com.spring.modules.base.data.SysUserEntityData; import com.spring.modules.sys.dao.SysMenuDao; import com.spring.modules.sys.entity.SysUserEntity; import com.spring.modules.sys.entity.UserJobEntity; import com.spring.modules.sys.form.IfsPassWordForm; import com.spring.modules.sys.form.PasswordForm; import com.spring.modules.sys.service.SysUserRoleService; import com.spring.modules.sys.service.SysUserService; import org.apache.commons.lang.ArrayUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.crypto.hash.Sha256Hash; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 系统用户 * * */ @RestController @RequestMapping("/sys/user") public class SysUserController extends AbstractController { @Autowired private SysUserService sysUserService; @Autowired private SysUserRoleService sysUserRoleService; @Autowired private SysMenuDao sysMenuDao; /** * 所有用户列表 */ @GetMapping("/list") @RequiresPermissions("sys:user:list") @ResponseBody public R list( SysUserEntityData params){ //只有超级管理员,才能查看所有管理员列表 if(getUserId() != Constant.SUPER_ADMIN&&sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()==0){ params.setCreateUserId(getUserId()); } PageUtils page = sysUserService.queryPage(params); return R.ok().put("page", page); } /** * @author: sxm * @description: 获取用户列表非分页 * @param [params] * @return: com.alteams.common.utils.R * @date: 2022/8/12 13:29 */ @PostMapping("/userList") public R userList(@RequestBody SysUserEntity params){ List list = sysUserService.userList(params); return R.ok().put("list", list); } /** * 获取登录的用户信息 */ @GetMapping("/info") public R info(){ return R.ok().put("user", getUser()); } /* * @Author li_she * @Description 修改用户默认语言 * @Date 2021/6/2 11:10 * @Param * @return **/ @PostMapping("updateUserLanguageDefault") public R updateUserLanguageDefault(SysUserEntity userEntity){ sysUserService.updateUserLanguageDefault(userEntity); return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000)); } /** * 修改登录用户密码 */ @SysLog("修改密码") @PostMapping("/password") public R password(@RequestBody PasswordForm form){ Assert.isBlank(form.getNewPassword(), getLanguageMsg(SysMsgConstant.OBJECT_ID_200611)); //sha256加密 String password = new Sha256Hash(form.getPassword(), getUser().getSalt()).toHex(); //sha256加密 String newPassword = new Sha256Hash(form.getNewPassword(), getUser().getSalt()).toHex(); //更新密码 boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword); if(!flag){ return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200216)); } return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000)); } @SysLog("修改IFS账号密码") @PostMapping("/updateIfsPassWord") public R updateIfsPassWord(@RequestBody IfsPassWordForm form){ //更新密码 boolean flag = sysUserService.updateIFSPassword(getUserId(), form.getIfsUsername(), form.getIfsPassword()); if(!flag){ return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200216)); } return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000)); } /** * 用户信息 */ @GetMapping("/info/{userId}") @RequiresPermissions("sys:user:info") public R info(@PathVariable("userId") Long userId){ SysUserEntity user = sysUserService.getById(userId); //获取用户所属的角色列表 List roleIdList = sysUserRoleService.queryRoleIdList(userId); user.setRoleIdList(roleIdList); return R.ok().put("user", user); } /** * 保存用户 */ @SysLog("保存用户") @PostMapping("/save") @RequiresPermissions("sys:user:save") public R save(@RequestBody SysUserEntity user){ ValidatorUtils.validateEntity(user, AddGroup.class); user.setCreateUserId(getUserId()); sysUserService.saveUser(user); return R.ok(); } /** * 修改用户 */ @SysLog("修改用户") @PostMapping("/update") @RequiresPermissions("sys:user:update") public R update(@RequestBody SysUserEntity user){ ValidatorUtils.validateEntity(user, UpdateGroup.class); user.setCreateUserId(getUserId()); sysUserService.update(user); return R.ok(); } /** * 删除用户 */ @SysLog("删除用户") @PostMapping("/delete") @RequiresPermissions("sys:user:delete") public R delete(@RequestBody Long[] userIds){ if(ArrayUtils.contains(userIds, 1L)){ return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200217)); } if(ArrayUtils.contains(userIds, getUserId())){ return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200218)); } sysUserService.deleteBatch(userIds); return R.ok(); } /* * @Author li_she * @Description 修改用户默认语言 * @Date 2021/6/3 14:36 * @Param user * @return R **/ @PostMapping("updateUserLanguage") public R updateUserLanguage(@RequestBody SysUserEntity user){ user.setUserId(getUserId()); sysUserService.updateUserLanguageDefault(user); return R.ok(); } /** * 修改状态 * @param user * @return */ @PostMapping("updateUserStatus") public R updateUserStatus(@RequestBody SysUserEntity user){ SysUserEntity user1 = getUser(); System.out.println(user1); sysUserService.update(user); return R.ok(); } }