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

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

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