| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package cn.com.goldenwater.dcproj.service.impl.system;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.dao.BisInspAllRlationPersDao;
- import cn.com.goldenwater.dcproj.dao.RoleDao;
- import cn.com.goldenwater.dcproj.dao.RolePrivDao;
- import cn.com.goldenwater.dcproj.dto.RoleDto;
- import cn.com.goldenwater.dcproj.enums.SystemFlagEnum;
- import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
- import cn.com.goldenwater.dcproj.model.Role;
- import cn.com.goldenwater.dcproj.param.GetRoleByUserIdParam;
- import cn.com.goldenwater.dcproj.param.RoleParam;
- import cn.com.goldenwater.dcproj.param.RolePrivParam;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.service.RoleService;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Optional;
- import java.util.stream.Collectors;
- /**
- * @author lune
- * @date 2018-2-13
- */
- @Service
- @Transactional
- public class RoleServiceImpl extends AbstractCrudService<Role, RoleParam> implements RoleService {
- @Autowired
- private RoleDao roleDao;
- @Autowired
- private RolePrivDao rolePrivDao;
- @Autowired
- private BisInspAllRlationPersDao bisInspAllRlationPersDao;
- public RoleServiceImpl(RoleDao roleDao) {
- super(roleDao);
- this.roleDao = roleDao;
- }
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- @Override
- public PageInfo<RoleDto> getRoleByUserId(GetRoleByUserIdParam p) throws Exception {
- // 获取机构编码,非水利部机构需要输入对应级地区编码(必须)
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(p.getOrgId()));
- // 获取用户信息
- BisInspAllRlationPers per = bisInspAllRlationPersDao.get(p.getId());
- Optional.ofNullable(per).orElseThrow(() -> new Exception("此用户不存在:" + p.getId()));
- Optional.of(per).map(BisInspAllRlationPers::getOwnerSystem)
- .orElseThrow(() -> new Exception("用户所属系统不正确:" + per.getOwnerSystem()));
- List<String> systemList = new ArrayList<>(2);
- // 判断是否是督查系统全系统
- if (!SystemFlagEnum.DC_ALL.getValue().equals(per.getOwnerSystem())) {
- systemList.add(SystemFlagEnum.DC_ALL.getValue());
- systemList.add(per.getOwnerSystem());
- }
- // PageHelper.startPage(p.getPageNum(), p.getPageSize());
- List<RoleDto> list = roleDao.getRoleByUserId(p.getId(), systemList, p.getRoleName(), p.getOrgId(), province);
- List<RoleDto> pageList = list.stream()
- .filter(role -> {
- if (StringUtils.isNotBlank(p.getPersType()) && StringUtils.isNotBlank(role.getPersType())) {
- return "0".equals(role.getPersType()) || role.getPersType().equals(p.getPersType());
- }
- return true;
- })
- .skip(p.getPageSize() * (p.getPageNum() - 1))
- .limit(p.getPageSize()).collect(Collectors.toList());
- PageInfo<RoleDto> pageInfo = new PageInfo<>(pageList);
- pageInfo.setTotal(list.size());
- return pageInfo;
- }
- @Override
- public List<RoleDto> findPageDto(RoleParam roleParam) {
- PageHelper.startPage(roleParam.getPageNum(), roleParam.getPageSize(), false);
- return roleDao.findPageDto(roleParam);
- }
- @Override
- public PageInfo<RoleDto> findPageInfoDto(RoleParam roleParam) {
- PageHelper.startPage(roleParam.getPageNum(), roleParam.getPageSize(), true);
- List<RoleDto> list = roleDao.findPageDto(roleParam);
- return new PageInfo<>(list);
- }
- @Override
- public void insertRole(Role role, List<RolePrivParam> list, RolePrivParam param) {
- roleDao.insert(role);
- rolePrivDao.deleteBy(param);
- if (null != list && list.size() > 0) {
- rolePrivDao.addRolePriv(list);
- }
- }
- @Override
- public void updateRole(Role role, List<RolePrivParam> list, RolePrivParam param) {
- roleDao.update(role);
- rolePrivDao.deleteBy(param);
- if (null != list && list.size() > 0) {
- rolePrivDao.addRolePriv(list);
- }
- }
- }
|