Commit ce7296ec by guojuxing

商会规则,部分商户进行运维用户过滤

parent ce5453e9
......@@ -145,7 +145,7 @@ public interface ConfigRuleApiService {
* @param search
公司名称/商户名称
* @return com.gic.api.base.commons.ServiceResponse<java.util.List<com.gic.enterprise.dto.rule.EnterpriseListDTO>>


*/
ServiceResponse<List<EnterpriseListDTO>> getEnterpriseList(String search);
ServiceResponse<List<EnterpriseListDTO>> getEnterpriseList(String search, List<Integer> enterpriseIdList);
/**
* 获取应用列表字典数据
......
......@@ -7,10 +7,7 @@ import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.dto.EnterpriseDTO;
import com.gic.enterprise.dto.rule.*;
import com.gic.enterprise.entity.TabConfigRule;
import com.gic.enterprise.entity.TabConfigRuleEnterprise;
import com.gic.enterprise.entity.TabConfigRuleEnterpriseRel;
import com.gic.enterprise.entity.TabConfigRuleRel;
import com.gic.enterprise.entity.*;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.service.ConfigRuleApiService;
import com.gic.enterprise.service.ConfigRuleEnterpriseService;
......@@ -546,7 +543,7 @@ public class ConfigRuleApiServiceImpl implements ConfigRuleApiService {
}
@Override
public ServiceResponse<List<EnterpriseListDTO>> getEnterpriseList(String search) {
public ServiceResponse<List<EnterpriseListDTO>> getEnterpriseList(String search, List<Integer> enterpriseIdList) {
Map<String, TabConfigRuleEnterpriseRel> enterpriseMap = new HashMap<>(16);
Map<String, String> enterpriseRuleMap = new HashMap<>(16);
......@@ -565,7 +562,14 @@ public class ConfigRuleApiServiceImpl implements ConfigRuleApiService {
ruleEnterpriseDTO.getRuleName());
}
}
List<EnterpriseDTO> enterpriseDTOList = enterpriseService.listEnterprise();
//过滤运维后台登录用户的权限商户数据,如果是空,表示全部商户
List<EnterpriseDTO> enterpriseDTOList;
if (CollectionUtils.isNotEmpty(enterpriseIdList)) {
enterpriseDTOList = EntityUtil.changeEntityListNew(EnterpriseDTO.class, enterpriseService.listEnterpriseByIds(enterpriseIdList));
} else {
enterpriseDTOList =enterpriseService.listEnterprise();
}
if (CollectionUtils.isNotEmpty(enterpriseDTOList)) {
List<EnterpriseListDTO> resultList = new ArrayList<>(enterpriseDTOList.size());
......
......@@ -162,7 +162,7 @@ public class ConfigRuleEnterpriseApiServiceImpl implements ConfigRuleEnterpriseA
List<TabConfigRuleEnterpriseRel> rel = configRuleEnterpriseService.listEnterprise();
return ServiceResponse.success(Optional.ofNullable(rel).orElse(new ArrayList<>())
.stream()
.filter(e -> Optional.ofNullable(enterpriseRuleId).orElse(-111).intValue() != e.getEnterpriseId().intValue()
.filter(e -> Optional.ofNullable(enterpriseRuleId).orElse(-111).intValue() != e.getEnterpriseRuleId().intValue()
&& enterpriseIdList.contains(e.getEnterpriseId().toString()))
.map(e -> enterpriseIdMapName.get(e.getEnterpriseId().toString()))
.collect(Collectors.toList()));
......
package com.gic.operation.web.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import com.gic.authcenter.security.core.constant.DataResourceEnum;
import com.gic.authcenter.security.core.dto.AuthcenterUserDetails;
import com.gic.authcenter.security.core.dto.EnterpriseTempDTO;
import com.gic.authcenter.security.core.dto.UserDetailsVO;
import com.gic.authcenter.security.core.util.UserUtils;
import com.gic.enterprise.error.ErrorCode;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -195,7 +198,26 @@ public class ConfigRuleController {

*/
@RequestMapping("/list-enterprise-select")
public RestResponse listEnterpriseSelect(String search) {
return ResultControllerUtils.commonResult(configRuleApiService.getEnterpriseList(search));
//过滤运维用户的权限商户
UserDetailsVO user = UserUtils.getUser();
//是否拥有全部商户
boolean permissionAll = user.getAuthorities().stream().anyMatch(
sga -> Objects.equals(sga.getAuthority(),
AuthcenterUserDetails.DATA_PREFIX + DataResourceEnum.all_enterprise.name()
)
);
List<Integer> enterpriseIdList = null;
if (!permissionAll) {
//运维拥有的权限商户ID集合
enterpriseIdList = new ArrayList<>();
List<EnterpriseTempDTO> enterpriseTemp = user.getEnterpriseList();
if (CollectionUtils.isNotEmpty(enterpriseTemp)) {
for (EnterpriseTempDTO enterpriseTempDTO : enterpriseTemp) {
enterpriseIdList.add(Integer.parseInt(enterpriseTempDTO.getEnterpriseId()));
}
}
}
return ResultControllerUtils.commonResult(configRuleApiService.getEnterpriseList(search, enterpriseIdList));
}
@RequestMapping("/deleteEnterpriseRule")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment