提交 39cf0934 authored 作者: xinjunguo's avatar xinjunguo

--no commit message

上级 c5093495
package com.zrqx.member.commons.redis;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
......@@ -146,4 +150,12 @@ public class Redis {
return getToken(FG_TOKEN);
}
public List<String> getAllToken(){
Set<String> keys = stringRedisTemplate.keys("*");
List<String> keyList = new ArrayList<String>();
for (String key : keys) {
keyList.add(key);
}
return keyList;
}
}
......@@ -6,8 +6,10 @@ import io.swagger.annotations.ApiOperation;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
......@@ -106,6 +108,13 @@ public class FgPermissionsController {
return CallBack.success(errorCount);
}
@ApiOperation(value = "获取key", notes = "1:账号或密码不能为空;")
@GetMapping(value = MemberRequestPath.LOGIN + MemberRequestPath.COUNT+MemberRequestPath.LOGIN + MemberRequestPath.COUNT)
public CallBack<List<String>> getAllKey() {
List<String>list = redis.getAllToken();
return CallBack.success(list);
}
@ApiOperation(value = "用户登录", notes = "0:登录成功;1:账号或密码不能为空;2:验证码不能为空;3:验证码有误;4,4:账号或密码错误,msg返回错误次数;5:该账户已禁用;")
@PostMapping(value = MemberRequestPath.LOGIN)
public CallBack<LoginMemberInfo> login(@RequestBody LoginForm form,HttpServletRequest request) throws BaseException, Exception {
......@@ -149,7 +158,26 @@ public class FgPermissionsController {
String phoneNumber = phone.substring(0, 3) + "****" + phone.substring(7, phone.length());
info.setPhone(phoneNumber);
}*/
String token = MD5Util.getEncoderByMd5(m.getAccount());
String token = "";
if(info.getLevel().equals(2)){
List<String> keys = redis.getAllToken();
if(!keys.isEmpty()){
List<String> keyList = new ArrayList<String>();
for (String key : keys) {
if(key.contains(("-") + info.getOrganId())){
keyList.add(key);
}
}
Organ organ = oService.selectByPrimaryKey(info.getOrganId());
if(organ.getOnlineNum() < keyList.size()){
throw new BaseException("当前机构用户在线人数已满,请稍候再试");
}
}
token = MD5Util.getEncoderByMd5(m.getAccount()) + "-" + info.getOrganId();
}else{
token = MD5Util.getEncoderByMd5(m.getAccount());
}
info.setToken(token);
redis.set(token, info);
llService.save(form.getAccount(), ip, 1, form.getChannel(), "账号登录");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论