作者 王勇

用户关系模块,彻底避开MQ用户

... ... @@ -96,8 +96,8 @@ public class UserInfoServiceImpl implements UserInfoService {
String errorMessage = "";
String username = userInfo.getUsername();
String password = userInfo.getPassword();
if (StringUtil.isNullOrEmpty(password) || StringUtil.isNullOrEmpty(username)) {
// String password = userInfo.getPassword();StringUtil.isNullOrEmpty(password) ||
if (StringUtil.isNullOrEmpty(username)) {
return new ResultJson<>("400", "用户名以及密码,不得为空,请务必选择");
}
String virtualHostId = userInfo.getVirtualHostId();
... ... @@ -134,8 +134,8 @@ public class UserInfoServiceImpl implements UserInfoService {
+ "-->的默认队列已存在,请联系管理员;" + "\r\n" + "<------->";
} else {
int num = userInfoMapper.insertSelective(userInfo);
ClientUtils.addRabbitUser(userInfo, busServer, password);
ClientUtils.userRelation(userInfo, busServer);
// ClientUtils.addRabbitUser(userInfo, busServer, password);
// ClientUtils.userRelation(userInfo, busServer);
createQueue(userInfo);
index = index + num;
}
... ... @@ -177,8 +177,8 @@ public class UserInfoServiceImpl implements UserInfoService {
+ ",虚拟主机名称:" + userInfo.getVirtualHostName() + "-->的默认队列已存在,请联系管理员";
} else {
num = userInfoMapper.insertSelective(userInfo);
ClientUtils.addRabbitUser(userInfo, busServer, password);
ClientUtils.userRelation(userInfo, busServer);
// ClientUtils.addRabbitUser(userInfo, busServer, password);
// ClientUtils.userRelation(userInfo, busServer);
createQueue(userInfo);
}
}
... ... @@ -200,10 +200,11 @@ public class UserInfoServiceImpl implements UserInfoService {
*/
void createQueue(UserInfo userInfo) throws IOException, TimeoutException
{
String queueNameRule = userInfo.getVirtualHostName() + "_" + userInfo.getUsername() + "_R";
BusQueue busQueue = BusQueue.builder()
.id(IdUtils.generateId())
.username(userInfo.getUsername())
.queueName(userInfo.getVirtualHostName() + "_" + userInfo.getUsername() + "_R")
.queueName(queueNameRule)
.virtualHostId(userInfo.getVirtualHostId())
.durability(true)
.autoDelete(false)
... ... @@ -322,12 +323,12 @@ public class UserInfoServiceImpl implements UserInfoService {
String username = userInfo.getUsername();
String serverName = userInfo.getServerName();
List<UserInfo> userInfoList = userInfoMapper.selectByUsernameAndServerName(username, serverName);
// List<UserInfo> userInfoList = userInfoMapper.selectByUsernameAndServerName(username, serverName);
int num = userInfoMapper.deleteByUsernameAndServerName(username, serverName);
for (UserInfo item : userInfoList) {
BusServer busServer = busServerService.selectByPrimaryKey(item.getServerId());
ClientUtils.deleteMQUser(username, busServer);
}
// for (UserInfo item : userInfoList) {
// BusServer busServer = busServerService.selectByPrimaryKey(item.getServerId());
// ClientUtils.deleteMQUser(username, busServer);
// }
/**
* TODO: 删除该用户对应的队列
... ... @@ -368,18 +369,26 @@ public class UserInfoServiceImpl implements UserInfoService {
{
String virtualHostName = userInfo.getVirtualHostName();
String userInfoId = userInfo.getId();
int index = 0;
String splitItem = ",";
if (virtualHostName.contains(splitItem)) {
String[] split = virtualHostName.split(splitItem);
for (int i = 0; i < split.length; i++) {
if (userInfoId.contains(splitItem)) {
String[] split = userInfoId.split(splitItem);
for (String id : split) {
int num = userInfoMapper.deleteByPrimaryKey(id);
if (num > 0) {
index = index + num;
}
}
if (index != split.length) {
index = 0;
}
} else {
index = userInfoMapper.deleteByPrimaryKey(userInfoId);
}
int num = userInfoMapper.deleteByPrimaryKey(userInfo.getId());
BusServer busServer = busServerService.selectByPrimaryKey(userInfo.getServerId());
ClientUtils.clearPermissions(busServer, userInfo.getVirtualHostName(), userInfo.getUsername());
return num > 0
// BusServer busServer = busServerService.selectByPrimaryKey(userInfo.getServerId());
// ClientUtils.clearPermissions(busServer, userInfo.getVirtualHostName(), userInfo.getUsername());
return index > 0
? new ResultJson<>("200", "删除用户关系,成功!")
: new ResultJson<>("500", "删除用户关系,失败!");
}
... ... @@ -402,8 +411,8 @@ public class UserInfoServiceImpl implements UserInfoService {
if (StringUtil.isNullOrEmpty(serverName) || StringUtil.isNullOrEmpty(username)) {
continue;
}
BusServer busServer = busServerMapper.selectByServerName(serverName);
ClientUtils.deleteMQUser(username, busServer);
// BusServer busServer = busServerMapper.selectByServerName(serverName);
// ClientUtils.deleteMQUser(username, busServer);
num = userInfoMapper.deleteByUsernameAndServerName(username, serverName);
if (num > 0) {
index = index + num;
... ... @@ -428,13 +437,13 @@ public class UserInfoServiceImpl implements UserInfoService {
if (ids.contains(splitItem)) {
String[] split = ids.split(splitItem);
for (String id : split) {
UserInfo userInfo = userInfoMapper.selectByPrimaryKey(id);
String username = userInfo.getUsername();
String serverName = userInfo.getServerName();
String virtualHostName = userInfo.getVirtualHostName();
BusServer busServer = busServerMapper.selectByServerName(serverName);
// UserInfo userInfo = userInfoMapper.selectByPrimaryKey(id);
// String username = userInfo.getUsername();
// String serverName = userInfo.getServerName();
// String virtualHostName = userInfo.getVirtualHostName();
// BusServer busServer = busServerMapper.selectByServerName(serverName);
int num = userInfoMapper.deleteByPrimaryKey(id);
ClientUtils.clearPermissions(busServer, virtualHostName, username);
// ClientUtils.clearPermissions(busServer, virtualHostName, username);
if (num > 0) {
index = index + num;
}
... ... @@ -443,13 +452,13 @@ public class UserInfoServiceImpl implements UserInfoService {
? new ResultJson<>("200", "批量删除用户关系,成功!")
: new ResultJson<>("500", "批量删除用户关系,失败!");
}
UserInfo userInfo = userInfoMapper.selectByPrimaryKey(ids);
String username = userInfo.getUsername();
String serverName = userInfo.getServerName();
String virtualHostName = userInfo.getVirtualHostName();
BusServer busServer = busServerMapper.selectByServerName(serverName);
// UserInfo userInfo = userInfoMapper.selectByPrimaryKey(ids);
// String username = userInfo.getUsername();
// String serverName = userInfo.getServerName();
// String virtualHostName = userInfo.getVirtualHostName();
// BusServer busServer = busServerMapper.selectByServerName(serverName);
int num = userInfoMapper.deleteByPrimaryKey(ids);
ClientUtils.clearPermissions(busServer, virtualHostName, username);
// ClientUtils.clearPermissions(busServer, virtualHostName, username);
return num > 0
? new ResultJson<>("200", "批量删除用户关系,成功!")
: new ResultJson<>("500", "批量删除用户关系,失败!");
... ...
... ... @@ -261,7 +261,7 @@
group by username, server_name, server_id
</select>
<select id="validateUserInfo" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusQueue"
<select id="validateUserInfo" parameterType="com.sunyo.wlpt.message.bus.service.domain.UserInfo"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
... ...