package com.boco.nbd.wios.manage.controller; import cn.hutool.core.lang.Assert; import com.boco.nbd.cams.core.constant.MessageConstant; import com.boco.nbd.wios.manage.contants.WiosConstant; import com.boco.nbd.wios.manage.entity.bo.Department; import com.boco.nbd.wios.manage.entity.bo.DepartmentVo; import com.boco.nbd.wios.manage.service.impl.DepartmentService; import com.ihidea.component.api.v2.BaseResponse; import com.ihidea.core.support.exception.ServiceException; 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.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.List; /** * 部门管理接口 * * @author xgl * @version [版本号, 2020年9月24日] */ @RestController @RequestMapping("api") @Api(tags = "部门管理接口") @ApiIgnore public class DepartmentController { @Autowired private DepartmentService departmentService; /** * 添加部门 * * @param dept * @return */ @PostMapping(value = "department/add") @ApiOperation(value = "添加部门信息") public BaseResponse<Object> add(Department dept) { if (dept.getParentId() == null) { throw new ServiceException(MessageConstant.MISSING_PARAM); } departmentService.add(dept); return new BaseResponse<>(); } /** * 更新部门信息 * * @param dept * @return */ @PostMapping(value = "department/update") @ApiOperation(value = "更新部门信息") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "主键id", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "status", value = "1:正常 2:删除", dataType = "int", paramType = "query", required = false), @ApiImplicitParam(name = "parentId", value = "上级部门id", dataType = "int", paramType = "query", required = false), @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", required = false),}) public BaseResponse<Object> update(Department dept) { if (dept.getId() == 1) { throw new ServiceException("此数据不可修改"); } departmentService.update(dept.getId(), dept); return new BaseResponse<>(); } /** * 查询部门列表 * * @param status * @return */ @GetMapping(value = "department/all") @ApiOperation(value = "查询部门列表") @ApiImplicitParams({@ApiImplicitParam(paramType = "query", name = "status", value = "状态", required = false, dataType = "int"),}) public BaseResponse<List<DepartmentVo>> getAll(Integer status) { return new BaseResponse<>(departmentService.getList(status)); } /** * 查询部门详情 * * @param id * @return */ @GetMapping(value = "department/detail") @ApiOperation(value = "查询部门详情") @ApiImplicitParams({@ApiImplicitParam(paramType = "query", name = "id", value = "部门id", required = true, dataType = "int"),}) public BaseResponse<DepartmentVo> getDetail(Integer id) { Assert.notNull(id, WiosConstant.EMPTY_ID); DepartmentVo dept = departmentService.getById(id); return new BaseResponse<>(dept); } }