Explorar o código

tbsession加入orgId

wangliang %!s(int64=2) %!d(string=hai) anos
pai
achega
e519a063ba

+ 1 - 1
themis-admin/src/main/java/com/qmth/themis/admin/api/TBUserController.java

@@ -203,7 +203,7 @@ public class TBUserController {
                 .digest(user.getId(), Math.abs(authDto.getRoleCodes().toString().hashCode()), source);
 
         ExpireTimeDTO expireTime = SystemConstant.getExpireTime(source, platform);
-        TBSession tbSession = new TBSession(sessionId, String.valueOf(user.getId()), authDto.getRoleCodes().toString(),
+        TBSession tbSession = new TBSession(user.getOrgId(), sessionId, String.valueOf(user.getId()), authDto.getRoleCodes().toString(),
                 source.name(), platform.name(), deviceId, ServletUtil.getRequest().getLocalAddr(), token,
                 expireTime.getDate().getTime());
         redisUtil.setUserSession(sessionId, tbSession, expireTime.getExpireSeconds());

+ 14 - 3
themis-business/src/main/java/com/qmth/themis/business/entity/TBSession.java

@@ -5,12 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.themis.business.constant.SystemConstant;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * @Description: 会话信息
@@ -29,6 +27,10 @@ public class TBSession implements Serializable {
     @TableId(value = "id")
     private String id;
 
+    @ApiModelProperty(value = "机构id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    Long orgId;
+
     @ApiModelProperty(value = "用户标识")
     @TableField(value = "identity")
     private String identity;
@@ -77,6 +79,14 @@ public class TBSession implements Serializable {
         return serialVersionUID;
     }
 
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
     public String getId() {
         return id;
     }
@@ -177,7 +187,8 @@ public class TBSession implements Serializable {
 
     }
 
-    public TBSession(String id, String identity, String type, String source, String platform, String deviceId, String address, String accessToken, Long expireTime) {
+    public TBSession(Long orgId, String id, String identity, String type, String source, String platform, String deviceId, String address, String accessToken, Long expireTime) {
+        this.orgId = orgId;
         this.id = id;
         this.identity = identity;
         this.type = type;

+ 1 - 1
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEMobileServiceImpl.java

@@ -101,7 +101,7 @@ public class TEMobileServiceImpl implements TEMobileService {
         String token = SystemConstant.getNanoId();
         String sessionId = ret.getSessionId();
         ExpireTimeDTO expireBean = SystemConstant.getExpireTime(source, platform);
-        TBSession tbSession = new TBSession(sessionId, String.valueOf(es.getStudentId()),
+        TBSession tbSession = new TBSession(Objects.nonNull(authDto.getTbOrg()) ? authDto.getTbOrg().getId() : null, sessionId, String.valueOf(es.getStudentId()),
                 authDto.getRoleCodes().toString(), source.name(), platform.name(), deviceId,
                 ServletUtil.getRequest().getLocalAddr(), token, expireBean.getDate().getTime());
         redisUtil.setUserSession(sessionId, tbSession, expireBean.getExpireSeconds());

+ 1 - 1
themis-exam/src/main/java/com/qmth/themis/exam/api/TEStudentController.java

@@ -220,7 +220,7 @@ public class TEStudentController {
                 .digest(teStudent.getId(), Math.abs(authDto.getRoleCodes().toString().hashCode()), source);
 
         ExpireTimeDTO expireTime = SystemConstant.getExpireTime(source, platform);
-        TBSession tbSession = new TBSession(sessionId, String.valueOf(teStudent.getId()),
+        TBSession tbSession = new TBSession(teStudent.getOrgId(), sessionId, String.valueOf(teStudent.getId()),
                 authDto.getRoleCodes().toString(), source.name(), platform.name(), deviceId,
                 ServletUtil.getRequest().getLocalAddr(), token, expireTime.getDate().getTime());
         redisUtil.setUserSession(sessionId, tbSession, expireTime.getExpireSeconds());