Commit d0979227 authored by wujiang's avatar wujiang

修复权限树不正确

parent 5175a6c3
...@@ -6,4 +6,5 @@ import java.util.List; ...@@ -6,4 +6,5 @@ import java.util.List;
public interface IPermissionService { public interface IPermissionService {
List<String> getCurrentUserPermissions(); List<String> getCurrentUserPermissions();
List<String> getCurrentUserProjectOrgCodes(); List<String> getCurrentUserProjectOrgCodes();
List<String> getCurrentUserAmosOrgCodes();
} }
...@@ -16,6 +16,7 @@ import org.springframework.util.ObjectUtils; ...@@ -16,6 +16,7 @@ import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -23,74 +24,103 @@ import java.util.stream.Collectors; ...@@ -23,74 +24,103 @@ import java.util.stream.Collectors;
@Service @Service
public class IPermissionServiceImpl implements IPermissionService { public class IPermissionServiceImpl implements IPermissionService {
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
@Autowired @Autowired
private UserEmpowerMapper userEmpowerMapper; private UserEmpowerMapper userEmpowerMapper;
@Autowired @Autowired
private StationBasicMapper stationBasicMapper; private StationBasicMapper stationBasicMapper;
@Override @Override
public List<String> getCurrentUserPermissions() { public List<String> getCurrentUserPermissions() {
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils
String userId = reginParams.getUserModel().getUserId(); .get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(),
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH")); ReginParams.class);
if (ObjectUtils.isEmpty(stdUserEmpower)) { String userId = reginParams.getUserModel().getUserId();
return null; StdUserEmpower stdUserEmpower = userEmpowerMapper
} else { .selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
String permissionOrgCode = stdUserEmpower.getAmosOrgCode().get(0); if (ObjectUtils.isEmpty(stdUserEmpower)) {
Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode); return null;
String companyLevel = companyInfo.get("level"); } else {
if (companyLevel.equals("categroy_leve2")) { String permissionOrgCode = stdUserEmpower.getAmosOrgCode().get(0);
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode)); Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode);
result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList()); String companyLevel = companyInfo.get("level");
return result; if (companyLevel.equals("categroy_leve2")) {
} List<StationBasic> stationBasics = stationBasicMapper
if (companyLevel.equals("area")) { .selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode)); result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList()); return result;
return result; }
} if (companyLevel.equals("area")) {
if (companyLevel.equals("station")) { List<StationBasic> stationBasics = stationBasicMapper
StationBasic stationBasic = stationBasicMapper.selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode)); .selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
result.add(stationBasic.getFanGatewayId()); result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
return result; return result;
} }
} if (companyLevel.equals("station")) {
return result; StationBasic stationBasic = stationBasicMapper
} .selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode));
result.add(stationBasic.getFanGatewayId());
return result;
}
}
return result;
}
@Override @Override
public List<String> getCurrentUserProjectOrgCodes() { public List<String> getCurrentUserProjectOrgCodes() {
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils
String userId = reginParams.getUserModel().getUserId(); .get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(),
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH")); ReginParams.class);
if (ObjectUtils.isEmpty(stdUserEmpower)) { String userId = reginParams.getUserModel().getUserId();
return null; StdUserEmpower stdUserEmpower = userEmpowerMapper
} else { .selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
String permissionOrgCode = stdUserEmpower.getAmosOrgCode().get(0); if (ObjectUtils.isEmpty(stdUserEmpower)) {
Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode); return null;
String companyLevel = companyInfo.get("level"); } else {
if (companyLevel.equals("categroy_leve2")) { String permissionOrgCode = stdUserEmpower.getAmosOrgCode().get(0);
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode)); Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode);
result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList()); String companyLevel = companyInfo.get("level");
return result; if (companyLevel.equals("categroy_leve2")) {
} List<StationBasic> stationBasics = stationBasicMapper
if (companyLevel.equals("area")) { .selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode)); result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList());
result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList()); return result;
return result; }
} if (companyLevel.equals("area")) {
if (companyLevel.equals("station")) { List<StationBasic> stationBasics = stationBasicMapper
StationBasic stationBasic = stationBasicMapper.selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode)); .selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
result.add(stationBasic.getProjectOrgCode()); result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList());
return result; return result;
} }
} if (companyLevel.equals("station")) {
return result; StationBasic stationBasic = stationBasicMapper
} .selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode));
result.add(stationBasic.getProjectOrgCode());
return result;
}
}
return result;
}
@Override
public List<String> getCurrentUserAmosOrgCodes() {
List<String> result = new ArrayList<>();
ReginParams reginParams = JSONObject.parseObject(redisUtils
.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(),
ReginParams.class);
String userId = reginParams.getUserModel().getUserId();
StdUserEmpower stdUserEmpower = userEmpowerMapper
.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
if (ObjectUtils.isEmpty(stdUserEmpower)) {
return new ArrayList<>();
} else {
return stdUserEmpower.getAmosOrgCode() != null ? Arrays.asList(stdUserEmpower.getAmosOrgCode().get(0))
: new ArrayList<>();
}
}
} }
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