2
0

fix: 修复设备数限制

This commit is contained in:
caiyuchao
2025-02-24 16:07:52 +08:00
parent d680308aea
commit 3e629b8318
2 changed files with 5 additions and 2 deletions

View File

@@ -269,13 +269,16 @@ public class UAccountServiceImpl extends ServiceImpl<UAccountMapper, UAccount> i
.eq(UClient::getClientMac, client.getMac()), false);
if (ObjectUtil.isNull(loginClient) || ObjectUtil.isNull(loginClient.getUserId())) {
wifiApi.cancelAuthClient(site.getSiteId(), client.getMac());
continue;
}
UAccount account = this.getOne(Wrappers.<UAccount>lambdaQuery().eq(UAccount::getUserId, loginClient.getUserId()), false);
if (ObjectUtil.isNull(account)) {
wifiApi.cancelAuthClient(site.getSiteId(), client.getMac());
continue;
}
if (!AccountUtil.isValid(account, current)) {
wifiApi.cancelAuthClient(site.getSiteId(), client.getMac());
continue;
}
// 设备数超出限制的话,取消在线时间短的设备
if (account.getClientNumEnable()) {
@@ -284,7 +287,7 @@ public class UAccountServiceImpl extends ServiceImpl<UAccountMapper, UAccount> i
continue;
}
int limitNum = currentClients.size() - account.getClientNum();
List<UClientCurrentVo> cancelClients = currentClients.stream().sorted(Comparator.comparing(UClientCurrentVo::getUpTime).reversed())
List<UClientCurrentVo> cancelClients = currentClients.stream().sorted(Comparator.comparing(UClientCurrentVo::getUpTime))
.limit(limitNum).collect(Collectors.toList());
for (UClientCurrentVo cancelClient : cancelClients) {
wifiApi.cancelAuthClient(cancelClient.getSiteId(), cancelClient.getClientMac());

View File

@@ -61,7 +61,7 @@ public class UClientServiceImpl extends ServiceImpl<UClientMapper, UClient> impl
}
boolean flag = this.saveOrUpdate(uClient);
// 登录时如果当前用户有可用套餐和余额授权当前设备访问wifi且根据套餐限制带宽
if (StrUtil.isNotBlank(uClientBo.getClientName()) && StrUtil.isNotBlank(uClientBo.getSiteId())) {
if (StrUtil.isNotBlank(uClientBo.getClientMac()) && StrUtil.isNotBlank(uClientBo.getSiteId())) {
accountService.authClientAndRateLimit(uClientBo);
}
return flag;