Search in sources :

Example 1 with SysDept

use of com.jun.plugin.system.entity.SysDept in project jun_springboot_api_service by wujun728.

the class DeptController method getDeptAll.

@GetMapping("/depts")
@ApiOperation(value = "获取机构列表接口")
@LogAnnotation(title = "机构管理", action = "获取所有组织机构")
@RequiresPermissions("sys:dept:list")
public DataResult getDeptAll() {
    List<SysDept> deptList = deptService.list();
    deptList.parallelStream().forEach(entity -> {
        SysDept parentDept = deptService.getById(entity.getPid());
        if (parentDept != null) {
            entity.setPidName(parentDept.getName());
        }
    });
    return DataResult.success(deptList);
}
Also used : SysDept(com.jun.plugin.system.entity.SysDept) LogAnnotation(com.jun.plugin.system.common.aop.annotation.LogAnnotation) RequiresPermissions(org.apache.shiro.authz.annotation.RequiresPermissions) ApiOperation(io.swagger.annotations.ApiOperation)

Example 2 with SysDept

use of com.jun.plugin.system.entity.SysDept in project jun_springboot_api_service by wujun728.

the class DeptServiceImpl method addDept.

@Override
public void addDept(SysDept vo) {
    String relationCode;
    String deptCode = this.getNewDeptCode();
    SysDept parent = sysDeptMapper.selectById(vo.getPid());
    if ("0".equals(vo.getPid())) {
        relationCode = deptCode;
    } else if (null == parent) {
        throw new BusinessException(BaseResponseCode.DATA_ERROR);
    } else {
        relationCode = parent.getRelationCode() + deptCode;
    }
    vo.setDeptNo(deptCode);
    vo.setRelationCode(relationCode);
    vo.setStatus(1);
    sysDeptMapper.insert(vo);
}
Also used : BusinessException(com.jun.plugin.system.common.exception.BusinessException) SysDept(com.jun.plugin.system.entity.SysDept)

Example 3 with SysDept

use of com.jun.plugin.system.entity.SysDept in project jun_springboot_api_service by wujun728.

the class DeptServiceImpl method getChild.

private List<DeptRespNodeVO> getChild(String id, List<SysDept> all) {
    List<DeptRespNodeVO> list = new ArrayList<>();
    for (SysDept sysDept : all) {
        if (sysDept.getPid().equals(id)) {
            DeptRespNodeVO deptTree = new DeptRespNodeVO();
            BeanUtils.copyProperties(sysDept, deptTree);
            deptTree.setTitle(sysDept.getName());
            deptTree.setChildren(getChild(sysDept.getId(), all));
            list.add(deptTree);
        }
    }
    return list;
}
Also used : DeptRespNodeVO(com.jun.plugin.system.vo.resp.DeptRespNodeVO) SysDept(com.jun.plugin.system.entity.SysDept) ArrayList(java.util.ArrayList)

Example 4 with SysDept

use of com.jun.plugin.system.entity.SysDept in project jun_springboot_api_service by wujun728.

the class DeptServiceImpl method deptTreeList.

@Override
public List<DeptRespNodeVO> deptTreeList(String deptId, Boolean disabled) {
    List<SysDept> list;
    if (StringUtils.isEmpty(deptId)) {
        list = sysDeptMapper.selectList(Wrappers.emptyWrapper());
    } else {
        SysDept sysDept = sysDeptMapper.selectById(deptId);
        if (sysDept == null) {
            throw new BusinessException(BaseResponseCode.DATA_ERROR);
        }
        LambdaQueryWrapper<SysDept> queryWrapper = Wrappers.<SysDept>lambdaQuery().likeRight(SysDept::getRelationCode, sysDept.getRelationCode());
        List<Object> childIds = sysDeptMapper.selectObjs(queryWrapper);
        list = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery().notIn(SysDept::getId, childIds));
    }
    // 默认加一个顶级方便新增顶级部门
    DeptRespNodeVO respNodeVO = new DeptRespNodeVO();
    respNodeVO.setTitle("默认顶级部门");
    respNodeVO.setId("0");
    respNodeVO.setSpread(true);
    respNodeVO.setDisabled(disabled);
    respNodeVO.setChildren(getTree(list));
    List<DeptRespNodeVO> result = new ArrayList<>();
    result.add(respNodeVO);
    return result;
}
Also used : DeptRespNodeVO(com.jun.plugin.system.vo.resp.DeptRespNodeVO) BusinessException(com.jun.plugin.system.common.exception.BusinessException) SysDept(com.jun.plugin.system.entity.SysDept) ArrayList(java.util.ArrayList)

Example 5 with SysDept

use of com.jun.plugin.system.entity.SysDept in project jun_springboot_api_service by wujun728.

the class HomeServiceImpl method getHomeInfo.

@Override
public HomeRespVO getHomeInfo(String userId) {
    SysUser sysUser = userService.getById(userId);
    UserInfoRespVO vo = new UserInfoRespVO();
    if (sysUser != null) {
        BeanUtils.copyProperties(sysUser, vo);
        SysDept sysDept = deptService.getById(sysUser.getDeptId());
        if (sysDept != null) {
            vo.setDeptId(sysDept.getId());
            vo.setDeptName(sysDept.getName());
        }
    }
    List<PermissionRespNode> menus = permissionService.permissionTreeList(userId);
    HomeRespVO respVO = new HomeRespVO();
    respVO.setMenus(menus);
    respVO.setUserInfo(vo);
    return respVO;
}
Also used : SysUser(com.jun.plugin.system.entity.SysUser) HomeRespVO(com.jun.plugin.system.vo.resp.HomeRespVO) UserInfoRespVO(com.jun.plugin.system.vo.resp.UserInfoRespVO) SysDept(com.jun.plugin.system.entity.SysDept) PermissionRespNode(com.jun.plugin.system.vo.resp.PermissionRespNode)

Aggregations

SysDept (com.jun.plugin.system.entity.SysDept)10 BusinessException (com.jun.plugin.system.common.exception.BusinessException)5 SysUser (com.jun.plugin.system.entity.SysUser)4 DeptRespNodeVO (com.jun.plugin.system.vo.resp.DeptRespNodeVO)3 ArrayList (java.util.ArrayList)3 IPage (com.baomidou.mybatisplus.core.metadata.IPage)1 Page (com.baomidou.mybatisplus.extension.plugins.pagination.Page)1 LogAnnotation (com.jun.plugin.system.common.aop.annotation.LogAnnotation)1 HomeRespVO (com.jun.plugin.system.vo.resp.HomeRespVO)1 LoginRespVO (com.jun.plugin.system.vo.resp.LoginRespVO)1 PermissionRespNode (com.jun.plugin.system.vo.resp.PermissionRespNode)1 UserInfoRespVO (com.jun.plugin.system.vo.resp.UserInfoRespVO)1 ApiOperation (io.swagger.annotations.ApiOperation)1 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)1 Transactional (org.springframework.transaction.annotation.Transactional)1