|
|
@@ -60,7 +60,7 @@ public class LoginService {
|
|
|
private String newPwd;
|
|
|
}
|
|
|
|
|
|
- public ResultVo<UserInfo> login(UserInfo userInfo, boolean encrypt) {
|
|
|
+ public ResultVo<UserInfo> login(UserInfo userInfo, HttpServletRequest request, boolean encrypt) {
|
|
|
UserInfo tempUserInfo = dao.findUserByCodeRsFromDjUserBase(userInfo.getCodeRs());
|
|
|
if (null == tempUserInfo) {
|
|
|
tempUserInfo = dao.findUserByCodeRsFromEmployeeMi(userInfo.getCodeRs());
|
|
|
@@ -81,9 +81,11 @@ public class LoginService {
|
|
|
tempUserInfo.setAvatar(json.getString("avatar"));
|
|
|
} catch (Exception ignored) {
|
|
|
}
|
|
|
+ String ip = IpAddressUtil.getIPAddress(request);
|
|
|
tempUserInfo = redisLikeService.dbUserInfo(tempUserInfo.getCode());
|
|
|
tempUserInfo.setToken(token);
|
|
|
- tempUserInfo.setSid(makeSid(tempUserInfo.getCode(), token, userInfo.getSid()));
|
|
|
+ tempUserInfo.setIp(ip);
|
|
|
+ tempUserInfo.setSid(makeSid(tempUserInfo.getCode(), userInfo.getSid(), ip));
|
|
|
redisLikeService.setUserInfo(tempUserInfo);
|
|
|
|
|
|
return ResultVoUtil.success(tempUserInfo);
|
|
|
@@ -117,13 +119,13 @@ public class LoginService {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "验证码过期或者验证码错误。");
|
|
|
}
|
|
|
|
|
|
- public ResultVo<JSONObject> simpleLogin(String code) {
|
|
|
+ public ResultVo<JSONObject> simpleLogin(String code, HttpServletRequest request) {
|
|
|
UserInfo us = dao.getUserInfoByCode(code);
|
|
|
if (us == null) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NOT_EL_MESSAGE, "用户不存在");
|
|
|
}
|
|
|
JSONObject js = new JSONObject();
|
|
|
- ResultVo<UserInfo> userInfoResultVo = login(us, false);
|
|
|
+ ResultVo<UserInfo> userInfoResultVo = login(us, request, false);
|
|
|
if (userInfoResultVo.getCode() == 200) {
|
|
|
js.put("userInfo", userInfoResultVo.getData());
|
|
|
} else {
|
|
|
@@ -165,21 +167,14 @@ public class LoginService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private String makeSid(String code, String token, String sid) {
|
|
|
- String tempToken = token.replaceAll("\\.", "").replaceAll("_", "").replaceAll("-", "");
|
|
|
- String flakeIdSub = "-" + SnowFlakeId.instance().nextId() + "-";
|
|
|
- int random = new Random().nextInt(80);
|
|
|
- String tokenSub = tempToken.substring(random, random + 18);
|
|
|
+ private String makeSid(String code, String sid, String ip) {
|
|
|
+ String uuid = UUID.randomUUID().toString().replaceAll("-", "");
|
|
|
if (StringUtil.notBlank(sid) && "fromTriageScreen".equals(sid)) {
|
|
|
- tokenSub += "-triageFloorScreen";
|
|
|
+ uuid += "-triageFloorScreen";
|
|
|
+ } else {
|
|
|
+ uuid = "-" + ip + "-" + uuid;
|
|
|
}
|
|
|
- return code + flakeIdSub + tokenSub;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- public void test() {
|
|
|
-
|
|
|
-
|
|
|
+ return code + uuid;
|
|
|
}
|
|
|
|
|
|
}
|