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 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.util.TokenUtil;
|
||||
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.setUsername(claims.get(UserConstants.LOGIN_USER_NAME, 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);
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -69,6 +69,11 @@ public class User {
|
|||
*/
|
||||
private Date internshipEndDate;
|
||||
|
||||
/**
|
||||
* 管理员类型
|
||||
*/
|
||||
private String adminType;
|
||||
|
||||
/**
|
||||
* 是否已发布(系统管理员)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -10,4 +10,6 @@ public class UserLoginResponse implements Serializable {
|
|||
private String token;
|
||||
|
||||
private String userId;
|
||||
|
||||
private String adminType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,12 +65,14 @@ public class UserServiceImpl implements UserService {
|
|||
User user = userMapper.selectUserByWorkNumber(info.getWorkNumber());
|
||||
info.setUserId(user.getUserId());
|
||||
info.setUsername(user.getUserName());
|
||||
info.setAdminType(user.getAdminType());
|
||||
if (checkUserValid(user) && matchPassword(user, decodePwd)) {
|
||||
String tokenStr = createToken(info);
|
||||
createUserToken(user, tokenStr);
|
||||
UserLoginResponse userLoginResponse = new UserLoginResponse();
|
||||
userLoginResponse.setToken(tokenStr);
|
||||
userLoginResponse.setUserId(user.getUserId());
|
||||
userLoginResponse.setAdminType(user.getAdminType());
|
||||
return ElectromagneticResultUtil.success(userLoginResponse);
|
||||
}
|
||||
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_NAME, loginInfo.getUsername());
|
||||
claims.put(UserConstants.LOGIN_WORK_NUMBER, loginInfo.getWorkNumber());
|
||||
claims.put(UserConstants.LOGIN_ADMIN_TYPE, loginInfo.getAdminType());
|
||||
return Jwts.builder()
|
||||
.addClaims(claims)
|
||||
.setIssuedAt(DateTime.now())
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
<result column="salt" jdbcType="VARCHAR" property="salt"/>
|
||||
<result column="user_status" jdbcType="VARCHAR" property="userStatus"/>
|
||||
<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_name" jdbcType="VARCHAR" property="creatorName"/>
|
||||
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
|
||||
|
|
@ -39,6 +40,7 @@
|
|||
salt,
|
||||
user_status,
|
||||
internship_end_date,
|
||||
admin_type,
|
||||
creator,
|
||||
creator_name,
|
||||
gmt_create,
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ public interface UserConstants {
|
|||
String LOGIN_USER_NAME = "userName";
|
||||
String LOGIN_WORK_NUMBER = "workNumber";
|
||||
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 adminType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ public class UserThreadLocal {
|
|||
return userThread.get().getUserId();
|
||||
}
|
||||
|
||||
public static String getAdminType() {return userThread.get().getAdminType();}
|
||||
|
||||
public static void remove() {
|
||||
userThread.remove();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue