mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-09 03:06:37 +08:00
修复bug
This commit is contained in:
@@ -151,32 +151,37 @@ public class ForwardServiceImpl extends ServiceImpl<ForwardMapper, Forward> impl
|
|||||||
// 4. 检查权限和限制
|
// 4. 检查权限和限制
|
||||||
UserPermissionResult permissionResult = null;
|
UserPermissionResult permissionResult = null;
|
||||||
if (tunnelChanged) {
|
if (tunnelChanged) {
|
||||||
// 管理员操作用户转发时,需要检查原用户是否有新隧道权限
|
|
||||||
if (currentUser.getRoleId() == ADMIN_ROLE_ID) {
|
if (currentUser.getRoleId() == ADMIN_ROLE_ID) {
|
||||||
// 获取原转发用户的信息
|
// 管理员操作自己的转发时,不需要检查权限限制
|
||||||
User originalUser = userService.getById(existForward.getUserId());
|
if (Objects.equals(currentUser.getUserId(), existForward.getUserId())) {
|
||||||
if (originalUser == null) {
|
permissionResult = UserPermissionResult.success(null, null);
|
||||||
return R.err("用户不存在");
|
} else {
|
||||||
}
|
// 管理员操作用户转发时,需要检查原用户是否有新隧道权限
|
||||||
|
// 获取原转发用户的信息
|
||||||
|
User originalUser = userService.getById(existForward.getUserId());
|
||||||
|
if (originalUser == null) {
|
||||||
|
return R.err("用户不存在");
|
||||||
|
}
|
||||||
|
|
||||||
// 检查原用户是否有新隧道权限
|
// 检查原用户是否有新隧道权限
|
||||||
UserTunnel userTunnel = getUserTunnel(existForward.getUserId(), tunnel.getId().intValue());
|
UserTunnel userTunnel = getUserTunnel(existForward.getUserId(), tunnel.getId().intValue());
|
||||||
if (userTunnel == null) {
|
if (userTunnel == null) {
|
||||||
return R.err("用户没有该隧道权限");
|
return R.err("用户没有该隧道权限");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查隧道权限到期时间
|
// 检查隧道权限到期时间
|
||||||
if (userTunnel.getExpTime() != null && userTunnel.getExpTime() <= System.currentTimeMillis()) {
|
if (userTunnel.getExpTime() != null && userTunnel.getExpTime() <= System.currentTimeMillis()) {
|
||||||
return R.err("用户的该隧道权限已到期");
|
return R.err("用户的该隧道权限已到期");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查原用户的流量和转发数量限制
|
// 检查原用户的流量和转发数量限制
|
||||||
R quotaCheckResult = checkForwardQuota(existForward.getUserId(), tunnel.getId().intValue(), userTunnel, originalUser, forwardUpdateDto.getId());
|
R quotaCheckResult = checkForwardQuota(existForward.getUserId(), tunnel.getId().intValue(), userTunnel, originalUser, forwardUpdateDto.getId());
|
||||||
if (quotaCheckResult.getCode() != 0) {
|
if (quotaCheckResult.getCode() != 0) {
|
||||||
return R.err("用户" + quotaCheckResult.getMsg());
|
return R.err("用户" + quotaCheckResult.getMsg());
|
||||||
}
|
}
|
||||||
|
|
||||||
permissionResult = UserPermissionResult.success(userTunnel.getSpeedId(), userTunnel);
|
permissionResult = UserPermissionResult.success(userTunnel.getSpeedId(), userTunnel);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 普通用户检查自己的权限
|
// 普通用户检查自己的权限
|
||||||
permissionResult = checkUserPermissions(currentUser, tunnel, forwardUpdateDto.getId());
|
permissionResult = checkUserPermissions(currentUser, tunnel, forwardUpdateDto.getId());
|
||||||
|
|||||||
Reference in New Issue
Block a user