| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513 |
- package jnpf.permission.service.impl;
- import cn.hutool.core.text.StrPool;
- import cn.hutool.core.util.ObjectUtil;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.google.common.collect.ImmutableList;
- import com.google.common.collect.Lists;
- import jnpf.base.entity.ModuleEntity;
- import jnpf.base.entity.SystemEntity;
- import jnpf.base.service.DbLinkService;
- import jnpf.base.service.ModuleService;
- import jnpf.base.service.SuperServiceImpl;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import jnpf.base.Pagination;
- import jnpf.base.service.SystemService;
- import jnpf.config.ConfigValueUtil;
- import jnpf.constant.JnpfConst;
- import jnpf.constant.MsgCode;
- import jnpf.database.model.dto.PrepSqlDTO;
- import jnpf.database.sql.util.SqlFrameFastUtil;
- import jnpf.database.util.DataSourceUtil;
- import jnpf.constant.PermissionConst;
- import jnpf.database.util.DbTypeUtil;
- import jnpf.database.util.JdbcUtil;
- import jnpf.database.util.TenantDataSourceUtil;
- import jnpf.model.login.UserSystemVO;
- import jnpf.model.tenant.TenantAuthorizeModel;
- import jnpf.permission.entity.OrganizeAdministratorEntity;
- import jnpf.permission.entity.OrganizeEntity;
- import jnpf.permission.entity.UserEntity;
- import jnpf.permission.entity.UserRelationEntity;
- import jnpf.permission.mapper.OrganizeAdminIsTratorMapper;
- import jnpf.permission.model.organizeadministrator.OrganizeAdministratorListVo;
- import jnpf.permission.model.organizeadministrator.OrganizeAdministratorModel;
- import jnpf.permission.service.*;
- import jnpf.util.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.*;
- import java.util.stream.Collectors;
- /**
- * 机构分级管理员
- *
- * @author JNPF开发平台组
- * @version V3.1.0
- * @copyright 引迈信息技术有限公司
- * @date 2019年9月26日 上午9:18
- */
- @Service
- public class OrganizeAdministratorServiceImpl extends SuperServiceImpl<OrganizeAdminIsTratorMapper, OrganizeAdministratorEntity> implements OrganizeAdministratorService {
- @Autowired
- private OrganizeService organizeService;
- @Autowired
- private UserService userService;
- @Autowired
- private UserRelationService userRelationService;
- @Autowired
- private DbLinkService dbLinkService;
- @Autowired
- private SystemService systemApi;
- @Autowired
- private ModuleService moduleApi;
- @Autowired
- private ConfigValueUtil configValueUtil;
- @Autowired
- private AuthorizeService authorizeService;
- @Autowired
- private DataSourceUtil dataSourceUtils;
- @Override
- public OrganizeAdministratorEntity getOne(String userId, String organizeId) {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getOrganizeId, organizeId);
- // 排序
- queryWrapper.lambda().orderByAsc(OrganizeAdministratorEntity::getSortCode)
- .orderByDesc(OrganizeAdministratorEntity::getCreatorTime);
- return this.getOne(queryWrapper);
- }
- @Override
- public List<OrganizeAdministratorEntity> getOrganizeAdministratorEntity(String userId) {
- return getOrganizeAdministratorEntity(userId, PermissionConst.ORGANIZE, false);
- }
- @Override
- public List<OrganizeAdministratorEntity> getOrganizeAdministratorEntity(String userId, String type, boolean filterMain) {
- List<OrganizeAdministratorEntity> list = new ArrayList<>();
- UserEntity entity1 = userService.getInfo(userId);
- List<UserSystemVO> userStanding = authorizeService.getUserStanding(false, entity1.getId());
- boolean isAdmin = userStanding.stream().filter(t -> "1".equals(t.getId())).count() > 0;
- // 查询非组织权限
- if ((entity1 != null && isAdmin) && !PermissionConst.ORGANIZE.equals(type)) {
- List<String> collect = new ArrayList<>();
- List<String> moduleAuthorize = new ArrayList<>();
- List<String> moduleUrlAddressAuthorize = new ArrayList<>();
- if (configValueUtil.isMultiTenancy()) {
- TenantAuthorizeModel tenantAuthorizeModel = TenantDataSourceUtil.getCacheModuleAuthorize(UserProvider.getUser().getTenantId());
- moduleAuthorize = tenantAuthorizeModel.getModuleIdList();
- moduleUrlAddressAuthorize = tenantAuthorizeModel.getUrlAddressList();
- }
- if (PermissionConst.SYSTEM.equals(type)) {
- collect = systemApi.getList(null, false, false, filterMain, false, moduleAuthorize).stream().map(SystemEntity::getId).collect(Collectors.toList());
- } else if (PermissionConst.MODULE.equals(type)) {
- collect = moduleApi.getList(false, moduleAuthorize, moduleUrlAddressAuthorize).stream().map(ModuleEntity::getId).collect(Collectors.toList());
- }
- for (String t : collect) {
- OrganizeAdministratorEntity entity = new OrganizeAdministratorEntity();
- entity.setOrganizeId(t);
- entity.setId(RandomUtil.uuId());
- entity.setOrganizeType(type);
- entity.setUserId(userId);
- list.add(entity);
- }
- return list;
- }
- // 组织权限
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- if (PermissionConst.ORGANIZE.equals(type)) {
- queryWrapper.lambda().isNull(OrganizeAdministratorEntity::getOrganizeType);
- } else if (StringUtil.isNotEmpty(type)) {
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getOrganizeType, type);
- }
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- // 排序
- queryWrapper.lambda().orderByAsc(OrganizeAdministratorEntity::getSortCode)
- .orderByDesc(OrganizeAdministratorEntity::getCreatorTime);
- list = this.list(queryWrapper);
- return list;
- }
- @Override
- public List<OrganizeAdministratorEntity> getOrganizeAdministratorEntity(String userId, String type) {
- // 组织权限
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- if (PermissionConst.ORGANIZE.equals(type)) {
- queryWrapper.lambda().isNull(OrganizeAdministratorEntity::getOrganizeType);
- } else if (StringUtil.isNotEmpty(type)) {
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getOrganizeType, type);
- }
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- // 排序
- queryWrapper.lambda().orderByAsc(OrganizeAdministratorEntity::getSortCode)
- .orderByDesc(OrganizeAdministratorEntity::getCreatorTime);
- List<OrganizeAdministratorEntity> list = this.list(queryWrapper);
- return list;
- }
- @Override
- @Transactional
- public void create(OrganizeAdministratorEntity entity) {
- // 判断是新建还是删除
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getOrganizeId, entity.getOrganizeId());
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, entity.getUserId());
- // 查出数据是否重复
- OrganizeAdministratorEntity administratorEntity = this.getOne(queryWrapper);
- if (administratorEntity == null) {
- entity.setId(RandomUtil.uuId());
- entity.setCreatorUserId(UserProvider.getLoginUserId());
- entity.setCreatorTime(new Date());
- } else {
- entity.setId(administratorEntity.getId());
- entity.setCreatorUserId(UserProvider.getLoginUserId());
- entity.setLastModifyTime(new Date());
- }
- this.saveOrUpdate(entity);
- }
- @Override
- public void createList(List<OrganizeAdministratorEntity> list, String userId) {
- // QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- // queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId,userId);
- // queryWrapper.lambda().select(OrganizeAdministratorEntity::getCreatorTime);
- // IPage<OrganizeAdministratorEntity> list1 = this.page(new Page<>(1, 1), queryWrapper);
- // boolean isData = !list1.getRecords().isEmpty() && ObjectUtil.isNotEmpty(list1.getRecords().get(0).getCreatorTime());
- // Date creatorTime = isData?list1.getRecords().get(0).getCreatorTime():new Date();
- // this.remove(queryWrapper);
- // for (OrganizeAdministratorEntity entity : list) {
- // entity.setCreatorTime(creatorTime);
- // this.save(entity);
- // }
- // userService.delCurUser(MsgCode.PS010.get(), ImmutableList.of(userId),2);
- try {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- Page<OrganizeAdministratorEntity> page = new Page<>(1, 1);
- IPage<OrganizeAdministratorEntity> list1 = this.page(page, queryWrapper);
- boolean isData = !list1.getRecords().isEmpty() && ObjectUtil.isNotEmpty(list1.getRecords().get(0).getCreatorTime());
- String now = isData ? DateUtil.dateFormat(list1.getRecords().get(0).getCreatorTime()) : DateUtil.getNow();
- JdbcUtil.creUpDe(new PrepSqlDTO(XSSEscape.escapeEmpty(SqlFrameFastUtil.ADMINISTRATOR_DEL.replace("{userId}", userId))).withConn(dataSourceUtils, null));
- String sql = DbTypeUtil.checkOracle(dataSourceUtils) || DbTypeUtil.checkPostgre(dataSourceUtils) ?
- SqlFrameFastUtil.INSERT_ADMINISTRATOR2 : SqlFrameFastUtil.INSERT_ADMINISTRATOR;
- String column_key = StringUtil.EMPTY, column_plceholder = StringUtil.EMPTY, column_value = TenantDataSourceUtil.getTenantColumn();
- if (StringUtil.isNotEmpty(column_value)) {
- column_key = StrPool.COMMA + configValueUtil.getMultiTenantColumn();
- column_plceholder = ",?";
- }
- sql = sql.replace("%COLUMN_KEY%", column_key).replace("%COLUMN_PLACEHOLDER%", column_plceholder);
- PrepSqlDTO dto = new PrepSqlDTO(sql).withConn(dataSourceUtils, null);
- for (OrganizeAdministratorEntity entity : list) {
- List<Object> data = new LinkedList<>();
- data.add(RandomUtil.uuId());
- data.add(userId);
- data.add(entity.getOrganizeId());
- data.add(entity.getOrganizeType());
- data.add(entity.getThisLayerAdd());
- data.add(entity.getThisLayerEdit());
- data.add(entity.getThisLayerDelete());
- data.add(entity.getSubLayerAdd());
- data.add(entity.getSubLayerEdit());
- data.add(entity.getSubLayerDelete());
- data.add(entity.getThisLayerSelect());
- data.add(entity.getSubLayerSelect());
- data.add(entity.getManagerGroup());
- data.add(now);
- data.add(UserProvider.getLoginUserId());
- data.add(1);
- if (StringUtil.isNotEmpty(column_value)) {
- data.add(column_value);
- }
- dto.addMultiData(data);
- }
- JdbcUtil.creUpDeBatchOneSql(dto);
- userService.delCurUser(MsgCode.PS010.get(), ImmutableList.of(userId));
- } catch (Exception e) {
- e.printStackTrace();
- log.error("分级报错:" + e.getMessage());
- }
- }
- @Override
- public boolean update(String organizeId, OrganizeAdministratorEntity entity) {
- entity.setId(entity.getId());
- entity.setLastModifyTime(DateUtil.getNowDate());
- entity.setLastModifyUserId(UserProvider.getLoginUserId());
- return this.updateById(entity);
- }
- @Override
- public boolean deleteByUserId(String userId) {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- boolean remove = this.remove(queryWrapper);
- userService.delCurUser(MsgCode.PS010.get(), ImmutableList.of(userId));
- userService.updateStand(ImmutableList.of(userId), 2);
- return remove;
- }
- @Override
- public List<OrganizeAdministratorEntity> getInfoByUserId(String userId) {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getEnabledMark, 1);
- return this.list(queryWrapper);
- }
- @Override
- public OrganizeAdministratorEntity getInfo(String id) {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getId, id);
- return this.getOne(queryWrapper);
- }
- @Override
- public void delete(OrganizeAdministratorEntity entity) {
- this.removeById(entity.getId());
- }
- @Override
- public String getManagerGroupByUserId(String userId) {
- if (StringUtil.isEmpty(userId)) {
- return null;
- }
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getUserId, userId);
- List<OrganizeAdministratorEntity> list = this.list(queryWrapper);
- return list.size() > 0 ? list.get(0).getManagerGroup() : null;
- }
- @Override
- public OrganizeAdministratorEntity getInfoByOrganizeId(String organizeId) {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(OrganizeAdministratorEntity::getOrganizeId, organizeId);
- return this.getOne(queryWrapper);
- }
- @Override
- public List<OrganizeAdministratorEntity> getListByOrganizeId(List<String> organizeIdList) {
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().in(OrganizeAdministratorEntity::getOrganizeId, organizeIdList);
- return this.list(queryWrapper);
- }
- @Override
- public List<OrganizeAdministratorListVo> getList(Pagination pagination) {
- List<OrganizeAdministratorEntity> list = getOrganizeAdministratorEntity(UserProvider.getLoginUserId(), PermissionConst.ORGANIZE, false);
- Map<String, String> orgIdNameMaps = organizeService.getInfoList();
- List<String> organizeIdList;
- Map<String, OrganizeEntity> orgMaps = organizeService.getOrgMaps(null, true, null);
- // 存放所有的有资格管理的组织id
- if (UserProvider.getUser().getIsAdministrator()) {
- organizeIdList = new ArrayList<>(orgMaps.keySet());
- } else {
- Set<String> orgId = new HashSet<>(16);
- // 判断自己是哪些组织的管理员
- list.stream().forEach(t -> {
- if (t != null) {
- // t.getThisLayerAdd() == 1 || t.getThisLayerEdit() == 1 || t.getThisLayerDelete() == 1 || (StringUtil.isNotEmpty(String.valueOf(t.getSubLayerSelect())) && t.getThisLayerSelect() == 1)
- if (t.getSubLayerSelect() != null && t.getThisLayerSelect() == 1) {
- orgId.add(t.getOrganizeId());
- }
- // t.getSubLayerAdd() == 1 || t.getSubLayerEdit() == 1 || t.getSubLayerDelete() == 1 || (StringUtil.isNotEmpty(String.valueOf(t.getSubLayerSelect())) && t.getSubLayerSelect() == 1)
- if (t.getSubLayerSelect() != null && t.getSubLayerSelect() == 1) {
- List<String> underOrganizations = organizeService.getUnderOrganizations(t.getOrganizeId(), true);
- orgId.addAll(underOrganizations);
- }
- }
- });
- organizeIdList = new ArrayList<>(orgId);
- }
- if (organizeIdList.size() < 1) {
- organizeIdList.add("");
- }
- List<OrganizeAdministratorListVo> jsonToList = new ArrayList<>();
- List<List<String>> organizeList = Lists.partition(organizeIdList, 1000);
- List<String> userId = new ArrayList<>();
- for (List<String> objectId : organizeList) {
- userId.addAll(userRelationService.getListByOrgId(objectId).stream().map(UserRelationEntity::getUserId).collect(Collectors.toList()));
- }
- userId.remove(UserProvider.getUser().getUserId());
- if (userId.isEmpty()) {
- return jsonToList;
- }
- QueryWrapper<UserEntity> userWrapper = new QueryWrapper<>();
- userWrapper.lambda().select(UserEntity::getId, UserEntity::getAccount, UserEntity::getRealName, UserEntity::getGender, UserEntity::getMobilePhone);
- List<List<String>> userIdList = Lists.partition(userId, 1000);
- userWrapper.lambda().and(t -> {
- for (List<String> id : userIdList) {
- t.in(UserEntity::getId, id).or();
- }
- });
- userWrapper.lambda().eq(UserEntity::getEnabledMark, 1);
- if (StringUtil.isNotEmpty(pagination.getKeyword())) {
- userWrapper.lambda().and(
- t -> t.like(UserEntity::getRealName, pagination.getKeyword())
- .or().like(UserEntity::getAccount, pagination.getKeyword())
- .or().like(UserEntity::getMobilePhone, pagination.getKeyword())
- );
- }
- List<UserEntity> userList = userService.list(userWrapper);
- if (userList.isEmpty()) {
- return jsonToList;
- }
- QueryWrapper<OrganizeAdministratorEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().isNotNull(OrganizeAdministratorEntity::getManagerGroup);
- queryWrapper.lambda().select(OrganizeAdministratorEntity::getUserId, OrganizeAdministratorEntity::getCreatorTime, OrganizeAdministratorEntity::getManagerGroup);
- List<List<String>> userIds = Lists.partition(userList.stream().map(UserEntity::getId).collect(Collectors.toList()), 1000);
- queryWrapper.lambda().and(t -> {
- for (List<String> id : userIds) {
- t.in(OrganizeAdministratorEntity::getUserId, id).or();
- }
- });
- queryWrapper.lambda().orderByDesc(OrganizeAdministratorEntity::getCreatorTime);
- List<OrganizeAdministratorEntity> entityList = this.list(queryWrapper);
- List<String> ids = new ArrayList<>();
- for (OrganizeAdministratorEntity entity : entityList) {
- if (!ids.contains(entity.getUserId())) {
- ids.add(entity.getUserId());
- }
- }
- List listPage = PageUtil.getListPage((int) pagination.getCurrentPage(), (int) pagination.getPageSize(), ids);
- if (!listPage.isEmpty()) {
- List<OrganizeAdministratorEntity> organizeAdminList = entityList.stream().filter(t -> listPage.contains(t.getUserId())).distinct().sorted(Comparator.comparing(OrganizeAdministratorEntity::getCreatorTime).reversed()).collect(Collectors.toList());
- for (OrganizeAdministratorEntity entity : organizeAdminList) {
- UserEntity info = userList.stream().filter(t -> t.getId().equals(entity.getUserId())).findFirst().orElse(null);
- if (info != null) {
- OrganizeAdministratorListVo vo = JsonUtil.getJsonToBean(info, OrganizeAdministratorListVo.class);
- // 所属组织
- List<UserRelationEntity> orgRelationByUserId = userRelationService.getAllOrgRelationByUserId(entity.getUserId());
- StringBuilder orgName = new StringBuilder();
- orgRelationByUserId.stream().forEach(or -> {
- OrganizeEntity organizeEntity = orgMaps.get(or.getObjectId());
- if (organizeEntity != null && StringUtil.isNotEmpty(organizeEntity.getOrganizeIdTree())) {
- String fullNameByOrgIdTree = organizeService.getFullNameByOrgIdTree(orgIdNameMaps, organizeEntity.getOrganizeIdTree(), "/");
- orgName.append("," + fullNameByOrgIdTree);
- }
- });
- // 组织名称
- String org = orgName.length() > 0 ? orgName.toString().replaceFirst(",", "") : "";
- vo.setOrganizeId(org);
- vo.setManagerGroup(entity.getManagerGroup());
- vo.setCreatorTime(entity.getCreatorTime().getTime());
- jsonToList.add(vo);
- }
- }
- }
- return pagination.setData(jsonToList, ids.size());
- }
- @Override
- public List<String> getOrganizeUserList(String type) {
- if (UserProvider.getUser().getIsAdministrator()) {
- return organizeService.getList(true).stream().map(OrganizeEntity::getId).collect(Collectors.toList());
- }
- List<OrganizeAdministratorEntity> list = getOrganizeAdministratorEntity(UserProvider.getLoginUserId());
- Set<String> orgId = new HashSet<>(16);
- // 判断自己是哪些组织的管理员
- list.stream().forEach(t -> {
- if (t != null) {
- if (t.getSubLayerSelect() != null && t.getThisLayerSelect() == 1) {
- orgId.add(t.getOrganizeId());
- }
- if (t.getSubLayerSelect() != null && t.getSubLayerSelect() == 1) {
- List<String> underOrganizations = organizeService.getUnderOrganizations(t.getOrganizeId(), true);
- orgId.addAll(underOrganizations);
- }
- }
- });
- List<String> orgIds = new ArrayList<>(orgId);
- if (JnpfConst.CURRENT_ORG_SUB.equals(type)) {
- return orgIds;
- }
- List<String> userList = userRelationService.getListByObjectIdAll(orgIds).stream().map(UserRelationEntity::getUserId).collect(Collectors.toList());
- return userList;
- }
- @Override
- public List<OrganizeEntity> getListByAuthorize() {
- // 通过权限转树
- List<OrganizeAdministratorEntity> listss = getOrganizeAdministratorEntity(UserProvider.getLoginUserId());
- Set<String> orgIds = new HashSet<>(16);
- // 判断自己是哪些组织的管理员
- listss.stream().forEach(t -> {
- if (t != null) {
- if (t.getThisLayerSelect() != null && t.getThisLayerSelect() == 1) {
- orgIds.add(t.getOrganizeId());
- }
- if (t.getSubLayerSelect() != null && t.getSubLayerSelect() == 1) {
- List<String> underOrganizations = organizeService.getUnderOrganizations(t.getOrganizeId(), true);
- orgIds.addAll(underOrganizations);
- }
- }
- });
- List<String> list1 = new ArrayList<>(orgIds);
- // 得到所有有权限的组织
- List<OrganizeEntity> organizeName = organizeService.getOrganizeName(list1);
- return organizeName;
- }
- @Override
- public OrganizeAdministratorModel getOrganizeAdministratorList() {
- // 通过权限转树
- List<OrganizeAdministratorEntity> list = getOrganizeAdministratorEntity(UserProvider.getUser().getUserId());
- List<String> addList = new ArrayList<>();
- List<String> editList = new ArrayList<>();
- List<String> deleteList = new ArrayList<>();
- List<String> selectList = new ArrayList<>();
- // 判断自己是哪些组织的管理员
- list.forEach(t -> {
- if (t != null) {
- //查询
- if (t.getThisLayerSelect() != null && t.getThisLayerSelect() == 1) {
- selectList.add(t.getOrganizeId());
- //修改
- if (t.getThisLayerEdit() != null && t.getThisLayerEdit() == 1) {
- editList.add(t.getOrganizeId());
- }
- //删除
- if (t.getThisLayerDelete() != null && t.getThisLayerDelete() == 1) {
- deleteList.add(t.getOrganizeId());
- }
- //新增
- if (t.getThisLayerAdd() != null && t.getThisLayerAdd() == 1) {
- addList.add(t.getOrganizeId());
- }
- }
- //查询
- if (t.getSubLayerSelect() != null && t.getSubLayerSelect() == 1) {
- List<String> underOrganizations = organizeService.getUnderOrganizations(t.getOrganizeId(), false);
- selectList.addAll(underOrganizations);
- //修改
- if (t.getSubLayerEdit() != null && t.getSubLayerEdit() == 1) {
- editList.addAll(underOrganizations);
- }
- //删除
- if (t.getSubLayerDelete() != null && t.getSubLayerDelete() == 1) {
- deleteList.addAll(underOrganizations);
- }
- //新增
- if (t.getSubLayerAdd() != null && t.getSubLayerAdd() == 1) {
- addList.addAll(underOrganizations);
- }
- }
- }
- });
- OrganizeAdministratorModel model = new OrganizeAdministratorModel(addList, editList, deleteList, selectList);
- return model;
- }
- }
|