Kaynağa Gözat

增加登录时候,获取tenantName

zhuangdezheng 1 yıl önce
ebeveyn
işleme
e1bd21a321

+ 0 - 2
src/main/java/cn/ezhizao/EzhizaoApplication.java

@@ -16,9 +16,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
 @EnableAsync
 public class EzhizaoApplication {
     public static void main(String[] args) {
-        // System.setProperty("spring.devtools.restart.enabled", "true");
         SpringApplication.run(EzhizaoApplication.class, args);
         System.out.println("(♥◠‿◠)ノ゙  易制造快速开发框架 api 端启动成功!   ლ(´ڡ`ლ)゙");
-
     }
 }

+ 5 - 0
src/main/java/cn/ezhizao/common/constant/Constants.java

@@ -79,6 +79,11 @@ public class Constants
      */
     public static final String TENANT_ID = "tenant_id";
 
+    /**
+     * 租户id
+     */
+    public static final String TENANT_NAME = "tenant_name";
+
     /**
      * 令牌前缀
      */

+ 50 - 69
src/main/java/cn/ezhizao/framework/security/LoginUser.java

@@ -13,8 +13,7 @@ import java.util.Set;
  *
  * @author ruoyi
  */
-public class LoginUser implements UserDetails
-{
+public class LoginUser implements UserDetails {
     private static final long serialVersionUID = 1L;
 
     /**
@@ -22,9 +21,13 @@ public class LoginUser implements UserDetails
      */
     private Long userId;
 
-    /** 租户 Id */
+    /**
+     * 租户 Id
+     */
     private Long tenantId = 0L;
 
+    private String tenantName = "";
+
     /**
      * 部门ID
      */
@@ -83,57 +86,58 @@ public class LoginUser implements UserDetails
         this.tenantId = tenantId;
     }
 
-    public Long getUserId()
-    {
+    public String getTenantName() {
+        return tenantName;
+    }
+
+    public void setTenantName(String tenantName) {
+        this.tenantName = tenantName;
+    }
+
+    public Long getUserId() {
         return userId;
     }
 
-    public void setUserId(Long userId)
-    {
+    public void setUserId(Long userId) {
         this.userId = userId;
     }
 
-    public Long getDeptId()
-    {
+    public Long getDeptId() {
         return deptId;
     }
 
-    public void setDeptId(Long deptId)
-    {
+    public void setDeptId(Long deptId) {
         this.deptId = deptId;
     }
 
-    public String getToken()
-    {
+    public String getToken() {
         return token;
     }
 
-    public void setToken(String token)
-    {
+    public void setToken(String token) {
         this.token = token;
     }
 
-    public LoginUser()
-    {
+    public LoginUser() {
     }
 
-    public LoginUser(SysUser user, Set<String> permissions)
-    {
+    public LoginUser(SysUser user, Set<String> permissions) {
         this.user = user;
         this.permissions = permissions;
     }
 
-    public LoginUser(Long userId, Long deptId, SysUser user, Set<String> permissions)
-    {
+    public LoginUser(Long userId, Long deptId, SysUser user, Set<String> permissions) {
+        this.tenantId = user.getTenantId();
+        this.tenantName = user.getTenantName();
         this.userId = userId;
         this.deptId = deptId;
         this.user = user;
         this.permissions = permissions;
     }
 
-    public LoginUser(Long tenantId,Long userId, Long deptId, SysUser user, Set<String> permissions)
-    {
+    public LoginUser(Long tenantId, String tenantName, Long userId, Long deptId, SysUser user, Set<String> permissions) {
         this.tenantId = tenantId;
+        this.tenantName = tenantName;
         this.userId = userId;
         this.deptId = deptId;
         this.user = user;
@@ -142,14 +146,12 @@ public class LoginUser implements UserDetails
 
     @JSONField(serialize = false)
     @Override
-    public String getPassword()
-    {
+    public String getPassword() {
         return user.getPassword();
     }
 
     @Override
-    public String getUsername()
-    {
+    public String getUsername() {
         return user.getUserName();
     }
 
@@ -158,8 +160,7 @@ public class LoginUser implements UserDetails
      */
     @JSONField(serialize = false)
     @Override
-    public boolean isAccountNonExpired()
-    {
+    public boolean isAccountNonExpired() {
         return true;
     }
 
@@ -170,8 +171,7 @@ public class LoginUser implements UserDetails
      */
     @JSONField(serialize = false)
     @Override
-    public boolean isAccountNonLocked()
-    {
+    public boolean isAccountNonLocked() {
         return true;
     }
 
@@ -182,8 +182,7 @@ public class LoginUser implements UserDetails
      */
     @JSONField(serialize = false)
     @Override
-    public boolean isCredentialsNonExpired()
-    {
+    public boolean isCredentialsNonExpired() {
         return true;
     }
 
@@ -194,94 +193,76 @@ public class LoginUser implements UserDetails
      */
     @JSONField(serialize = false)
     @Override
-    public boolean isEnabled()
-    {
+    public boolean isEnabled() {
         return true;
     }
 
-    public Long getLoginTime()
-    {
+    public Long getLoginTime() {
         return loginTime;
     }
 
-    public void setLoginTime(Long loginTime)
-    {
+    public void setLoginTime(Long loginTime) {
         this.loginTime = loginTime;
     }
 
-    public String getIpaddr()
-    {
+    public String getIpaddr() {
         return ipaddr;
     }
 
-    public void setIpaddr(String ipaddr)
-    {
+    public void setIpaddr(String ipaddr) {
         this.ipaddr = ipaddr;
     }
 
-    public String getLoginLocation()
-    {
+    public String getLoginLocation() {
         return loginLocation;
     }
 
-    public void setLoginLocation(String loginLocation)
-    {
+    public void setLoginLocation(String loginLocation) {
         this.loginLocation = loginLocation;
     }
 
-    public String getBrowser()
-    {
+    public String getBrowser() {
         return browser;
     }
 
-    public void setBrowser(String browser)
-    {
+    public void setBrowser(String browser) {
         this.browser = browser;
     }
 
-    public String getOs()
-    {
+    public String getOs() {
         return os;
     }
 
-    public void setOs(String os)
-    {
+    public void setOs(String os) {
         this.os = os;
     }
 
-    public Long getExpireTime()
-    {
+    public Long getExpireTime() {
         return expireTime;
     }
 
-    public void setExpireTime(Long expireTime)
-    {
+    public void setExpireTime(Long expireTime) {
         this.expireTime = expireTime;
     }
 
-    public Set<String> getPermissions()
-    {
+    public Set<String> getPermissions() {
         return permissions;
     }
 
-    public void setPermissions(Set<String> permissions)
-    {
+    public void setPermissions(Set<String> permissions) {
         this.permissions = permissions;
     }
 
-    public SysUser getUser()
-    {
+    public SysUser getUser() {
         return user;
     }
 
-    public void setUser(SysUser user)
-    {
+    public void setUser(SysUser user) {
         this.user = user;
     }
 
     @Override
-    public Collection<? extends GrantedAuthority> getAuthorities()
-    {
+    public Collection<? extends GrantedAuthority> getAuthorities() {
         return null;
     }
 }

+ 1 - 0
src/main/java/cn/ezhizao/framework/security/service/SysLoginService.java

@@ -114,6 +114,7 @@ public class SysLoginService {
         // 生成token
         result.put(Constants.TOKEN, tokenService.createToken(loginUser));
         result.put(Constants.TENANT_ID, loginUser.getTenantId());
+        result.put(Constants.TENANT_NAME, loginUser.getTenantName());
         return result;
     }
 

+ 1 - 1
src/main/java/cn/ezhizao/framework/security/service/UserDetailsServiceImpl.java

@@ -98,6 +98,6 @@ public class UserDetailsServiceImpl implements UserDetailsService {
 
     public UserDetails createLoginUserForTenant(SysUser user) {
         sysUserMapper.updateUser(user);
-        return new LoginUser(user.getTenantId(), user.getUserId(), 0L, user, permissionService.getMenuPermission(user));
+        return new LoginUser(user.getTenantId(), user.getTenantName(), user.getUserId(), 0L, user, permissionService.getMenuPermission(user));
     }
 }

+ 34 - 46
src/main/java/cn/ezhizao/framework/web/domain/AjaxResult.java

@@ -11,34 +11,37 @@ import java.util.Objects;
  *
  * @author ruoyi
  */
-public class AjaxResult extends HashMap<String, Object>
-{
+public class AjaxResult extends HashMap<String, Object> {
     private static final long serialVersionUID = 1L;
 
-    /** 状态码 */
+    /**
+     * 状态码
+     */
     public static final String CODE_TAG = "code";
 
-    /** 返回内容 */
+    /**
+     * 返回内容
+     */
     public static final String MSG_TAG = "msg";
 
-    /** 数据对象 */
+    /**
+     * 数据对象
+     */
     public static final String DATA_TAG = "data";
 
     /**
      * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
      */
-    public AjaxResult()
-    {
+    public AjaxResult() {
     }
 
     /**
      * 初始化一个新创建的 AjaxResult 对象
      *
      * @param code 状态码
-     * @param msg 返回内容
+     * @param msg  返回内容
      */
-    public AjaxResult(int code, String msg)
-    {
+    public AjaxResult(int code, String msg) {
         super.put(CODE_TAG, code);
         super.put(MSG_TAG, msg);
     }
@@ -47,15 +50,13 @@ public class AjaxResult extends HashMap<String, Object>
      * 初始化一个新创建的 AjaxResult 对象
      *
      * @param code 状态码
-     * @param msg 返回内容
+     * @param msg  返回内容
      * @param data 数据对象
      */
-    public AjaxResult(int code, String msg, Object data)
-    {
+    public AjaxResult(int code, String msg, Object data) {
         super.put(CODE_TAG, code);
         super.put(MSG_TAG, msg);
-        if (StringUtils.isNotNull(data))
-        {
+        if (StringUtils.isNotNull(data)) {
             super.put(DATA_TAG, data);
         }
     }
@@ -65,8 +66,7 @@ public class AjaxResult extends HashMap<String, Object>
      *
      * @return 成功消息
      */
-    public static AjaxResult success()
-    {
+    public static AjaxResult success() {
         return AjaxResult.success("操作成功");
     }
 
@@ -75,8 +75,7 @@ public class AjaxResult extends HashMap<String, Object>
      *
      * @return 成功消息
      */
-    public static AjaxResult success(Object data)
-    {
+    public static AjaxResult success(Object data) {
         return AjaxResult.success("操作成功", data);
     }
 
@@ -86,20 +85,18 @@ public class AjaxResult extends HashMap<String, Object>
      * @param msg 返回内容
      * @return 成功消息
      */
-    public static AjaxResult success(String msg)
-    {
+    public static AjaxResult success(String msg) {
         return AjaxResult.success(msg, null);
     }
 
     /**
      * 返回成功消息
      *
-     * @param msg 返回内容
+     * @param msg  返回内容
      * @param data 数据对象
      * @return 成功消息
      */
-    public static AjaxResult success(String msg, Object data)
-    {
+    public static AjaxResult success(String msg, Object data) {
         return new AjaxResult(HttpStatus.SUCCESS, msg, data);
     }
 
@@ -109,20 +106,18 @@ public class AjaxResult extends HashMap<String, Object>
      * @param msg 返回内容
      * @return 警告消息
      */
-    public static AjaxResult warn(String msg)
-    {
+    public static AjaxResult warn(String msg) {
         return AjaxResult.warn(msg, null);
     }
 
     /**
      * 返回警告消息
      *
-     * @param msg 返回内容
+     * @param msg  返回内容
      * @param data 数据对象
      * @return 警告消息
      */
-    public static AjaxResult warn(String msg, Object data)
-    {
+    public static AjaxResult warn(String msg, Object data) {
         return new AjaxResult(HttpStatus.WARN, msg, data);
     }
 
@@ -131,8 +126,7 @@ public class AjaxResult extends HashMap<String, Object>
      *
      * @return 错误消息
      */
-    public static AjaxResult error()
-    {
+    public static AjaxResult error() {
         return AjaxResult.error("操作失败");
     }
 
@@ -142,20 +136,18 @@ public class AjaxResult extends HashMap<String, Object>
      * @param msg 返回内容
      * @return 错误消息
      */
-    public static AjaxResult error(String msg)
-    {
+    public static AjaxResult error(String msg) {
         return AjaxResult.error(msg, null);
     }
 
     /**
      * 返回错误消息
      *
-     * @param msg 返回内容
+     * @param msg  返回内容
      * @param data 数据对象
      * @return 错误消息
      */
-    public static AjaxResult error(String msg, Object data)
-    {
+    public static AjaxResult error(String msg, Object data) {
         return new AjaxResult(HttpStatus.ERROR, msg, data);
     }
 
@@ -163,11 +155,10 @@ public class AjaxResult extends HashMap<String, Object>
      * 返回错误消息
      *
      * @param code 状态码
-     * @param msg 返回内容
+     * @param msg  返回内容
      * @return 错误消息
      */
-    public static AjaxResult error(int code, String msg)
-    {
+    public static AjaxResult error(int code, String msg) {
         return new AjaxResult(code, msg, null);
     }
 
@@ -176,8 +167,7 @@ public class AjaxResult extends HashMap<String, Object>
      *
      * @return 结果
      */
-    public boolean isSuccess()
-    {
+    public boolean isSuccess() {
         return !isError();
     }
 
@@ -186,21 +176,19 @@ public class AjaxResult extends HashMap<String, Object>
      *
      * @return 结果
      */
-    public boolean isError()
-    {
+    public boolean isError() {
         return Objects.equals(HttpStatus.ERROR, this.get(CODE_TAG));
     }
 
     /**
      * 方便链式调用
      *
-     * @param key 键
+     * @param key   
      * @param value 值
      * @return 数据对象
      */
     @Override
-    public AjaxResult put(String key, Object value)
-    {
+    public AjaxResult put(String key, Object value) {
         super.put(key, value);
         return this;
     }

+ 14 - 0
src/main/java/cn/ezhizao/framework/web/domain/BaseEntity.java

@@ -36,6 +36,12 @@ public class BaseEntity implements Serializable {
     @TableField(value = "tenant_id")
     private Long tenantId;
 
+    /**
+     * 租户名称
+     */
+    @TableField(exist = false)
+    private String tenantName;
+
     /**
      * 搜索值
      */
@@ -134,6 +140,14 @@ public class BaseEntity implements Serializable {
         this.tenantId = tenantId;
     }
 
+    public String getTenantName() {
+        return tenantName;
+    }
+
+    public void setTenantName(String tenantName) {
+        this.tenantName = tenantName;
+    }
+
     public String getCreateBy() {
         return createBy;
     }

+ 1 - 0
src/main/java/cn/ezhizao/project/system/controller/SysLoginController.java

@@ -53,6 +53,7 @@ public class SysLoginController extends BaseController
         Map<String, Object> loginResult = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid());
         ajax.put(Constants.TOKEN, loginResult.get(Constants.TOKEN));
         ajax.put(Constants.TENANT_ID, loginResult.get(Constants.TENANT_ID));
+        ajax.put(Constants.TENANT_NAME, loginResult.get(Constants.TENANT_NAME));
         return ajax;
     }
 

+ 0 - 12
src/main/java/cn/ezhizao/project/system/domain/SysUser.java

@@ -23,8 +23,6 @@ import java.util.List;
  * @author ruoyi
  */
 public class SysUser extends BaseEntity {
-    private static final long serialVersionUID = 1L;
-
     /**
      * 用户ID
      */
@@ -32,8 +30,6 @@ public class SysUser extends BaseEntity {
     @TableId
     private Long userId;
 
-    private String orgName;
-
     /**
      * 用户账号
      */
@@ -177,14 +173,6 @@ public class SysUser extends BaseEntity {
         isEdit = edit;
     }
 
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
     public String getUserType() {
         return userType;
     }

+ 35 - 44
src/main/resources/mybatis/system/SysUserMapper.xml

@@ -5,35 +5,35 @@
 <mapper namespace="cn.ezhizao.project.system.mapper.SysUserMapper">
 
 	<resultMap type="SysUser" id="SysUserResult">
-		<id     property="userId"       column="user_id"      />
-		<result property="tenantId"     column="tenant_id"      />
-		<result property="orgName"      column="org_name"      />
-		<result property="userName"     column="user_name"    />
-		<result property="userType"     column="user_type"    />
-		<result property="nickName"     column="nick_name"    />
-		<result property="contractCompanyName"  column="contract_company_name" />
-		<result property="contractCompanyId"  column="contract_company_id" />
-		<result property="email"        column="email"        />
-		<result property="phoneNumber"  column="phone_number"  />
-		<result property="sex"          column="sex"          />
-		<result property="avatar"       column="avatar"       />
-		<result property="password"     column="password"     />
-		<result property="status"       column="status"       />
-		<result property="delFlag"      column="del_flag"     />
-		<result property="loginIp"      column="login_ip"     />
-		<result property="loginDate"    column="login_date"   />
-		<result property="createBy"     column="create_by"    />
-		<result property="createTime"   column="create_time"  />
-		<result property="updateBy"     column="update_by"    />
-		<result property="updateTime"   column="update_time"  />
-		<result property="remark"       column="remark"       />
-		<result property="isLeader"     column="is_leader"/>
-		<result property="isPartTime"   column="is_part_time"/>
-		<result property="isDispatcher" column="is_dispatcher"/>
-		<result property="isFormman"    column="is_formman"/>
-		<result property="isYardman"    column="is_yardman"/>
-		<result property="isEdit"       column="is_edit"/>
-		<collection  property="roles"   javaType="java.util.List"           resultMap="RoleResult" />
+		<id     property="userId"              column="user_id"      />
+		<result property="tenantId"            column="tenant_id"      />
+		<result property="tenantName"          column="tenant_name"      />
+		<result property="userName"            column="user_name"    />
+		<result property="userType"            column="user_type"    />
+		<result property="nickName"            column="nick_name"    />
+		<result property="contractCompanyName" column="contract_company_name" />
+		<result property="contractCompanyId"   column="contract_company_id" />
+		<result property="email"               column="email"        />
+		<result property="phoneNumber"         column="phone_number"  />
+		<result property="sex"                 column="sex"          />
+		<result property="avatar"       	   column="avatar"       />
+		<result property="password"     	   column="password"     />
+		<result property="status"       	   column="status"       />
+		<result property="delFlag"      	   column="del_flag"     />
+		<result property="loginIp"      	   column="login_ip"     />
+		<result property="loginDate"    	   column="login_date"   />
+		<result property="createBy"     	   column="create_by"    />
+		<result property="createTime"  		   column="create_time"  />
+		<result property="updateBy"            column="update_by"    />
+		<result property="updateTime"          column="update_time"  />
+		<result property="remark"              column="remark"       />
+		<result property="isLeader"            column="is_leader"/>
+		<result property="isPartTime"          column="is_part_time"/>
+		<result property="isDispatcher"        column="is_dispatcher"/>
+		<result property="isFormman"           column="is_formman"/>
+		<result property="isYardman"           column="is_yardman"/>
+		<result property="isEdit"              column="is_edit"/>
+		<collection  property="roles"   javaType="java.util.List"  resultMap="RoleResult" />
 	</resultMap>
 
 	<resultMap id="RoleResult" type="SysRole">
@@ -45,20 +45,11 @@
 		<result property="status"       column="role_status"    />
 	</resultMap>
 
-	<sql id="selectUserVo">
-		SELECT u.user_id,u.tenant_id,u.user_type,u.user_name, u.nick_name, u.email, u.avatar, u.phone_number, u.password, u.sex,u.contract_company_name,u.contract_company_id, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
-			   r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
-		FROM sys_user u
-				 LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id
-				 LEFT JOIN sys_role r ON r.role_id = ur.role_id
-	</sql>
-
 	<sql id="selectUserTenantVo">
-		SELECT u.user_id,ut.tenant_id,t.org_name,u.user_type,u.user_name, u.nick_name, u.email, u.avatar, u.phone_number, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+		SELECT u.user_id, u.tenant_id, IFNULL(t.org_name, '超级管理员') AS tenant_name, u.user_type,u.user_name, u.nick_name, u.email, u.avatar, u.phone_number, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
 			   r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
 		FROM sys_user u
-		    	 LEFT JOIN biz_user_tenant ut ON ut.user_id = u.user_id
-		         LEFT JOIN biz_tenant t ON t.id = ut.tenant_id
+		         LEFT JOIN biz_tenant t ON t.id = u.tenant_id
 				 LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id
 				 LEFT JOIN sys_role r ON r.role_id = ur.role_id
 	</sql>
@@ -232,17 +223,17 @@
 	</select>
 
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
-		<include refid="selectUserVo"/>
+		<include refid="selectUserTenantVo"/>
 		WHERE u.user_name = #{userName} AND u.del_flag = '0'
 	</select>
 
 	<select id="selectUserByUserNameAndTenantId" parameterType="String" resultMap="SysUserResult">
 		<include refid="selectUserTenantVo"/>
-		WHERE u.user_name = #{userName} AND u.del_flag = '0' AND ut.tenant_id = #{tenantId} AND ut.deleted = 0
+		WHERE u.user_name = #{userName} AND u.tenant_id = #{tenantId} AND u.del_flag = '0'
 	</select>
 
 	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
-		<include refid="selectUserVo"/>
+		<include refid="selectUserTenantVo"/>
 		WHERE u.user_id = #{userId}
 	</select>
 
@@ -252,7 +243,7 @@
 	</select>
 
 	<select id="selectUserListByIds" parameterType="Long" resultMap="SysUserResult">
-		<include refid="selectUserVo"/>
+		<include refid="selectUserTenantVo"/>
 		WHERE u.user_id in
 		<foreach collection="list" item="userId" open="(" separator="," close=")">
 			#{userId}