@@ -63,4 +63,10 @@ public class DefaultNoneUser implements User {
return "";
}
+ @Override
+ public Boolean getIsAdmin() {
+ return false;
+ }
+
@@ -82,4 +82,6 @@ public interface User extends IdentityType {
*/
String getPhoto();
+ Boolean getIsAdmin();
@@ -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());
/**
* 获取当前组织
*
@@ -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);
+ return isAdmin;
+ public void setIsAdmin(Boolean isAdmin) {
+ this.isAdmin = isAdmin;
@@ -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());
@@ -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();
@@ -104,11 +104,11 @@ public class BpmTaskChangeProvider extends GenericProvider implements IBpmTaskCh
try {
// 是否无视管理员,用于个人办公方面
- 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()) {