package com.kmall.admin.controller; import com.kmall.admin.entity.SysDeptEntity; import com.kmall.admin.service.SysDeptService; import com.kmall.admin.fromcomm.controller.AbstractController; import com.kmall.common.utils.Constant; import com.kmall.common.utils.R; 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; import java.util.Map; /** * 部门管理 * * @author liepngjun * @email * @date 2017-09-17 23:58:47 */ @RestController @RequestMapping("/sys/dept") public class SysDeptController extends AbstractController { @Autowired private SysDeptService sysDeptService; /** * 列表 */ @RequestMapping("/list") @RequiresPermissions("sys:dept:list") public R list() { Map map = new HashMap<>(); //如果不是超级管理员,则只能查询本部门及子部门数据 if (getUserId() != Constant.SUPER_ADMIN) { map.put("deptFilter", sysDeptService.getSubDeptIdList(getDeptId())); } List deptList = sysDeptService.queryList(map); return R.ok().put("list", deptList); } /** * 选择部门(添加、修改菜单) */ @RequestMapping("/select") @RequiresPermissions("sys:dept:select") public R select() { Map map = new HashMap<>(); //如果不是超级管理员,则只能查询本部门及子部门数据 if (getUserId() != Constant.SUPER_ADMIN) { map.put("deptFilter", sysDeptService.getSubDeptIdList(getDeptId())); } List deptList = sysDeptService.queryList(map); //添加一级部门 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) { SysDeptEntity dept = sysDeptService.queryObject(getDeptId()); deptId = dept.getParentId(); } return R.ok().put("deptId", deptId); } /** * 信息 */ @RequestMapping("/info/{deptId}") @RequiresPermissions("sys:dept:info") public R info(@PathVariable("deptId") Long deptId) { SysDeptEntity dept = sysDeptService.queryObject(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.update(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.delete(deptId); return R.ok(); } }