/** * Copyright 2018 RDP http://product.mftcc.cn/rdp/ * <p> * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package io.report.modules.sys.controller; import io.report.common.utils.Constant; import io.report.modules.sys.entity.SysDeptEntity; import io.report.modules.sys.service.SysDeptService; import io.report.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; /** * 部门管理 * * @author chenshun * @email sunlightcs@gmail.com * @date 2017-06-20 15:23:47 */ @RestController @RequestMapping("/sys/dept") public class SysDeptController extends AbstractController { @Autowired private SysDeptService sysDeptService; /** * 列表 */ @RequestMapping("/list") @RequiresPermissions("sys:dept:list") public List<SysDeptEntity> list(){ List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>()); return deptList; } /** * 选择部门(添加、修改菜单) */ @RequestMapping("/select") @RequiresPermissions("sys:dept:select") public R select(){ List<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>()); //添加一级部门 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<SysDeptEntity> deptList = sysDeptService.queryList(new HashMap<String, Object>()); 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.selectById(deptId); return R.ok().put("dept", dept); } /** * 保存 */ @RequestMapping("/save") @RequiresPermissions("sys:dept:save") public R save(@RequestBody SysDeptEntity dept){ dept.setDelFlag(0); sysDeptService.insert(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<Long> deptList = sysDeptService.queryDetpIdList(deptId); if(deptList.size() > 0){ return R.error("请先删除子部门"); } sysDeptService.deleteById(deptId); return R.ok(); } }