wangliang 3 роки тому
батько
коміт
3dc1a94926

+ 5 - 7
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/LoginResult.java

@@ -6,14 +6,12 @@ import com.qmth.teachcloud.common.entity.BasicSchool;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.AppSourceEnum;
-import com.qmth.teachcloud.common.enums.RoleSourceEnum;
-import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.ApiModelProperty;
-import org.springframework.util.LinkedMultiValueMap;
 
 import java.io.Serializable;
 import java.util.Arrays;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -63,13 +61,13 @@ public class LoginResult implements Serializable {
     private UserLoginCheckResult userLoginCheckResult;
 
     @ApiModelProperty(name = "角色来源")
-    LinkedMultiValueMap<RoleSourceEnum, String> roleSource;
+    List<RoleResult> roleSource;
 
     public LoginResult() {
 
     }
 
-    public LoginResult(SysUser sysUser, String sessionId, String accessToken, Set<String> roleList, AppSourceEnum appSource, LinkedMultiValueMap<RoleSourceEnum, String> roleSource) {
+    public LoginResult(SysUser sysUser, String sessionId, String accessToken, Set<String> roleList, AppSourceEnum appSource, List<RoleResult> roleSource) {
         this.id = sysUser.getId();
         ServletUtil.setRequestId(Arrays.asList(id));
         this.loginName = sysUser.getLoginName();
@@ -92,11 +90,11 @@ public class LoginResult implements Serializable {
         this.appSource = appSource;
     }
 
-    public LinkedMultiValueMap<RoleSourceEnum, String> getRoleSource() {
+    public List<RoleResult> getRoleSource() {
         return roleSource;
     }
 
-    public void setRoleSource(LinkedMultiValueMap<RoleSourceEnum, String> roleSource) {
+    public void setRoleSource(List<RoleResult> roleSource) {
         this.roleSource = roleSource;
     }
 

+ 41 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/RoleResult.java

@@ -2,9 +2,11 @@ package com.qmth.teachcloud.common.bean.result;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.enums.RoleSourceEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * @Description: 角色返回值
@@ -17,10 +19,48 @@ public class RoleResult implements Serializable {
     @ApiModelProperty("角色id")
     private Long roleId;
 
-    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty("角色名称")
     private String roleName;
 
+    @ApiModelProperty("角色编码")
+    private String roleCode;
+
+    @ApiModelProperty("角色编码")
+    private RoleSourceEnum roleSource;
+
+    public RoleResult() {
+
+    }
+
+    public RoleResult(Long roleId, String roleName, RoleSourceEnum roleSource) {
+        this.roleId = roleId;
+        this.roleName = roleName;
+        this.roleSource = Objects.nonNull(roleSource) ? roleSource : RoleSourceEnum.SYS;
+    }
+
+    public RoleResult(Long roleId, String roleName, String roleCode, RoleSourceEnum roleSource) {
+        this.roleId = roleId;
+        this.roleName = roleName;
+        this.roleCode = roleCode;
+        this.roleSource = Objects.nonNull(roleSource) ? roleSource : RoleSourceEnum.SYS;
+    }
+
+    public RoleSourceEnum getRoleSource() {
+        return roleSource;
+    }
+
+    public void setRoleSource(RoleSourceEnum roleSource) {
+        this.roleSource = roleSource;
+    }
+
+    public String getRoleCode() {
+        return roleCode;
+    }
+
+    public void setRoleCode(String roleCode) {
+        this.roleCode = roleCode;
+    }
+
     public Long getRoleId() {
         return roleId;
     }

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -910,13 +910,13 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         commonCacheService.userCache(sysUser.getId());
         //添加用户会话缓存
         Set<String> roleNames = new HashSet<>(), roleTypes = new HashSet<>();
-        LinkedMultiValueMap<RoleSourceEnum, String> roleSource = new LinkedMultiValueMap<>();
+        List<RoleResult> roleSource = new ArrayList<>();
         for (SysRole s : authBean.getRoleList()) {
             roleNames.add(s.getName());
             if (Objects.isNull(s.getSource()) && Objects.nonNull(s.getType())) {
                 roleTypes.add(s.getType().name());
             }
-            roleSource.add(Objects.nonNull(s.getSource()) ? s.getSource() : RoleSourceEnum.SYS, Objects.nonNull(s.getType()) ? s.getType().name() : s.getName());
+            roleSource.add(Objects.nonNull(s.getType()) ? new RoleResult(s.getId(), s.getName(), s.getType().name(), s.getSource()) : new RoleResult(s.getId(), s.getName(), s.getSource()));
         }
         String sessionId = SessionUtil.digest(sysUser.getId(), Math.abs(roleNames.toString().hashCode()), platform.name());
         //TODO 测试用