package com.stylefeng.guns.modular.system.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.core.base.controller.BaseController;
|
import com.stylefeng.guns.modular.system.utils.tips.ErrorTip;
|
import com.stylefeng.guns.core.common.annotion.BussinessLog;
|
import com.stylefeng.guns.core.common.annotion.Permission;
|
import com.stylefeng.guns.core.common.constant.dictmap.DeptDict;
|
import com.stylefeng.guns.core.common.constant.factory.ConstantFactory;
|
import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
|
import com.stylefeng.guns.core.exception.GunsException;
|
import com.stylefeng.guns.core.log.LogObjectHolder;
|
import com.stylefeng.guns.core.node.ZTreeNode;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.Dept;
|
import com.stylefeng.guns.modular.system.model.Role;
|
import com.stylefeng.guns.modular.system.service.IDeptService;
|
import com.stylefeng.guns.modular.system.service.IRoleService;
|
import com.stylefeng.guns.modular.system.utils.tips.SuccessTip;
|
import com.stylefeng.guns.modular.system.warpper.DeptWarpper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 部门控制器
|
*
|
* @author fengshuonan
|
* @Date 2017年2月17日20:27:22
|
*/
|
@RequestMapping("/api/dept")
|
public class DeptController extends BaseController {
|
|
@Autowired
|
private IDeptService deptService;
|
|
@Autowired
|
private IRoleService service;
|
|
|
/**
|
* 获取部门的tree列表
|
*/
|
|
@RequestMapping(value = "/tree")
|
@ResponseBody
|
public List<ZTreeNode> tree() {
|
List<ZTreeNode> tree = this.deptService.tree();
|
tree.add(ZTreeNode.createParent());
|
return tree;
|
}
|
|
/**
|
* 新增部门
|
*/
|
@ApiOperation(value = "新增部门",notes="新增部门")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/add")
|
@ResponseBody
|
public Object add(Dept dept) {
|
return this.deptService.insert(dept);
|
}
|
|
/**
|
* 获取所有部门列表
|
*/
|
@ApiOperation(value = "获取部门列表",notes="获取部门列表")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(name = "condition", value = "名称(用于模糊搜索)", required = false, dataType = "String"),
|
})
|
@GetMapping(value = "/list")
|
@ResponseBody
|
public Object list(String condition) {
|
List<Map<String, Object>> list = this.deptService.list(condition);
|
return new SuccessTip(list);
|
}
|
|
@ApiOperation(value = "获取根据部门id获取角色",notes="获取根据部门id获取角色")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(name = "id", value = "部门id", required = true, dataType = "String"),
|
})
|
@GetMapping(value = "/getRoleFromDept")
|
@ResponseBody
|
public Object getRoleFromDept(String id) {
|
List<Role> roles = service.selectList(new EntityWrapper<Role>().eq("deptid", id));
|
return new SuccessTip(roles);
|
}
|
|
/**
|
* 部门详情
|
*/
|
@RequestMapping(value = "/detail/{deptId}")
|
@Permission
|
@ResponseBody
|
public Object detail(@PathVariable("deptId") Integer deptId) {
|
return deptService.selectById(deptId);
|
}
|
|
/**
|
* 修改部门
|
*/
|
@ApiOperation(value = "修改部门",notes="修改部门")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/update")
|
@ResponseBody
|
public Object update(Dept dept) {
|
if (ToolUtil.isEmpty(dept) || dept.getId() == null) {
|
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
|
}
|
deptService.updateById(dept);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除部门
|
*/
|
@ApiOperation(value = "删除部门",notes="删除部门")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(name = "deptId", value = "部门Id", required = true, dataType = "int"),
|
})
|
@DeleteMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer deptId) {
|
|
//缓存被删除的部门名称
|
LogObjectHolder.me().set(ConstantFactory.me().getDeptName(deptId));
|
Dept dept = deptService.selectById(deptId);
|
dept.setRemove(1);
|
deptService.updateById(dept);
|
return SUCCESS_TIP;
|
}
|
|
}
|