提交 5817988a 编写于 作者: rushui.chen's avatar rushui.chen

20191125 同一用户不能登录两个终端

上级 5914da61
流水线 #17635 已失败 于阶段
in 0 second
......@@ -175,8 +175,9 @@ public class AccountServiceImpl implements AccountService {
//成功返回0,失败返回1
private int refresh(Map<String, Object> doctorMap) {
String doctorId = doctorMap.get("id").toString();
//String hospitalId = doctorMap.get("hospital_id") == null ? StringUtils.EMPTY : doctorMap.get("hospital_id").toString();
//String hospital = doctorMap.get("hospital") == null ? StringUtils.EMPTY : doctorMap.get("hospital").toString();
/*
String hospitalId = doctorMap.get("hospital_id") == null ? StringUtils.EMPTY : doctorMap.get("hospital_id").toString();
String hospital = doctorMap.get("hospital") == null ? StringUtils.EMPTY : doctorMap.get("hospital").toString();
String mobile = doctorMap.get("mobile_phone") == null ? StringUtils.EMPTY : doctorMap.get("mobile_phone").toString();
String status = doctorMap.get("status") == null ? StringUtils.EMPTY : doctorMap.get("status").toString();
String avatar_image_url = doctorMap.get("avatar_image_url") == null ? StringUtils.EMPTY : doctorMap.get("avatar_image_url").toString();
......@@ -191,15 +192,18 @@ public class AccountServiceImpl implements AccountService {
String town_name = doctorMap.get("town_name") == null ? StringUtils.EMPTY : doctorMap.get("town_name").toString();
String title = doctorMap.get("title") == null ? StringUtils.EMPTY : doctorMap.get("title").toString();
String title_id = doctorMap.get("title_id") == null ? StringUtils.EMPTY : doctorMap.get("title_id").toString();
*/
String name = doctorMap.get("name") == null ? StringUtils.EMPTY : doctorMap.get("name").toString();
String key = KEY_PREFIX + doctorId;
try {
String cacheId = cacheClient.hget(key, "id");
if (StringUtils.isBlank(cacheId)) {
return 0; //未找到用户缓存数据,不做更新
}
//cacheClient.hset(key, "hospital_id", StringUtils.isEmpty(hospitalId) ? "0" : hospitalId);
//cacheClient.hset(key, "hospital", hospital);
/**
cacheClient.hset(key, "hospital_id", StringUtils.isEmpty(hospitalId) ? "0" : hospitalId);
cacheClient.hset(key, "hospital", hospital);
cacheClient.hset(key, "province_name", province_name);
cacheClient.hset(key, "city_name", city_name);
cacheClient.hset(key, "county_name", county_name);
......@@ -214,6 +218,9 @@ public class AccountServiceImpl implements AccountService {
cacheClient.hset(key, "email", email);
cacheClient.hset(key, "title_id", title_id);
cacheClient.hset(key, "title", title);
*/
cacheClient.hset(key, "name", name);
return 0;
} catch (Exception ex) {
return 1;
......
......@@ -53,8 +53,13 @@ public class TokenUtils {
Integer registerSource = account.getRegisterSource();
String newToken = "";
try {
//用户id
//先清除旧token
String value = "token-doctor-" + account.getId().toString();
String sourceType = AccountUtils.getSourceType(registerSource);
String oldToken = cacheClient.get(value + "-"+sourceType);
if (StringUtils.isNotBlank(oldToken)) {
cacheClient.del(oldToken);
}
// 根据不同的产品线设置token有效期
int expiredSeconds = 24 * 60 * 60;
if (registerSource != 3 && registerSource != 5) {
......@@ -65,11 +70,8 @@ public class TokenUtils {
//存储token对应的用户id,数据结构如:(token-FF9FCB0D93A642328A01C279701B7607:token-doctor-1)
cacheClient.set(Key, value, expiredSeconds);
//存储不同终端对应的token,数据结构如:(token-doctor-12345678-app:token-FF9FCB0D93A642328A01C279701B7607)
String sourceType = AccountUtils.getSourceType(registerSource);
//String sourceType = AccountUtils.getSourceType(registerSource);
cacheClient.set(value + "-" + sourceType, Key, expiredSeconds);
//用户数据放入redis缓存
// String userData = cacheClient.hget(value, "id");
// if (org.apache.commons.lang3.StringUtils.isEmpty(userData)) {
Map<String, String> data = new HashMap<>();
data.put("token", newToken);
data.put("id", account.getId() + "");
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册