/** * Copyright (c) 2016-2019 人人开源 All rights reserved. *

* https://www.renren.io *

* 版权所有,侵权必究! */ package io.renren.modules.sys.controller; import io.renren.common.utils.Constant; import io.renren.common.utils.R; import io.renren.modules.sys.entity.SysDeptEntity; import io.renren.modules.sys.service.SysDeptService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; /** * 部门管理 * * @author Mark 735032128@qq.com */ @RestController @RequestMapping("/sys/dept") public class SysDeptController extends AbstractController { @Autowired private SysDeptService sysDeptService; /** * 列表 */ @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/{deptId}") @RequiresPermissions("sys:dept:delete") public R delete(@PathVariable("deptId") long deptId) { //判断是否有子部门 List deptList = sysDeptService.queryDetpIdList(deptId); if (deptList.size() > 0) { return R.error("请先删除子部门"); } sysDeptService.removeById(deptId); return R.ok(); } }