优化注册和登录逻辑,调整并发限制,更新方法注释

This commit is contained in:
syruan 2025-09-18 16:54:18 +08:00
parent f6f0c97622
commit 32621a782f
2 changed files with 27 additions and 32 deletions

View File

@ -142,7 +142,7 @@ public class TokenController {
} }
/*对系统并发数进行判断*/ /*对系统并发数进行判断*/
long concurrency = 100; long concurrency = 300;
AjaxResult result = configService.getConfigKey("sys.backend.concurrency"); AjaxResult result = configService.getConfigKey("sys.backend.concurrency");
if (result.isSuccess()) if (result.isSuccess())
{ {
@ -161,23 +161,24 @@ public class TokenController {
/** /**
* i皖送登录 * i皖送登录
* @return * @return 登陆结果
*/ */
@PostMapping("iwsLogin") @PostMapping("iwsLogin")
public R<?> iwsLogin(@RequestBody LoginBody form) { public R<?> iwsLogin(@RequestBody LoginBody form) {
//获取i皖送传过来的票据 //获取i皖送传过来的票据
String ticket = form.getTicket(); String ticket = form.getTicket();
log.info("ticket=" + ticket); log.info("ticket=" + ticket);
if (StringUtils.isNotEmpty(ticket)) { if (StringUtils.isNotBlank(ticket)) {
LoginUser loginUser = new LoginUser(); LoginUser loginUser;
if (form.getSysType()!=null && "1".equals(form.getSysType())){ if (form.getSysType() != null && "1".equals(form.getSysType())){
log.info("app端登录"); log.info("app端登录");
//loginUser = sysLoginService.iwsH5Login(ticket,iwsH5AppId,iwsH5Url); //loginUser = sysLoginService.iwsH5Login(ticket,iwsH5AppId,iwsH5Url);
//h5和web端调用同一个接口 //h5和web端调用同一个接口
loginUser = sysLoginService.iwsWebLogin(ticket,iwsH5AppId,iwsWebUrl); loginUser = sysLoginService.iwsWebLogin(ticket,iwsH5AppId,iwsWebUrl);
} else if (form.getSysType()!=null && "0".equals(form.getSysType())) { } else if (form.getSysType() != null && "0".equals(form.getSysType())) {
loginUser = sysLoginService.iwsWebLogin(ticket,iwsWebAppId,iwsWebUrl); loginUser = sysLoginService.iwsWebLogin(ticket,iwsWebAppId,iwsWebUrl);
}else { } else {
log.error("登陆失败既不是APP端登陆也非Web端登陆");
throw new ServiceException("登录失败,请稍后重试"); throw new ServiceException("登录失败,请稍后重试");
} }
logService.saveLogin(loginUser.getSysUser().getUserName(), "登录", "登录成功", null, "成功"); logService.saveLogin(loginUser.getSysUser().getUserName(), "登录", "登录成功", null, "成功");
@ -188,16 +189,8 @@ public class TokenController {
return R.fail("登录失败!"); return R.fail("登录失败!");
} }
// @PostConstruct
// public void test(){
// sysLoginService.createNewUser("mengj7012");
// }
@PostMapping("testLogin") @PostMapping("testLogin")
public R<?> testLogin(@RequestBody LoginBody form) { public R<?> testLogin(@RequestBody LoginBody form) {
return R.fail("登录失败!"); return R.fail("登录失败!");
} }

View File

@ -104,7 +104,6 @@ public class SysLoginService {
public void register(RegisterBody registerBody) { public void register(RegisterBody registerBody) {
log.info("开始进行注册==============="); log.info("开始进行注册===============");
long startTime = System.currentTimeMillis(); // 记录开始时间 long startTime = System.currentTimeMillis(); // 记录开始时间
//String result = convertAndAppend(registerBody.getNickName(), registerBody.getMobile());
int contactType = getContactType(registerBody.getMobile()); int contactType = getContactType(registerBody.getMobile());
if (contactType == 0) { if (contactType == 0) {
@ -117,10 +116,9 @@ public class SysLoginService {
if (userResult.getData() != null) { if (userResult.getData() != null) {
throw new ServiceException("联系方式已经注册账号"); throw new ServiceException("联系方式已经注册账号");
} }
}else { } else {
throw new ServiceException("请输入正确的联系方式"); throw new ServiceException("请输入正确的联系方式");
} }
//registerBody.setUsername(result);
if (StringUtils.isAnyBlank(registerBody.getUsername(), registerBody.getPassword()) || if (StringUtils.isAnyBlank(registerBody.getUsername(), registerBody.getPassword()) ||
registerBody.getUsername().length() < UserConstants.USERNAME_MIN_LENGTH || registerBody.getUsername().length() < UserConstants.USERNAME_MIN_LENGTH ||
registerBody.getUsername().length() > UserConstants.USERNAME_MAX_LENGTH) { registerBody.getUsername().length() > UserConstants.USERNAME_MAX_LENGTH) {
@ -142,11 +140,11 @@ public class SysLoginService {
if (systemConfig.getRegistersConfig().isApprovalStatus()){ if (systemConfig.getRegistersConfig().isApprovalStatus()){
sysUser.setApprovalStatus("0"); sysUser.setApprovalStatus("0");
sysUser.setStatus("1"); sysUser.setStatus("1");
}else { } else {
sysUser.setApprovalStatus("1"); sysUser.setApprovalStatus("1");
sysUser.setStatus("0"); sysUser.setStatus("0");
} }
//有要求另加 // 有要求另加
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword())); sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
if (getContactType(registerBody.getMobile()) == 1) { if (getContactType(registerBody.getMobile()) == 1) {
sysUser.setPhonenumber(registerBody.getMobile()); sysUser.setPhonenumber(registerBody.getMobile());
@ -209,10 +207,10 @@ public class SysLoginService {
/** /**
* i皖送Web端登录 * i皖送Web端登录
* @param ticket * @param ticket iws平台传输票据
* @param iwsWebAppId * @param iwsWebAppId iwsWebAppId
* @param iwsWebUrl * @param iwsWebUrl i皖送Web地址
* @return * @return 登陆信息
*/ */
public LoginUser iwsWebLogin(String ticket, String iwsWebAppId, String iwsWebUrl) { public LoginUser iwsWebLogin(String ticket, String iwsWebAppId, String iwsWebUrl) {
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
@ -222,7 +220,7 @@ public class SysLoginService {
paramMap.put("appId", iwsWebAppId); paramMap.put("appId", iwsWebAppId);
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> authResponse = restTemplate.getForEntity(iwsWebUrl, String.class, paramMap); ResponseEntity<String> authResponse = restTemplate.getForEntity(iwsWebUrl, String.class, paramMap);
log.info("authResponse:" + authResponse.toString()); log.info("authResponse:" + authResponse);
// 根据ResponseEntity<String> responseEntity对象获取body部分body为json格式字符串 // 根据ResponseEntity<String> responseEntity对象获取body部分body为json格式字符串
String content = authResponse.getBody(); String content = authResponse.getBody();
// 将json字符串转化为json对象 // 将json字符串转化为json对象
@ -234,23 +232,27 @@ public class SysLoginService {
sysUser.setUserName(data.get("userName").toString()); sysUser.setUserName(data.get("userName").toString());
sysUser.setNickName(data.get("name").toString()); sysUser.setNickName(data.get("name").toString());
sysUser.setPhonenumber(data.get("mobile").toString()); sysUser.setPhonenumber(data.get("mobile").toString());
// 创建新用户
loginUser.setSysUser(sysUser); loginUser.setSysUser(sysUser);
loginUser =createNewUser(sysUser.getUserName()); loginUser = createNewUser(sysUser.getUserName());
// loginUser = createUser(sysUser,loginUser);
} }
return loginUser; return loginUser;
} }
//mengj7012 /**
* 根据用户名创建用户
* @param userName 用户名
*/
public LoginUser createNewUser(String userName) { public LoginUser createNewUser(String userName) {
//通过用户名获取人员信息 //通过用户名获取人员信息
LoginUser loginUserNew = new LoginUser(); LoginUser loginUserNew;
SysUser sysUserNew = new SysUser(); SysUser sysUserNew;
R<LoginUser> userResult = remoteUserService.getUserInfo(userName, SecurityConstants.INNER); R<LoginUser> userResult = remoteUserService.getUserInfo(userName, SecurityConstants.INNER);
if (userResult.getData() == null || R.FAIL == userResult.getCode()) { if (userResult.getData() == null || R.FAIL == userResult.getCode()) {
log.info("登录用户不存在,进行创建----"); log.info("登录用户不存在,进行创建----");
RegisterBody registerBody = new RegisterBody(); RegisterBody registerBody = new RegisterBody();
//查询送变电用户 及橘 // 查询送变电用户及角
R<SbdUser> sbdUserR = sbdUserService.getInfo(userName, SecurityConstants.INNER); R<SbdUser> sbdUserR = sbdUserService.getInfo(userName, SecurityConstants.INNER);
SbdUser sbdUser = sbdUserR.getData(); SbdUser sbdUser = sbdUserR.getData();
registerBody.setUsername(sbdUser.getUserName()); registerBody.setUsername(sbdUser.getUserName());
@ -289,7 +291,7 @@ public class SysLoginService {
} }
}else{ } else {
loginUserNew = userResult.getData(); loginUserNew = userResult.getData();
} }
return loginUserNew; return loginUserNew;