Commit c1809f63 by huangjinxin

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

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