Compare commits
2 Commits
fe723a7061
...
8eb4d76f29
| Author | SHA1 | Date |
|---|---|---|
|
|
8eb4d76f29 | |
|
|
6d0add8f87 |
|
|
@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.config;
|
||||||
|
|
||||||
import cn.hutool.core.date.SystemClock;
|
import cn.hutool.core.date.SystemClock;
|
||||||
import com.electromagnetic.industry.software.common.cons.UserConstants;
|
import com.electromagnetic.industry.software.common.cons.UserConstants;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.AdminTypeEnum;
|
||||||
import com.electromagnetic.industry.software.common.pojo.UserLoginInfo;
|
import com.electromagnetic.industry.software.common.pojo.UserLoginInfo;
|
||||||
import com.electromagnetic.industry.software.common.util.TokenUtil;
|
import com.electromagnetic.industry.software.common.util.TokenUtil;
|
||||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||||
|
|
@ -70,6 +71,7 @@ public class LoginInterceptor implements HandlerInterceptor {
|
||||||
userLoginInfo.setUserId(claims.get(UserConstants.LOGIN_USER_ID, String.class));
|
userLoginInfo.setUserId(claims.get(UserConstants.LOGIN_USER_ID, String.class));
|
||||||
userLoginInfo.setUsername(claims.get(UserConstants.LOGIN_USER_NAME, String.class));
|
userLoginInfo.setUsername(claims.get(UserConstants.LOGIN_USER_NAME, String.class));
|
||||||
userLoginInfo.setWorkNumber(claims.get(UserConstants.LOGIN_WORK_NUMBER, String.class));
|
userLoginInfo.setWorkNumber(claims.get(UserConstants.LOGIN_WORK_NUMBER, String.class));
|
||||||
|
userLoginInfo.setAdminType(claims.get(UserConstants.LOGIN_ADMIN_TYPE, String.class));
|
||||||
UserThreadLocal.set(userLoginInfo);
|
UserThreadLocal.set(userLoginInfo);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,11 @@ public class User {
|
||||||
*/
|
*/
|
||||||
private Date internshipEndDate;
|
private Date internshipEndDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员类型
|
||||||
|
*/
|
||||||
|
private String adminType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否已发布(系统管理员)
|
* 是否已发布(系统管理员)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,6 @@ public class UserLoginResponse implements Serializable {
|
||||||
private String token;
|
private String token;
|
||||||
|
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
|
private String adminType;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,12 +65,14 @@ public class UserServiceImpl implements UserService {
|
||||||
User user = userMapper.selectUserByWorkNumber(info.getWorkNumber());
|
User user = userMapper.selectUserByWorkNumber(info.getWorkNumber());
|
||||||
info.setUserId(user.getUserId());
|
info.setUserId(user.getUserId());
|
||||||
info.setUsername(user.getUserName());
|
info.setUsername(user.getUserName());
|
||||||
|
info.setAdminType(user.getAdminType());
|
||||||
if (checkUserValid(user) && matchPassword(user, decodePwd)) {
|
if (checkUserValid(user) && matchPassword(user, decodePwd)) {
|
||||||
String tokenStr = createToken(info);
|
String tokenStr = createToken(info);
|
||||||
createUserToken(user, tokenStr);
|
createUserToken(user, tokenStr);
|
||||||
UserLoginResponse userLoginResponse = new UserLoginResponse();
|
UserLoginResponse userLoginResponse = new UserLoginResponse();
|
||||||
userLoginResponse.setToken(tokenStr);
|
userLoginResponse.setToken(tokenStr);
|
||||||
userLoginResponse.setUserId(user.getUserId());
|
userLoginResponse.setUserId(user.getUserId());
|
||||||
|
userLoginResponse.setAdminType(user.getAdminType());
|
||||||
return ElectromagneticResultUtil.success(userLoginResponse);
|
return ElectromagneticResultUtil.success(userLoginResponse);
|
||||||
}
|
}
|
||||||
return ElectromagneticResultUtil.fail("500", "用户不存在/密码错误");
|
return ElectromagneticResultUtil.fail("500", "用户不存在/密码错误");
|
||||||
|
|
@ -99,6 +101,7 @@ public class UserServiceImpl implements UserService {
|
||||||
claims.put(UserConstants.LOGIN_USER_ID, loginInfo.getUserId());
|
claims.put(UserConstants.LOGIN_USER_ID, loginInfo.getUserId());
|
||||||
claims.put(UserConstants.LOGIN_USER_NAME, loginInfo.getUsername());
|
claims.put(UserConstants.LOGIN_USER_NAME, loginInfo.getUsername());
|
||||||
claims.put(UserConstants.LOGIN_WORK_NUMBER, loginInfo.getWorkNumber());
|
claims.put(UserConstants.LOGIN_WORK_NUMBER, loginInfo.getWorkNumber());
|
||||||
|
claims.put(UserConstants.LOGIN_ADMIN_TYPE, loginInfo.getAdminType());
|
||||||
return Jwts.builder()
|
return Jwts.builder()
|
||||||
.addClaims(claims)
|
.addClaims(claims)
|
||||||
.setIssuedAt(DateTime.now())
|
.setIssuedAt(DateTime.now())
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
<result column="salt" jdbcType="VARCHAR" property="salt"/>
|
<result column="salt" jdbcType="VARCHAR" property="salt"/>
|
||||||
<result column="user_status" jdbcType="VARCHAR" property="userStatus"/>
|
<result column="user_status" jdbcType="VARCHAR" property="userStatus"/>
|
||||||
<result column="internship_end_date" jdbcType="DATE" property="internshipEndDate"/>
|
<result column="internship_end_date" jdbcType="DATE" property="internshipEndDate"/>
|
||||||
|
<result column="admin_type" jdbcType="VARCHAR" property="adminType"/>
|
||||||
<result column="creator" jdbcType="VARCHAR" property="creator"/>
|
<result column="creator" jdbcType="VARCHAR" property="creator"/>
|
||||||
<result column="creator_name" jdbcType="VARCHAR" property="creatorName"/>
|
<result column="creator_name" jdbcType="VARCHAR" property="creatorName"/>
|
||||||
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
|
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
|
||||||
|
|
@ -39,6 +40,7 @@
|
||||||
salt,
|
salt,
|
||||||
user_status,
|
user_status,
|
||||||
internship_end_date,
|
internship_end_date,
|
||||||
|
admin_type,
|
||||||
creator,
|
creator,
|
||||||
creator_name,
|
creator_name,
|
||||||
gmt_create,
|
gmt_create,
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ public interface UserConstants {
|
||||||
String LOGIN_USER_NAME = "userName";
|
String LOGIN_USER_NAME = "userName";
|
||||||
String LOGIN_WORK_NUMBER = "workNumber";
|
String LOGIN_WORK_NUMBER = "workNumber";
|
||||||
String LOGIN_USER_ID = "userId";
|
String LOGIN_USER_ID = "userId";
|
||||||
|
String LOGIN_ADMIN_TYPE = "adminType";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员账号
|
* 管理员账号
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.electromagnetic.industry.software.common.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum AdminTypeEnum {
|
||||||
|
|
||||||
|
SYSTEM("system"),
|
||||||
|
AUDIT("audit"),
|
||||||
|
NORMAL("normal"),
|
||||||
|
SECURITY("security");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
}
|
||||||
|
|
@ -29,4 +29,9 @@ public class UserLoginInfo {
|
||||||
* 令牌
|
* 令牌
|
||||||
*/
|
*/
|
||||||
private String token;
|
private String token;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员类型
|
||||||
|
*/
|
||||||
|
private String adminType;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@ public class UserThreadLocal {
|
||||||
return userThread.get().getUserId();
|
return userThread.get().getUserId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getAdminType() {return userThread.get().getAdminType();}
|
||||||
|
|
||||||
public static void remove() {
|
public static void remove() {
|
||||||
userThread.remove();
|
userThread.remove();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue