Commit c1809f63 by huangjinxin

fix:用户登陆鉴权,组织机构关联处理

1 parent 435f8a44
...@@ -102,6 +102,11 @@ public enum StatusCodeEnum { ...@@ -102,6 +102,11 @@ public enum StatusCodeEnum {
*/ */
RESOURCE_ALREADY_EXISTS_ROLE("017","角色中已存在该资源,不能重复添加", false), RESOURCE_ALREADY_EXISTS_ROLE("017","角色中已存在该资源,不能重复添加", false),
/**
* 用户状态异常或已被禁用
*/
USER_ISBAN_OR_ERROR("018","用户状态异常或已被禁用", false),
GIS_EXISTS("001", "已存在", false), GIS_EXISTS("001", "已存在", false),
GIS_NOT_EXISTS("002", "不存在", false), GIS_NOT_EXISTS("002", "不存在", false),
......
...@@ -86,7 +86,7 @@ public class UserInfo { ...@@ -86,7 +86,7 @@ public class UserInfo {
/** /**
* 组织ids * 组织ids
*/ */
private List<Integer> orgIds; private List<String> orgIds;
/** /**
* 组织级别 0:大区 1:分部 2:站点 * 组织级别 0:大区 1:分部 2:站点
*/ */
......
...@@ -10,7 +10,7 @@ public class OrgInfo implements Serializable { ...@@ -10,7 +10,7 @@ public class OrgInfo implements Serializable {
/** /**
* 机构id * 机构id
*/ */
private Integer id; private String id;
/** /**
* 机构名称 * 机构名称
......
...@@ -20,7 +20,7 @@ public class UserOrgEntity { ...@@ -20,7 +20,7 @@ public class UserOrgEntity {
private String userId; private String userId;
@Column(name = "org_id", nullable = false) @Column(name = "org_id", nullable = false)
private Integer orgId; private String orgId;
/** /**
* 组织级别 0:大区 1:分部 2:站点 * 组织级别 0:大区 1:分部 2:站点
......
...@@ -102,17 +102,20 @@ public class UserService { ...@@ -102,17 +102,20 @@ public class UserService {
public Result<UserLoginDTO> userLogin(String account, String password) { public Result<UserLoginDTO> userLogin(String account, String password) {
UserEntity user = userDao.findByAccountAndPassword(account, SecureUtil.md5(password)); UserEntity user = userDao.findByAccountAndPassword(account, SecureUtil.md5(password));
log.info("{}/{} login", account, password); log.info("{}/{} login", account, password);
if (null != user) { if (null == user) {
UserLoginDTO userDTO = convertToUserLoginDTO(user);
// 生成token
String token = IdUtil.simpleUUID();
userDTO.setToken(token);
long timestamp = System.currentTimeMillis() + LIVE_TIME_MILLIS;
redisService.set(RedisKeyGroup.authToken + ":" + token, gson.toJson(userDTO), timestamp / 1000);
return Result.success(userDTO);
} else {
return Result.failure("鉴权失败"); return Result.failure("鉴权失败");
} }
//判断用户禁用/异常情况
if (user.getBan() == 1 || user.getStatus() == 0) {
Result.failed(StatusCodeEnum.USER_ISBAN_OR_ERROR, null);
}
UserLoginDTO userDTO = convertToUserLoginDTO(user);
// 生成token
String token = IdUtil.simpleUUID();
userDTO.setToken(token);
long timestamp = System.currentTimeMillis() + LIVE_TIME_MILLIS;
redisService.set(RedisKeyGroup.authToken + ":" + token, gson.toJson(userDTO), timestamp / 1000);
return Result.success(userDTO);
} }
private UserLoginDTO convertToUserLoginDTO(UserEntity user) { private UserLoginDTO convertToUserLoginDTO(UserEntity user) {
...@@ -482,7 +485,7 @@ public class UserService { ...@@ -482,7 +485,7 @@ public class UserService {
//处理用户机构关联信息 //处理用户机构关联信息
if (CollectionUtils.isNotEmpty(userInfo.getOrgIds()) && null != userInfo.getOrgIds()) { if (CollectionUtils.isNotEmpty(userInfo.getOrgIds()) && null != userInfo.getOrgIds()) {
userOrgDao.deleteByUserId(userInfo.getId()); userOrgDao.deleteByUserId(userInfo.getId());
for (Integer orgId : userInfo.getOrgIds()) { for (String orgId : userInfo.getOrgIds()) {
UserOrgEntity userOrgEntity = new UserOrgEntity(); UserOrgEntity userOrgEntity = new UserOrgEntity();
userOrgEntity.setUserId(userInfo.getId()); userOrgEntity.setUserId(userInfo.getId());
userOrgEntity.setOrgId(orgId); userOrgEntity.setOrgId(orgId);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!