提交 25e0b152 编写于 作者: 过期的豆豆糖's avatar 过期的豆豆糖 🎧

修复删除部门时,未检查部门下人员问题

上级 7271753b
/**
*
*
*
*
*
*/
package com.person.modules.sys.controller; package com.person.modules.sys.controller;
import com.person.common.utils.Constant; import com.person.common.utils.Constant;
import com.person.common.utils.R; import com.person.common.utils.R;
import com.person.modules.sys.entity.SysUserEntity;
import com.person.modules.sys.entity.SysDeptEntity; import com.person.modules.sys.entity.SysDeptEntity;
import com.person.modules.sys.service.SysDeptService; import com.person.modules.sys.service.SysDeptService;
import com.person.modules.sys.service.SysUserService;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -26,120 +21,126 @@ import java.util.List; ...@@ -26,120 +21,126 @@ import java.util.List;
/** /**
* 部门管理 * 部门管理
* *
* @author * @author
*/ */
@RestController @RestController
@RequestMapping("/sys/dept") @RequestMapping("/sys/dept")
public class SysDeptController extends AbstractController { public class SysDeptController extends AbstractController {
@Autowired @Autowired
private SysDeptService sysDeptService; private SysDeptService sysDeptService;
@Autowired
/** private SysUserService sysUserService;
* 列表
*/ /**
@RequestMapping("/list") * 列表
*/
@RequestMapping("/list")
// @RequiresPermissions("sys:dept:list") // @RequiresPermissions("sys:dept:list")
public List<SysDeptEntity> list(){ public List<SysDeptEntity> list() {
List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>()); List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>());
return deptList; return deptList;
} }
/** /**
* 选择部门(添加、修改菜单) * 选择部门(添加、修改菜单)
*/ */
@RequestMapping("/select") @RequestMapping("/select")
@RequiresPermissions("sys:dept:select") @RequiresPermissions("sys:dept:select")
public R select(){ public R select() {
List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>()); List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>());
//添加一级部门 //添加一级部门
if(getUserId() == Constant.SUPER_ADMIN){ if (getUserId() == Constant.SUPER_ADMIN) {
SysDeptEntity root = new SysDeptEntity(); SysDeptEntity root = new SysDeptEntity();
root.setDeptId(0L); root.setDeptId(0L);
root.setName("一级部门"); root.setName("一级部门");
root.setParentId(-1L); root.setParentId(-1L);
root.setOpen(true); root.setOpen(true);
deptList.add(root); deptList.add(root);
} }
return R.ok().put("deptList", deptList); return R.ok().put("deptList", deptList);
} }
/** /**
* 上级部门Id(管理员则为0) * 上级部门Id(管理员则为0)
*/ */
@RequestMapping("/info") @RequestMapping("/info")
@RequiresPermissions("sys:dept:list") @RequiresPermissions("sys:dept:list")
public R info(){ public R info() {
long deptId = 0; long deptId = 0;
if(getUserId() != Constant.SUPER_ADMIN){ if (getUserId() != Constant.SUPER_ADMIN) {
List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>()); List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>());
Long parentId = null; Long parentId = null;
for(SysDeptEntity sysDeptEntity : deptList){ for (SysDeptEntity sysDeptEntity : deptList) {
if(parentId == null){ if (parentId == null) {
parentId = sysDeptEntity.getParentId(); parentId = sysDeptEntity.getParentId();
continue; continue;
} }
if(parentId > sysDeptEntity.getParentId().longValue()){ if (parentId > sysDeptEntity.getParentId().longValue()) {
parentId = sysDeptEntity.getParentId(); parentId = sysDeptEntity.getParentId();
} }
} }
deptId = parentId; deptId = parentId;
} }
return R.ok().put("deptId", deptId); return R.ok().put("deptId", deptId);
} }
/** /**
* 信息 * 信息
*/ */
@RequestMapping("/info/{deptId}") @RequestMapping("/info/{deptId}")
@RequiresPermissions("sys:dept:info") @RequiresPermissions("sys:dept:info")
public R info(@PathVariable("deptId") Long deptId){ public R info(@PathVariable("deptId") Long deptId) {
SysDeptEntity dept = sysDeptService.getById(deptId); SysDeptEntity dept = sysDeptService.getById(deptId);
return R.ok().put("dept", dept); return R.ok().put("dept", dept);
} }
/** /**
* 保存 * 保存
*/ */
@RequestMapping("/save") @RequestMapping("/save")
@RequiresPermissions("sys:dept:save") @RequiresPermissions("sys:dept:save")
public R save(@RequestBody SysDeptEntity dept){ public R save(@RequestBody SysDeptEntity dept) {
sysDeptService.save(dept); sysDeptService.save(dept);
return R.ok(); return R.ok();
} }
/** /**
* 修改 * 修改
*/ */
@RequestMapping("/update") @RequestMapping("/update")
@RequiresPermissions("sys:dept:update") @RequiresPermissions("sys:dept:update")
public R update(@RequestBody SysDeptEntity dept){ public R update(@RequestBody SysDeptEntity dept) {
sysDeptService.updateById(dept); sysDeptService.updateById(dept);
return R.ok(); return R.ok();
} }
/** /**
* 删除 * 删除
*/ */
@RequestMapping("/delete") @RequestMapping("/delete")
@RequiresPermissions("sys:dept:delete") @RequiresPermissions("sys:dept:delete")
public R delete(long deptId){ public R delete(long deptId) {
//判断是否有子部门 //判断是否有子部门
List<Long> deptList = sysDeptService.queryDetpIdList(deptId); List<Long> deptList = sysDeptService.queryDetpIdList(deptId);
if(deptList.size() > 0){ if (deptList.size() > 0) {
return R.error("请先删除子部门"); return R.error("请先删除子部门");
} }
List<SysUserEntity> sysUsers = sysUserService.queryByDeptId(deptId);
sysDeptService.removeById(deptId); int size = sysUsers.size();
if (size > 0) {
return R.ok(); return R.error("请先删除部门下人员");
} }
sysDeptService.removeById(deptId);
return R.ok();
}
} }
...@@ -29,7 +29,13 @@ public interface SysUserService extends IService<SysUserEntity> { ...@@ -29,7 +29,13 @@ public interface SysUserService extends IService<SysUserEntity> {
* 查询用户的所有菜单ID * 查询用户的所有菜单ID
*/ */
List<Long> queryAllMenuId(Long userId); List<Long> queryAllMenuId(Long userId);
/**
* 查询部门下的所有人
* @param deptId
* @return
*/
List<SysUserEntity> queryByDeptId(Long deptId);
/** /**
* 保存用户 * 保存用户
*/ */
......
/** /**
*
* *
*
*
*
*/ */
package com.person.modules.sys.service.impl; package com.person.modules.sys.service.impl;
...@@ -37,76 +33,84 @@ import java.util.Map; ...@@ -37,76 +33,84 @@ import java.util.Map;
/** /**
* 系统用户 * 系统用户
* *
* @author * @author
*/ */
@Service("sysUserService") @Service("sysUserService")
public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> implements SysUserService { public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> implements SysUserService {
@Autowired @Autowired
private SysUserRoleService sysUserRoleService; private SysUserRoleService sysUserRoleService;
@Autowired @Autowired
private SysDeptService sysDeptService; private SysDeptService sysDeptService;
@Override @Override
public List<Long> queryAllMenuId(Long userId) { public List<Long> queryAllMenuId(Long userId) {
return baseMapper.queryAllMenuId(userId); return baseMapper.queryAllMenuId(userId);
} }
@Override @Override
@DataFilter(subDept = true, user = false) public List<SysUserEntity> queryByDeptId(Long deptId) {
public PageUtils queryPage(Map<String, Object> params) { List<SysUserEntity> list = this.list(new QueryWrapper<SysUserEntity>().eq("dept_id", deptId));
String name = (String)params.get("name"); return list;
}
IPage<SysUserEntity> page = this.page(
new Query<SysUserEntity>().getPage(params), @Override
new QueryWrapper<SysUserEntity>() @DataFilter(subDept = true, user = false)
.like(StringUtils.isNotBlank(name),"name", name) public PageUtils queryPage(Map<String, Object> params) {
.apply(params.get(Constant.SQL_FILTER) != null, (String)params.get(Constant.SQL_FILTER)) String name = (String) params.get("name");
);
IPage<SysUserEntity> page = this.page(
for(SysUserEntity sysUserEntity : page.getRecords()){ new Query<SysUserEntity>().getPage(params),
SysDeptEntity sysDeptEntity = sysDeptService.getById(sysUserEntity.getDeptId()); new QueryWrapper<SysUserEntity>()
sysUserEntity.setDeptName(sysDeptEntity.getName()); .like(StringUtils.isNotBlank(name), "name", name)
} .apply(params.get(Constant.SQL_FILTER) != null, (String) params.get(Constant.SQL_FILTER))
);
return new PageUtils(page);
} for (SysUserEntity sysUserEntity : page.getRecords()) {
SysDeptEntity sysDeptEntity = sysDeptService.getById(sysUserEntity.getDeptId());
@Override if (null != sysDeptEntity) {
@Transactional(rollbackFor = Exception.class) sysUserEntity.setDeptName(sysDeptEntity.getName());
public void saveUser(SysUserEntity user) { }
user.setCreateTime(new Date()); }
//sha256加密
String salt = RandomStringUtils.randomAlphanumeric(20); return new PageUtils(page);
user.setSalt(salt); }
user.setPassword(ShiroUtils.sha256(user.getPassword(), user.getSalt()));
this.save(user); @Override
@Transactional(rollbackFor = Exception.class)
//保存用户与角色关系 public void saveUser(SysUserEntity user) {
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); user.setCreateTime(new Date());
} //sha256加密
String salt = RandomStringUtils.randomAlphanumeric(20);
@Override user.setSalt(salt);
@Transactional(rollbackFor = Exception.class) user.setPassword(ShiroUtils.sha256(user.getPassword(), user.getSalt()));
public void update(SysUserEntity user) { this.save(user);
if(StringUtils.isBlank(user.getPassword())){
user.setPassword(null); //保存用户与角色关系
}else{ sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList());
SysUserEntity userEntity = this.getById(user.getUserId()); }
user.setPassword(ShiroUtils.sha256(user.getPassword(), userEntity.getSalt()));
} @Override
this.updateById(user); @Transactional(rollbackFor = Exception.class)
public void update(SysUserEntity user) {
//保存用户与角色关系 if (StringUtils.isBlank(user.getPassword())) {
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); user.setPassword(null);
} } else {
SysUserEntity userEntity = this.getById(user.getUserId());
user.setPassword(ShiroUtils.sha256(user.getPassword(), userEntity.getSalt()));
@Override }
public boolean updatePassword(Long userId, String password, String newPassword) { this.updateById(user);
//保存用户与角色关系
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList());
}
@Override
public boolean updatePassword(Long userId, String password, String newPassword) {
SysUserEntity userEntity = new SysUserEntity(); SysUserEntity userEntity = new SysUserEntity();
userEntity.setPassword(newPassword); userEntity.setPassword(newPassword);
return this.update(userEntity, return this.update(userEntity,
new QueryWrapper<SysUserEntity>().eq("user_id", userId).eq("password", password)); new QueryWrapper<SysUserEntity>().eq("user_id", userId).eq("password", password));
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册