|
|
@@ -1,7 +1,25 @@
|
|
|
package com.lc.ibps.org.provider;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+import com.lc.ibps.cloud.entity.*;
|
|
|
+import com.lc.ibps.org.party.persistence.entity.*;
|
|
|
+import com.lc.ibps.platform.service.PartyRoleProviderService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+
|
|
|
import com.lc.ibps.api.base.constants.StateEnum;
|
|
|
-import com.lc.ibps.api.base.file.FileInfo;
|
|
|
import com.lc.ibps.api.base.model.PartyEntity;
|
|
|
import com.lc.ibps.api.base.query.QueryFilter;
|
|
|
import com.lc.ibps.api.base.query.QueryOP;
|
|
|
@@ -16,10 +34,8 @@ import com.lc.ibps.base.core.util.string.StringUtil;
|
|
|
import com.lc.ibps.base.framework.request.signature.annotation.Signature;
|
|
|
import com.lc.ibps.base.framework.utils.PageUtil;
|
|
|
import com.lc.ibps.base.web.context.ContextUtil;
|
|
|
-import com.lc.ibps.cloud.entity.*;
|
|
|
import com.lc.ibps.cloud.provider.GenericProvider;
|
|
|
import com.lc.ibps.cloud.utils.RequestUtil;
|
|
|
-import com.lc.ibps.components.upload.util.UploadUtil;
|
|
|
import com.lc.ibps.org.api.IPartyRoleMgrService;
|
|
|
import com.lc.ibps.org.api.IPartyRoleService;
|
|
|
import com.lc.ibps.org.auth.persistence.entity.RoleSystemPo;
|
|
|
@@ -28,31 +44,26 @@ import com.lc.ibps.org.auth.repository.RoleSystemRepository;
|
|
|
import com.lc.ibps.org.auth.repository.SubSystemRepository;
|
|
|
import com.lc.ibps.org.party.builder.PartyRoleBaseBuilder;
|
|
|
import com.lc.ibps.org.party.domain.PartyRole;
|
|
|
-import com.lc.ibps.org.party.persistence.entity.*;
|
|
|
import com.lc.ibps.org.party.repository.DefaultPartyRoleRepository;
|
|
|
import com.lc.ibps.org.party.repository.PartyEntityRepository;
|
|
|
import com.lc.ibps.org.party.repository.PartyRoleRepository;
|
|
|
import com.lc.ibps.org.util.PartyUtil;
|
|
|
import com.lc.ibps.org.vo.IdKeyVo;
|
|
|
-import com.lc.ibps.platform.service.PartyRoleProviderService;
|
|
|
-import io.swagger.annotations.*;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
-import javax.annotation.Resource;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
+import io.swagger.annotations.Extension;
|
|
|
+import io.swagger.annotations.ExtensionProperty;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.net.URLEncoder;
|
|
|
-import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 角色管理
|
|
|
- *
|
|
|
+ *
|
|
|
* <pre>
|
|
|
* 构建组:ibps-provider-org
|
|
|
* 作者:lvmiancan
|
|
|
@@ -83,13 +94,13 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
private SubSystemRepository subSystemRepository;
|
|
|
@Autowired
|
|
|
private PartyRoleProviderService partyRoleProviderService;
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 根据角色ID获取角色信息包含系统信息
|
|
|
*
|
|
|
* @param roleIds
|
|
|
- * 组织的角色ids
|
|
|
- * relRoles
|
|
|
+ * 组织的角色ids
|
|
|
+ * relRoles
|
|
|
* 岗位关联角色ids
|
|
|
* @return
|
|
|
* @deprecated 2.0 已经移除这个接口
|
|
|
@@ -97,7 +108,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "根据角色ID获取角色信息包含系统信息", notes = "根据角色ID获取角色信息包含系统信息")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRolePo>> queryWithSysByIds(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
APIResult<APIPageList<PartyRolePo>> result = new APIResult<>();
|
|
|
List<APIRequestParameter> parameters = request.getParameters();
|
|
|
@@ -108,7 +119,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
List<String> ids = new ArrayList<>();
|
|
|
if (BeanUtils.isNotEmpty(parameters)) {
|
|
|
logger.debug("com.lc.ibps.org.provider.PartyRoleProvider.queryWithSysByIds()--->params={}",
|
|
|
- parameters.toString());
|
|
|
+ parameters.toString());
|
|
|
for (APIRequestParameter apiRequestParameter : parameters) {
|
|
|
String key = apiRequestParameter.getKey();
|
|
|
String value = apiRequestParameter.getValue();
|
|
|
@@ -134,9 +145,9 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- *
|
|
|
+ *
|
|
|
* 查询组织角色以及父级组织的角色
|
|
|
*
|
|
|
* @param orgId 必传
|
|
|
@@ -145,7 +156,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "查询组织角色以及父级组织的角色", notes = "查询组织角色以及父级组织的角色")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRolePo>> queryByOrgId(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
APIResult<APIPageList<PartyRolePo>> result = new APIResult<>();
|
|
|
List<APIRequestParameter> parameters = request.getParameters();
|
|
|
@@ -165,9 +176,9 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- *
|
|
|
+ *
|
|
|
* 查询组织角色以及父级组织的角色
|
|
|
*
|
|
|
* @param positionId 必传
|
|
|
@@ -176,7 +187,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "查询岗位角色以及岗位所在组织的角色", notes = "查询岗位角色以及岗位所在组织的角色")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRolePo>> queryByPositionId(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
APIResult<APIPageList<PartyRolePo>> result = new APIResult<>();
|
|
|
List<APIRequestParameter> parameters = request.getParameters();
|
|
|
@@ -200,7 +211,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "根据角色ID获取角色信息包含系统信息", notes = "根据角色ID获取角色信息包含系统信息")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRolePo>> queryWithSysBySysId(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
APIResult<APIPageList<PartyRolePo>> result = new APIResult<>();
|
|
|
List<APIRequestParameter> parameters = request.getParameters();
|
|
|
@@ -217,11 +228,11 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@ApiOperation(value = "分级管理员角色列表(分页条件查询)数据", notes = "分级管理员角色列表(分页条件查询)数据")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRolePo>> queryWithGrade(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) throws Exception{
|
|
|
APIResult<APIPageList<PartyRolePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -240,20 +251,20 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
}
|
|
|
QueryFilter queryFilter=getQueryFilter(request);
|
|
|
-
|
|
|
+
|
|
|
logger.debug("com.lc.ibps.platform.org.controller.PartyRoleController.queryWithGrade()--->params="
|
|
|
+queryFilter.getParams());
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
String partyType = RequestUtil.getString(request, "partyType");
|
|
|
String partyId = RequestUtil.getString(request, "partyId");
|
|
|
-
|
|
|
+
|
|
|
//过滤
|
|
|
if(StringUtil.isNotEmpty(partyId) && StringUtil.isNotEmpty(partyType)){
|
|
|
List<String> ids = getPartyRoleIds(partyType, partyId);
|
|
|
rids.removeAll(ids);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if(BeanUtils.isEmpty(rids)){
|
|
|
logger.debug("com.lc.ibps.platform.org.controller.PartyRoleController.queryWithGrade()--->ids为空,没有可分配角色,"
|
|
|
, rids.toString());
|
|
|
@@ -261,25 +272,25 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
//throw new BaseException("没有可分配角色");
|
|
|
}
|
|
|
queryFilter.addFilter("ID_", rids, QueryOP.IN);
|
|
|
-
|
|
|
+
|
|
|
logger.debug("com.lc.ibps.platform.org.controller.PartyRoleController.queryWithGrade()"
|
|
|
- + "--->params={0},partyType={1},partyId={2}",BeanUtils.isNotEmpty(queryFilter.getParams())?queryFilter.getParams():"",
|
|
|
- partyType,partyId);
|
|
|
-
|
|
|
+ + "--->params={0},partyType={1},partyId={2}",BeanUtils.isNotEmpty(queryFilter.getParams())?queryFilter.getParams():"",
|
|
|
+ partyType,partyId);
|
|
|
+
|
|
|
List<PartyRolePo> list = partyRoleRepository.query4Grade(queryFilter);
|
|
|
APIPageList<PartyRolePo> roleListData = getAPIPageList(list);
|
|
|
-
|
|
|
+
|
|
|
result.setData(roleListData);
|
|
|
} catch (Exception e) {
|
|
|
setExceptionResult(result, StateEnum.ERROR_ROLE.getCode(), I18nUtil.getMessage(StateEnum.ERROR_ROLE.getCode()+""), e);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@ApiOperation(value = "构建角色树数据", notes = "构建角色树数据")
|
|
|
@Override
|
|
|
public APIResult<List<PartyRoleTreePo>> queryWithSys(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
APIResult<List<PartyRoleTreePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -295,7 +306,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "查询角色", notes = "根据传入id查询,并返回角色信息,对应子系统ID在变量systemId中")
|
|
|
@Override
|
|
|
public APIResult<PartyRolePo> get(
|
|
|
- @ApiParam(name = "roleId", value = "角色id", required = true)
|
|
|
+ @ApiParam(name = "roleId", value = "角色id", required = true)
|
|
|
@RequestParam(name = "roleId", required = true)String roleId) {
|
|
|
APIResult<PartyRolePo> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -308,11 +319,11 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@ApiOperation(value = "根据用户ID获取关联角色信息包含系统信息", notes = "根据用户ID获取关联角色信息包含系统信息")
|
|
|
@Override
|
|
|
public APIResult<List<DefaultPartyRolePo>> findByUserId(
|
|
|
- @ApiParam(name = "userId", value = "用户id", required = false)
|
|
|
+ @ApiParam(name = "userId", value = "用户id", required = false)
|
|
|
@RequestParam(name = "userId", required = false) String userId) {
|
|
|
APIResult<List<DefaultPartyRolePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -330,7 +341,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "已分配角色列表", notes = "根据传入用户id查询,获取关联角色信息")
|
|
|
@Override
|
|
|
public APIResult<List<PartyRolePo>> findAssignedByUserId(
|
|
|
- @ApiParam(name = "userId", value = "用户id", required = true)
|
|
|
+ @ApiParam(name = "userId", value = "用户id", required = true)
|
|
|
@RequestParam(name = "userId", required = true) String userId) {
|
|
|
APIResult<List<PartyRolePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -345,7 +356,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "可分配角色列表", notes = "根据传入用户id查询,获取关联角色信息包含系统信息")
|
|
|
@Override
|
|
|
public APIResult<List<PartyRolePo>> findCanBeAssignedByUserId(
|
|
|
- @ApiParam(name = "userId", value = "用户id", required = true)
|
|
|
+ @ApiParam(name = "userId", value = "用户id", required = true)
|
|
|
@RequestParam(name = "userId", required = true) String userId) {
|
|
|
APIResult<List<PartyRolePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -358,7 +369,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
+ *
|
|
|
* 根据角色ID获取角色信息包含系统信息
|
|
|
*
|
|
|
* @param orgId
|
|
|
@@ -372,9 +383,9 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "获取组织或岗位的默认角色", notes = "根据传入用户id查询,获取关联角色信息包含系统信息")
|
|
|
@Override
|
|
|
public APIResult<List<PartyRolePo>> findWithSysByIds(
|
|
|
- @ApiParam(name = "orgId", value = "组织id", required = false)
|
|
|
+ @ApiParam(name = "orgId", value = "组织id", required = false)
|
|
|
@RequestParam(name = "orgId", required = false) String orgId,
|
|
|
- @ApiParam(name = "positionId", value = "岗位id", required = false)
|
|
|
+ @ApiParam(name = "positionId", value = "岗位id", required = false)
|
|
|
@RequestParam(name = "positionId", required = false) String positionId,
|
|
|
@ApiParam(name = "roleIds", value = "角色Id数组", required = false)
|
|
|
@RequestParam(name = "roleIds", required = false)String[] roleIds) {
|
|
|
@@ -407,7 +418,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "保存", notes = "保存角色信息",
|
|
|
+ @ApiOperation(value = "保存", notes = "保存角色信息",
|
|
|
extensions = {
|
|
|
@Extension(properties = {
|
|
|
@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
|
|
|
@@ -416,7 +427,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@Signature
|
|
|
@Override
|
|
|
public APIResult<Void> save(
|
|
|
- @ApiParam(name = "partyRolePo", value = "角色对象", required = true)
|
|
|
+ @ApiParam(name = "partyRolePo", value = "角色对象", required = true)
|
|
|
@RequestBody(required = true) PartyRolePo partyRolePo) {
|
|
|
APIResult<Void> result = new APIResult<Void>();
|
|
|
try {
|
|
|
@@ -436,7 +447,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "删除", notes = "删除角色",
|
|
|
+ @ApiOperation(value = "删除", notes = "删除角色",
|
|
|
extensions = {
|
|
|
@Extension(properties = {
|
|
|
@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
|
|
|
@@ -445,7 +456,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@Signature
|
|
|
@Override
|
|
|
public APIResult<Void> remove(
|
|
|
- @ApiParam(name = "roleIds", value = "角色id数组", required = true)
|
|
|
+ @ApiParam(name = "roleIds", value = "角色id数组", required = true)
|
|
|
@RequestParam(name = "roleIds", required = true) String[] roleIds) {
|
|
|
APIResult<Void> result = new APIResult<Void>();
|
|
|
try {
|
|
|
@@ -464,11 +475,11 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
*
|
|
|
* @param partyType
|
|
|
* @param partyId
|
|
|
- * @return
|
|
|
+ * @return
|
|
|
*/
|
|
|
private List<String> getPartyRoleIds(String partyType, String partyId){
|
|
|
List<String> ids = new ArrayList<String>();
|
|
|
-
|
|
|
+
|
|
|
if(PartyType.ORG.getValue().equals(partyType)){
|
|
|
getOrgRoleIds(partyId, ids);
|
|
|
}else if(PartyType.POSITION.getValue().equals(partyType)){
|
|
|
@@ -482,15 +493,15 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
ids.addAll(Arrays.asList(position.getRelRoles().split(StringPool.COMMA)));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return ids;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 根据组织id获取组织已分配角色列表
|
|
|
*
|
|
|
* @param partyId
|
|
|
- * @param ids
|
|
|
+ * @param ids
|
|
|
*/
|
|
|
private void getOrgRoleIds(String partyId, List<String> ids) {
|
|
|
PartyEntity data = partyOrgService.getById(partyId);
|
|
|
@@ -499,7 +510,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
ids.addAll(Arrays.asList(org.getRoleIDs().split(StringPool.COMMA)));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private void setSource(List<String> canDelete, List<String> cannotDelete, List<PartyRolePo> positionRoleList) {
|
|
|
if (BeanUtils.isEmpty(positionRoleList))
|
|
|
return;
|
|
|
@@ -552,7 +563,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "添加角色人员", notes = "添加角色人员",
|
|
|
+ @ApiOperation(value = "添加角色人员", notes = "添加角色人员",
|
|
|
extensions = {
|
|
|
@Extension(properties = {
|
|
|
@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
|
|
|
@@ -561,9 +572,9 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@Signature
|
|
|
@Override
|
|
|
public APIResult<Void> addUser(
|
|
|
- @ApiParam(name = "roleId", value = "角色ID", required = true)
|
|
|
+ @ApiParam(name = "roleId", value = "角色ID", required = true)
|
|
|
@RequestParam(name = "roleId", required = true) String roleId,
|
|
|
- @ApiParam(name = "userIds", value = "用户ID数组", required = true)
|
|
|
+ @ApiParam(name = "userIds", value = "用户ID数组", required = true)
|
|
|
@RequestParam(name = "userIds", required = true) String[] userIds) {
|
|
|
APIResult<Void> result = new APIResult<Void>();
|
|
|
try {
|
|
|
@@ -602,7 +613,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "移除角色人员", notes = "移除角色人员",
|
|
|
+ @ApiOperation(value = "移除角色人员", notes = "移除角色人员",
|
|
|
extensions = {
|
|
|
@Extension(properties = {
|
|
|
@ExtensionProperty(name = "submitCtrl", value = StringPool.Y)
|
|
|
@@ -611,9 +622,9 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@Signature
|
|
|
@Override
|
|
|
public APIResult<Void> removeUser(
|
|
|
- @ApiParam(name = "roleId", value = "角色ID", required = true)
|
|
|
+ @ApiParam(name = "roleId", value = "角色ID", required = true)
|
|
|
@RequestParam(name = "roleId", required = true) String roleId,
|
|
|
- @ApiParam(name = "userIds", value = "用户ID数组", required = true)
|
|
|
+ @ApiParam(name = "userIds", value = "用户ID数组", required = true)
|
|
|
@RequestParam(name = "userIds", required = true) String[] userIds) {
|
|
|
APIResult<Void> result = new APIResult<Void>();
|
|
|
try {
|
|
|
@@ -631,39 +642,39 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "查询角色列表", notes = "查询角色列表")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRolePo>> query(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
APIResult<APIPageList<PartyRolePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
QueryFilter queryFilter=getQueryFilter(request);
|
|
|
int type = RequestUtil.getInt(request, "type");
|
|
|
switch(type){
|
|
|
- case 0 : // 没有传type参数默认查询所有
|
|
|
- case 1 : // 查询所有角色
|
|
|
- break;
|
|
|
- case 2 : // 查询用户所在角色
|
|
|
- String userId = ContextUtil.getCurrentUserId();
|
|
|
- List<PartyRolePo> roleList = partyRoleRepository.findRoleByUID(userId);
|
|
|
- List<String> idList = new ArrayList<String>();
|
|
|
- for(PartyRolePo po : roleList){
|
|
|
- idList.add(po.getId());
|
|
|
- }
|
|
|
- if(BeanUtils.isEmpty(idList)) {
|
|
|
- result.setMessage(I18nUtil.getMessage("com.lc.ibps.org.provider.PartyRoleProvider.query"));
|
|
|
- return result;
|
|
|
- }
|
|
|
- queryFilter.addFilter("ID_", idList ,QueryOP.IN);
|
|
|
- break;
|
|
|
- case 3 : // 查询指定角色
|
|
|
- String partyId = RequestUtil.getString(request, "partyId");
|
|
|
- if(StringUtil.isNotBlank(partyId)){
|
|
|
- queryFilter.addFilter("ID_", partyId ,QueryOP.IN);
|
|
|
- }else{
|
|
|
- return result;
|
|
|
- }
|
|
|
- break;
|
|
|
+ case 0 : // 没有传type参数默认查询所有
|
|
|
+ case 1 : // 查询所有角色
|
|
|
+ break;
|
|
|
+ case 2 : // 查询用户所在角色
|
|
|
+ String userId = ContextUtil.getCurrentUserId();
|
|
|
+ List<PartyRolePo> roleList = partyRoleRepository.findRoleByUID(userId);
|
|
|
+ List<String> idList = new ArrayList<String>();
|
|
|
+ for(PartyRolePo po : roleList){
|
|
|
+ idList.add(po.getId());
|
|
|
+ }
|
|
|
+ if(BeanUtils.isEmpty(idList)) {
|
|
|
+ result.setMessage(I18nUtil.getMessage("com.lc.ibps.org.provider.PartyRoleProvider.query"));
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ queryFilter.addFilter("ID_", idList ,QueryOP.IN);
|
|
|
+ break;
|
|
|
+ case 3 : // 查询指定角色
|
|
|
+ String partyId = RequestUtil.getString(request, "partyId");
|
|
|
+ if(StringUtil.isNotBlank(partyId)){
|
|
|
+ queryFilter.addFilter("ID_", partyId ,QueryOP.IN);
|
|
|
+ }else{
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
List<PartyRolePo> list = partyRoleRepository.queryWithSysBySysId(queryFilter);
|
|
|
APIPageList<PartyRolePo> roleList = getAPIPageList(list);
|
|
|
result.setData(roleList);
|
|
|
@@ -673,11 +684,11 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@ApiOperation(value = "查询角色", notes = "根据传入别名查询,并返回角色信息,对应子系统ID在变量systemId中")
|
|
|
@Override
|
|
|
public APIResult<PartyRolePo> getByAlias(
|
|
|
- @ApiParam(name = "roleAlias", value = "角色别名", required = true)
|
|
|
+ @ApiParam(name = "roleAlias", value = "角色别名", required = true)
|
|
|
@RequestParam(name = "roleAlias", required = true) String roleAlias) {
|
|
|
APIResult<PartyRolePo> result = new APIResult<>();
|
|
|
try {
|
|
|
@@ -694,20 +705,20 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
@ApiOperation(value = "查询组织角色以及父级组织的角色", notes = "查询组织角色以及父级组织的角色")
|
|
|
@Override
|
|
|
public APIResult<APIPageList<PartyRoleTreePo>> queryBySubSysIdOrName(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
-
|
|
|
- APIResult<APIPageList<PartyRoleTreePo>> result = new APIResult<>();
|
|
|
-
|
|
|
+
|
|
|
+ APIResult<APIPageList<PartyRoleTreePo>> result = new APIResult<>();
|
|
|
+
|
|
|
try {
|
|
|
List<PartyRoleTreePo> rst = findData(request);
|
|
|
-
|
|
|
+
|
|
|
List<PartyRoleTreePo> entity = null;
|
|
|
if (StringUtil.isNotEmpty(request.getParameter("name"))) {
|
|
|
entity = PartyUtil.filterByName4Role(request.getParameter("name"), rst);
|
|
|
} else {
|
|
|
entity = PartyUtil.filterByPId4Role(request.getParameter("sysId"), rst);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
QueryFilter queryFilter = getQueryFilter(request);
|
|
|
APIPageList<PartyRoleTreePo> pageList = getAPIPageList(
|
|
|
@@ -717,39 +728,39 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
} catch (Exception e) {
|
|
|
setExceptionResult(result, StateEnum.ERROR_ROLE.getCode(), I18nUtil.getMessage(StateEnum.ERROR_ROLE.getCode()+""), e);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 删除没有角色的子系统
|
|
|
- *
|
|
|
+ *
|
|
|
* @param subSystemList
|
|
|
* @param roleList
|
|
|
*/
|
|
|
private void deleteNullSystem(List<SubSystemPo> subSystemList, List<PartyRolePo> roleList){
|
|
|
Set<String> systemSet = new HashSet<String>();
|
|
|
- for(PartyRolePo po : roleList){
|
|
|
- systemSet.add(po.getSubSystemId());
|
|
|
- }
|
|
|
- Iterator<SubSystemPo> it = subSystemList.iterator();
|
|
|
- while(it.hasNext()){
|
|
|
- SubSystemPo systemPo = it.next();
|
|
|
- if(!systemSet.contains(systemPo.getId())){
|
|
|
- it.remove();
|
|
|
- }
|
|
|
+ for(PartyRolePo po : roleList){
|
|
|
+ systemSet.add(po.getSubSystemId());
|
|
|
+ }
|
|
|
+ Iterator<SubSystemPo> it = subSystemList.iterator();
|
|
|
+ while(it.hasNext()){
|
|
|
+ SubSystemPo systemPo = it.next();
|
|
|
+ if(!systemSet.contains(systemPo.getId())){
|
|
|
+ it.remove();
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@ApiOperation(value = "角色数据转换", notes = "角色数据转换")
|
|
|
@Override
|
|
|
public APIResult<Map<String, Map<String, String>>> transfer(
|
|
|
- @ApiParam(name = "idKeyVo", value = "角色id集合", required = true)
|
|
|
+ @ApiParam(name = "idKeyVo", value = "角色id集合", required = true)
|
|
|
@RequestBody(required = true) IdKeyVo idKeyVo) {
|
|
|
APIResult<Map<String, Map<String, String>>> result = new APIResult<>();
|
|
|
try {
|
|
|
Map<String, Map<String, String>> mapData = new HashMap<>();
|
|
|
-
|
|
|
+
|
|
|
if(BeanUtils.isNotEmpty(idKeyVo.getIds())) {
|
|
|
List<PartyRolePo> pos = partyRoleRepository.findByIds(idKeyVo.getIds());
|
|
|
for(PartyRolePo po : pos) {
|
|
|
@@ -758,7 +769,7 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
mapData.put(po.getId(), map);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
result.setData(mapData);
|
|
|
} catch (Exception e) {
|
|
|
setExceptionResult(result, StateEnum.ERROR_ROLE.getCode(), I18nUtil.getMessage(StateEnum.ERROR_ROLE.getCode()+""), e);
|
|
|
@@ -824,6 +835,51 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public APIResult<PermissionPageList<PermissionViewDTO>> getPeoplePermission(@RequestBody(required = true) APIRequest request) {
|
|
|
+ /*
|
|
|
+ 返回前端渲染用的json格式:
|
|
|
+ {
|
|
|
+ "roles": [
|
|
|
+ "角色a",
|
|
|
+ "角色b",
|
|
|
+ "角色c",
|
|
|
+ "角色d",
|
|
|
+ "角色e",
|
|
|
+ ],
|
|
|
+ "permissions": [
|
|
|
+ {
|
|
|
+ "pageId": 1,
|
|
|
+ "pageName": "页面1",
|
|
|
+ "角色a": false,
|
|
|
+ "角色b": true,
|
|
|
+ "角色c": true,
|
|
|
+ "角色d": true,
|
|
|
+ "角色e": false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "pageId": 2,
|
|
|
+ "pageName": "页面2",
|
|
|
+ "角色a": false,
|
|
|
+ "角色b": true,
|
|
|
+ "角色c": true,
|
|
|
+ "角色d": true,
|
|
|
+ "角色e": false
|
|
|
+ },
|
|
|
+ ......多个对象省略
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ */
|
|
|
+
|
|
|
+ APIResult<PermissionPageList<PermissionViewDTO>> result = partyRoleProviderService.getPeoplePermission(request);
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void getFileStreamPermission(APIRequest request) {
|
|
|
try {
|
|
|
@@ -834,9 +890,9 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
type = false;
|
|
|
}
|
|
|
if(type){
|
|
|
- result = partyRoleProviderService.getPeoplePermission(request);
|
|
|
+ result = partyRoleProviderService.getPeoplePermission(request);
|
|
|
}else{
|
|
|
- result = partyRoleProviderService.getPagePermission(request);// 调用服务获取权限数据
|
|
|
+ result = partyRoleProviderService.getPagePermission(request);// 调用服务获取权限数据
|
|
|
}
|
|
|
if (result == null || result.getData() == null || result.getData().getData() == null) {
|
|
|
throw new RuntimeException("获取权限数据失败");
|
|
|
@@ -901,103 +957,13 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public APIResult<PermissionPageList<PermissionViewDTO>> getPeoplePermission(@RequestBody(required = true) APIRequest request) {
|
|
|
- /*
|
|
|
- 返回前端渲染用的json格式:
|
|
|
- {
|
|
|
- "roles": [
|
|
|
- "角色a",
|
|
|
- "角色b",
|
|
|
- "角色c",
|
|
|
- "角色d",
|
|
|
- "角色e",
|
|
|
- ],
|
|
|
- "permissions": [
|
|
|
- {
|
|
|
- "pageId": 1,
|
|
|
- "pageName": "页面1",
|
|
|
- "角色a": false,
|
|
|
- "角色b": true,
|
|
|
- "角色c": true,
|
|
|
- "角色d": true,
|
|
|
- "角色e": false
|
|
|
- },
|
|
|
- {
|
|
|
- "pageId": 2,
|
|
|
- "pageName": "页面2",
|
|
|
- "角色a": false,
|
|
|
- "角色b": true,
|
|
|
- "角色c": true,
|
|
|
- "角色d": true,
|
|
|
- "角色e": false
|
|
|
- },
|
|
|
- ......多个对象省略
|
|
|
- ]
|
|
|
- }
|
|
|
- */
|
|
|
-
|
|
|
- APIResult<PermissionPageList<PermissionViewDTO>> result = partyRoleProviderService.getPeoplePermission(request);
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public APIResult<PermissionPageList<PermissionViewDTO>> getPeoplePermission(@RequestBody(required = true) APIRequest request) {
|
|
|
- /*
|
|
|
- 返回前端渲染用的json格式:
|
|
|
- {
|
|
|
- "roles": [
|
|
|
- "角色a",
|
|
|
- "角色b",
|
|
|
- "角色c",
|
|
|
- "角色d",
|
|
|
- "角色e",
|
|
|
- ],
|
|
|
- "permissions": [
|
|
|
- {
|
|
|
- "pageId": 1,
|
|
|
- "pageName": "页面1",
|
|
|
- "角色a": false,
|
|
|
- "角色b": true,
|
|
|
- "角色c": true,
|
|
|
- "角色d": true,
|
|
|
- "角色e": false
|
|
|
- },
|
|
|
- {
|
|
|
- "pageId": 2,
|
|
|
- "pageName": "页面2",
|
|
|
- "角色a": false,
|
|
|
- "角色b": true,
|
|
|
- "角色c": true,
|
|
|
- "角色d": true,
|
|
|
- "角色e": false
|
|
|
- },
|
|
|
- ......多个对象省略
|
|
|
- ]
|
|
|
- }
|
|
|
- */
|
|
|
-
|
|
|
- APIResult<PermissionPageList<PermissionViewDTO>> result = partyRoleProviderService.getPeoplePermission(request);
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
@ApiOperation(value = "查询角色树", notes = "查询角色树")
|
|
|
@Override
|
|
|
public APIResult<List<PartyRoleTreePo>> findTreeData(
|
|
|
- @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
+ @ApiParam(name = "request", value = "传入查询请求json字符串", required = true)
|
|
|
@RequestBody(required = true) APIRequest request) {
|
|
|
-
|
|
|
- APIResult<List<PartyRoleTreePo>> result = new APIResult<>();
|
|
|
+
|
|
|
+ APIResult<List<PartyRoleTreePo>> result = new APIResult<>();
|
|
|
try {
|
|
|
List<PartyRoleTreePo> rst = findData(request);
|
|
|
|
|
|
@@ -1006,53 +972,50 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
} catch (Exception e) {
|
|
|
setExceptionResult(result, StateEnum.ERROR_ROLE.getCode(), I18nUtil.getMessage(StateEnum.ERROR_ROLE.getCode()+""), e);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
private List<PartyRoleTreePo> findData(APIRequest request) {
|
|
|
QueryFilter queryFilter = getQueryFilter(request);
|
|
|
-
|
|
|
+
|
|
|
String typeString = request.getParameter("type");
|
|
|
int type = StringUtil.isEmpty(typeString) ? 0 : Integer.valueOf(typeString);
|
|
|
-
|
|
|
+
|
|
|
List<PartyRoleTreePo> rst = new ArrayList<PartyRoleTreePo>();
|
|
|
List<PartyRolePo> roleList = new ArrayList<PartyRolePo>();
|
|
|
|
|
|
logger.debug("com.lc.ibps.org.provider.PartyRoleProvider.queryBySubSysIdOrName()--->params={}",
|
|
|
queryFilter.getParams());
|
|
|
-
|
|
|
+
|
|
|
List<SubSystemPo> subSystemList = null;
|
|
|
subSystemList = subSystemRepository.findAll();
|
|
|
-
|
|
|
+
|
|
|
switch (type) {
|
|
|
- case 0:// 没有传type参数默认查询所有
|
|
|
- case 1:// 查询所有角色数据
|
|
|
- roleList = partyRoleRepository.queryWithSys();
|
|
|
- roleList = filterRole(roleList);
|
|
|
- break;
|
|
|
-
|
|
|
- case 2:// 查询所在角色数据
|
|
|
- String userId = ContextUtil.getCurrentUserId();
|
|
|
- roleList = partyRoleRepository.findUserRolesByUserId(userId);
|
|
|
- roleList = filterRole(roleList);
|
|
|
- deleteNullSystem(subSystemList, roleList);
|
|
|
- break;
|
|
|
-
|
|
|
- case 3:// 指定角色
|
|
|
- String partyId = request.getParameter("partyId");
|
|
|
- List<String> partyIdList = Arrays.asList(partyId.split(StringPool.COMMA));
|
|
|
- roleList = partyRoleRepository.findByIds(partyIdList);
|
|
|
- roleList = filterRole(roleList);
|
|
|
- deleteNullSystem(subSystemList, roleList);
|
|
|
- break;
|
|
|
-
|
|
|
- case 4:
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ case 0:// 没有传type参数默认查询所有
|
|
|
+ case 1:// 查询所有角色数据
|
|
|
+ roleList = partyRoleRepository.queryWithSys();
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 2:// 查询所在角色数据
|
|
|
+ String userId = ContextUtil.getCurrentUserId();
|
|
|
+ roleList = partyRoleRepository.findUserRolesByUserId(userId);
|
|
|
+ deleteNullSystem(subSystemList, roleList);
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 3:// 指定角色
|
|
|
+ String partyId = request.getParameter("partyId");
|
|
|
+ List<String> partyIdList = Arrays.asList(partyId.split(StringPool.COMMA));
|
|
|
+ roleList = partyRoleRepository.findByIds(partyIdList);
|
|
|
+ deleteNullSystem(subSystemList, roleList);
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 4:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
List<PartyRoleTreePo> rs = PartyRoleBaseBuilder.buildParentTreePo(subSystemList);
|
|
|
if(BeanUtils.isNotEmpty(rs)) rst.addAll(rs);
|
|
|
List<PartyRoleTreePo> _rs = PartyRoleBaseBuilder.buildTree(roleList);
|
|
|
@@ -1060,21 +1023,4 @@ public class PartyRoleProvider extends GenericProvider implements IPartyRoleServ
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 过滤废弃的角色
|
|
|
- * @param roleList
|
|
|
- * @return List<PartyRolePo>
|
|
|
- */
|
|
|
- private List<PartyRolePo> filterRole(List<PartyRolePo> roleList) {
|
|
|
- if (roleList == null || roleList.isEmpty()) {
|
|
|
- return Collections.emptyList();
|
|
|
- }
|
|
|
- return roleList.stream()
|
|
|
- .filter(Objects::nonNull) // 过滤掉列表中的 null 元素
|
|
|
- .filter(partyRolePo -> partyRolePo.getName() != null) // 防止 name 为 null
|
|
|
- .filter(partyRolePo -> !partyRolePo.getName().contains("弃用"))
|
|
|
- .collect(Collectors.toList());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}
|