mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-08 02:36:37 +08:00
fix: block manual removal of group-granted tunnels
This commit is contained in:
@@ -2,6 +2,7 @@ package com.admin.service.impl;
|
|||||||
|
|
||||||
import com.admin.common.dto.*;
|
import com.admin.common.dto.*;
|
||||||
import com.admin.common.lang.R;
|
import com.admin.common.lang.R;
|
||||||
|
import com.admin.entity.GroupPermissionGrant;
|
||||||
import com.admin.entity.User;
|
import com.admin.entity.User;
|
||||||
import com.admin.entity.UserTunnel;
|
import com.admin.entity.UserTunnel;
|
||||||
import com.admin.mapper.GroupPermissionGrantMapper;
|
import com.admin.mapper.GroupPermissionGrantMapper;
|
||||||
@@ -127,13 +128,19 @@ public class UserTunnelServiceImpl extends ServiceImpl<UserTunnelMapper, UserTun
|
|||||||
UserTunnel userTunnel = this.getById(id);
|
UserTunnel userTunnel = this.getById(id);
|
||||||
if (userTunnel == null) return R.err("未找到对应的用户隧道权限记录");
|
if (userTunnel == null) return R.err("未找到对应的用户隧道权限记录");
|
||||||
|
|
||||||
|
int grantCount = groupPermissionGrantMapper.selectCount(
|
||||||
|
new QueryWrapper<GroupPermissionGrant>().eq("user_tunnel_id", id)
|
||||||
|
);
|
||||||
|
if (grantCount > 0) {
|
||||||
|
return R.err("该隧道权限由分组授权,请先调整分组权限或分组成员");
|
||||||
|
}
|
||||||
|
|
||||||
List<Forward> forwardList = forwardService.list(new QueryWrapper<Forward>()
|
List<Forward> forwardList = forwardService.list(new QueryWrapper<Forward>()
|
||||||
.eq("user_id", userTunnel.getUserId())
|
.eq("user_id", userTunnel.getUserId())
|
||||||
.eq("tunnel_id", userTunnel.getTunnelId()));
|
.eq("tunnel_id", userTunnel.getTunnelId()));
|
||||||
for (Forward forward : forwardList) {
|
for (Forward forward : forwardList) {
|
||||||
forwardService.deleteForward(forward.getId());
|
forwardService.deleteForward(forward.getId());
|
||||||
}
|
}
|
||||||
groupPermissionGrantMapper.delete(new QueryWrapper<com.admin.entity.GroupPermissionGrant>().eq("user_tunnel_id", id));
|
|
||||||
this.removeById(id);
|
this.removeById(id);
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user