Browse Source

[task-2622] 任务转办代理:页面权限过滤改为系统管理员可以看到所有记录

Li Yuan 1 year ago
parent
commit
7589e92630

+ 6 - 0
ibps-api-root/modules/api-base/src/main/java/com/lc/ibps/api/base/model/DefaultNoneUser.java

@@ -63,4 +63,10 @@ public class DefaultNoneUser implements User {
 		return "";
 	}
 
+	@Override
+	public Boolean getIsAdmin() {
+		return false;
+	}
+
+
 }

+ 2 - 0
ibps-api-root/modules/api-base/src/main/java/com/lc/ibps/api/base/model/User.java

@@ -82,4 +82,6 @@ public interface User extends IdentityType {
 	 */
 	String getPhoto();
 
+	Boolean getIsAdmin();
+
 }

+ 5 - 0
ibps-base-root/modules/base-web/src/main/java/com/lc/ibps/base/web/context/ContextUtil.java

@@ -123,6 +123,11 @@ public class ContextUtil {
 				? false : contextUtil.currentContext.getCurrentUser().isSuper();
 	}
 
+	public static boolean isAdmin() {
+		return isSuper() || (null == contextUtil.currentContext.getCurrentUser()
+				? false : contextUtil.currentContext.getCurrentUser().getIsAdmin());
+	}
+
 	/**
 	 * 获取当前组织
 	 *

+ 13 - 1
ibps-model-root/modules/org-model/src/main/java/com/lc/ibps/org/party/persistence/entity/PartyUserPo.java

@@ -32,7 +32,11 @@ public class PartyUserPo extends PartyUserTbl implements User{
 	protected String wcAccount;
 	@ApiModelProperty(value = "名称")
 	protected String fullname;
-	
+
+	@ApiModelProperty(value = "系统管理角色")
+	//由上下文CurrentContext管理
+	protected Boolean isAdmin;
+
 	@JsonIgnore
 	@Override
 	public String getIdentityType() {
@@ -100,4 +104,12 @@ public class PartyUserPo extends PartyUserTbl implements User{
 		}
 		return JacksonUtil.getDTOList(listData, PartyUserPo.class);
 	}
+
+	public Boolean getIsAdmin() {
+		return isAdmin;
+	}
+
+	public void setIsAdmin(Boolean isAdmin) {
+		this.isAdmin = isAdmin;
+	}
 }

+ 7 - 1
ibps-oauth-root/modules/oauth-server2-default/src/main/java/com/lc/ibps/cloud/oauth/server/provider/UserProvider.java

@@ -710,7 +710,7 @@ public class UserProvider extends BaseProvider implements IUserService {
 					tenantId = returnTenantId;
 				}
 			}
-			
+//			s
 			user = getByAccount(new LoginVo(username, null, null, null, tenantId, false), true);
 			data.put("user", user);
 			
@@ -737,6 +737,12 @@ public class UserProvider extends BaseProvider implements IUserService {
 				}
 				
 				List<DefaultPartyRolePo> roles = getRoles(user.getUserId());
+				// 是否是系统管理角色
+				if(roles.stream().anyMatch(it->"xtgljs".equalsIgnoreCase(it.getAlias()))){
+					user.setIsAdmin(true);
+				}else{
+					user.setIsAdmin(false);
+				}
 				data.put("role", roles);
 				
 				List<PartyGroupPo> groups = getGroups(user.getUserId());

+ 1 - 1
ibps-provider-root/modules/provider-bpmn/src/main/java/com/lc/ibps/bpmn/provider/BpmAgentProvider.java

@@ -65,7 +65,7 @@ public class BpmAgentProvider extends GenericProvider implements IBpmAgentServic
 		APIResult<APIPageList<BpmAgentPo>> result = new APIResult<>();
 		try{
 			QueryFilter queryFilter = this.getQueryFilter(request);
-			if(!ContextUtil.isSuper()){
+			if(!ContextUtil.isAdmin()){
 				queryFilter.addFilter("DELEGATOR_ID_", ContextUtil.getCurrentUserId(), QueryOP.EQUAL);
 			}
 			bpmAgentRepository.setForUpdate();

+ 2 - 2
ibps-provider-root/modules/provider-bpmn/src/main/java/com/lc/ibps/bpmn/provider/BpmTaskChangeProvider.java

@@ -104,11 +104,11 @@ public class BpmTaskChangeProvider extends GenericProvider implements IBpmTaskCh
 		try {
 			QueryFilter queryFilter = this.getQueryFilter(request);
 			// 是否无视管理员,用于个人办公方面
-			Boolean isIgnoreSuper = RequestUtil.getBoolean(request, "isIgnoreSuper", true);
+			Boolean isIgnoreSuper = RequestUtil.getBoolean(request, "isIgnoreSuper", false);
 			if(isIgnoreSuper){
 				queryFilter.addFilter("OWNER_ID_", ContextUtil.getCurrentUserId(), QueryOP.EQUAL);
 			}else{
-				if(!ContextUtil.isSuper()) {
+				if(!ContextUtil.isAdmin()) {
 					queryFilter.addFilter("OWNER_ID_", ContextUtil.getCurrentUserId(), QueryOP.EQUAL);
 				}
 			}