You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
5.9 KiB
224 lines
5.9 KiB
|
|
|
|
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<SysUserEntity> 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<Long> 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();
|
|
}
|
|
}
|