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