1. 新增通过角色查询用户接口

2. 选择用户增加、删除列表
This commit is contained in:
wanggeng 2022-02-09 10:06:19 +08:00
parent 4815194d2d
commit 64d42f69ec
3 changed files with 103 additions and 26 deletions

View File

@ -5,6 +5,7 @@ import ink.wgink.annotation.rpc.rest.method.RemoteGetMethod;
import ink.wgink.annotation.rpc.rest.method.RemotePostMethod; import ink.wgink.annotation.rpc.rest.method.RemotePostMethod;
import ink.wgink.annotation.rpc.rest.params.*; import ink.wgink.annotation.rpc.rest.params.*;
import ink.wgink.pojo.dtos.role.RoleUserDTO; import ink.wgink.pojo.dtos.role.RoleUserDTO;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.pos.RolePO; import ink.wgink.pojo.pos.RolePO;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO; import ink.wgink.pojo.vos.IdsVO;
@ -36,4 +37,10 @@ public interface IRoleUserRemoteService {
@RemotePostMethod("/list-user-id/role-id/{roleId}/user-ids") @RemotePostMethod("/list-user-id/role-id/{roleId}/user-ids")
List<String> listUserIdByRoleIdAndUserIds(@RemoteServerParams String userCenter, @RemotePathParams("roleId") String roleId, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO); List<String> listUserIdByRoleIdAndUserIds(@RemoteServerParams String userCenter, @RemotePathParams("roleId") String roleId, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);
@RemoteGetMethod("/list-user/role-id/{roleId}")
List<UserDTO> listUserByRoleId(@RemoteServerParams String userCenter, @RemotePathParams("roleId") String roleId, @RemoteQueryParams("access_token") String accessToken);
@RemoteGetMethod("/listpage-user/role-id/{roleId}")
SuccessResultList<List<UserDTO>> listPageUserByRoleId(@RemoteServerParams String userCenter, @RemotePathParams("roleId") String roleId, @RemoteQueryParams("access_token") String accessToken, @RemoteQueryParams("page") int page, @RemoteQueryParams("rows") int rows, @RemoteQueryParamsMap Map<String, Object> params);
} }

View File

@ -7,6 +7,7 @@ import ink.wgink.module.oauth2.manager.OAuth2ClientTokenManager;
import ink.wgink.pojo.ListPage; import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.role.RoleSimpleDTO; import ink.wgink.pojo.dtos.role.RoleSimpleDTO;
import ink.wgink.pojo.dtos.role.RoleUserDTO; import ink.wgink.pojo.dtos.role.RoleUserDTO;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.pos.RolePO; import ink.wgink.pojo.pos.RolePO;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO; import ink.wgink.pojo.vos.IdsVO;
@ -78,4 +79,14 @@ public class RoleUserServiceImpl extends DefaultBaseService implements IRoleUser
idsVO.setIds(userIds); idsVO.setIds(userIds);
return roleUserRemoteService.listUserIdByRoleIdAndUserIds(apiPathProperties.getUserCenter(), roleId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO); return roleUserRemoteService.listUserIdByRoleIdAndUserIds(apiPathProperties.getUserCenter(), roleId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO);
} }
@Override
public List<UserDTO> listUserByRoleId(String roleId) {
return roleUserRemoteService.listUserByRoleId(apiPathProperties.getUserCenter(), roleId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken());
}
@Override
public SuccessResultList<List<UserDTO>> listPageUserByRoleId(String roleId, ListPage page) {
return roleUserRemoteService.listPageUserByRoleId(apiPathProperties.getUserCenter(), roleId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getPage(), page.getRows(), page.getParams());
}
} }

View File

@ -70,9 +70,13 @@
var selectedUserIds = top.dialog.dialogData.selectedUserIds; var selectedUserIds = top.dialog.dialogData.selectedUserIds;
var selectDepartmentUserOldArray = []; var selectDepartmentUserOldArray = [];
var selectDepartmentUserArray = []; var selectDepartmentUserArray = [];
var selectDepartmentUserObject = {};
var deleteDepartmentUserObject = {};
var selectedParentId = 0; var selectedParentId = 0;
var searchTimeout; var searchTimeout;
top.dialog.dialogData.selectedDepartmentUsers = []; top.dialog.dialogData.selectedDepartmentUsers = [];
top.dialog.dialogData.saveDepartmentUsers = [];
top.dialog.dialogData.deleteDepartmentUsers = [];
function closeBox() { function closeBox() {
top.dialog.closeBox(); top.dialog.closeBox();
@ -231,7 +235,7 @@
ids: selectedUserIds.split('\_') ids: selectedUserIds.split('\_')
}, null, function(code, data) { }, null, function(code, data) {
for(var i = 0, item; item = data[i++]; ) { for(var i = 0, item; item = data[i++]; ) {
selectUser(item.userId, item.userName, item.userUsername); clickUser(item.userId, item.userName, item.userUsername);
selectDepartmentUserOldArray.push({ selectDepartmentUserOldArray.push({
userId: item.userId, userId: item.userId,
userName: item.userName, userName: item.userName,
@ -271,37 +275,65 @@
// 人员是否已经选择 // 人员是否已经选择
function isUserSelected(userId) { function isUserSelected(userId) {
var isSelected = false; var isSelected = false;
for(var i = 0, item; item = selectDepartmentUserArray[i]; i++) { var obj = selectDepartmentUserObject[userId];
if(item.userId == userId) { if(obj) {
isSelected = true; isSelected = true;
break;
}
} }
// var isSelected = false;
// for(var i = 0, item; item = selectDepartmentUserArray[i]; i++) {
// if(item.userId == userId) {
// isSelected = true;
// break;
// }
// }
return isSelected; return isSelected;
} }
// 删除已经选择的人员 // 删除已经选择的人员
function removeSelectedUser(userId) { function removeSelectedUser(userId) {
for(var i = 0, item; item = selectDepartmentUserArray[i]; i++) { delete selectDepartmentUserObject[userId];
if(item.userId == userId) { var selectedUserDom = $('#selected_user_'+ userId);
selectDepartmentUserArray.splice(i, 1); selectedUserDom.focus();
var selectedUserDom = $('#selected_user_'+ userId); selectedUserDom.remove();
selectedUserDom.focus(); $('#user_'+ userId).removeClass('user-selected');
selectedUserDom.remove();
$('#user_'+ userId).removeClass('user-selected'); deleteDepartmentUserObject[userId] = userId;
break;
} // for(var i = 0, item; item = selectDepartmentUserArray[i]; i++) {
} // if(item.userId == userId) {
// selectDepartmentUserArray.splice(i, 1);
// var selectedUserDom = $('#selected_user_'+ userId);
// selectedUserDom.focus();
// selectedUserDom.remove();
// $('#user_'+ userId).removeClass('user-selected');
// break;
// }
// }
} }
// 选择人员 // 选择人员
function selectUser(userId, userName, username, isOnlySelect) { function selectUser(userId, userName, username) {
$('#user_'+ userId).addClass('user-selected');
selectDepartmentUserObject[userId] = {
userId: userId,
userName: userName,
username: username
}
delete deleteDepartmentUserObject[userId];
// selectDepartmentUserArray.push({
// userId: userId,
// userName: userName,
// username: username
// });
$('#selectUsers').append('<a id="selected_user_'+ userId +'" href="javascript:void(0);" class="layui-btn layui-btn-xs">'+ userName +' <i class="fa fa-close" lay-click-removeuser data-userid="'+ userId +'"></i></a>');
}
// 点击用户
function clickUser(userId, userName, username, isOnlySelect) {
if(!isUserSelected(userId)) { if(!isUserSelected(userId)) {
$('#user_'+ userId).addClass('user-selected'); selectUser(userId, userName, username);
selectDepartmentUserArray.push({
userId: userId,
userName: userName,
username: username
});
$('#selectUsers').append('<a id="selected_user_'+ userId +'" href="javascript:void(0);" class="layui-btn layui-btn-xs">'+ userName +' <i class="fa fa-close" lay-click-removeuser data-userid="'+ userId +'"></i></a>');
$('#selected_user_'+ userId).focus(); $('#selected_user_'+ userId).focus();
} else { } else {
if(!isOnlySelect) { if(!isOnlySelect) {
@ -311,7 +343,7 @@
} }
$(document.body).on('click', '*[lay-click-user]', null, function() { $(document.body).on('click', '*[lay-click-user]', null, function() {
var data = this.dataset; var data = this.dataset;
selectUser(data.userid, data.username, data.userUsername); clickUser(data.userid, data.username, data.userUsername);
}); });
$(document.body).on('click', '*[lay-click-removeuser]', null, function() { $(document.body).on('click', '*[lay-click-removeuser]', null, function() {
var data = this.dataset; var data = this.dataset;
@ -320,7 +352,7 @@
$(document.body).on('click', '*[lay-click-select-all-user]', null, function() { $(document.body).on('click', '*[lay-click-select-all-user]', null, function() {
$('#userWrapper').children().each(function() { $('#userWrapper').children().each(function() {
var data = this.dataset; var data = this.dataset;
selectUser(data.userid, data.username, data.userUsername, true); clickUser(data.userid, data.username, data.userUsername, true);
}); });
}); });
$(document.body).on('click', '*[lay-click-clear-all-user]', null, function() { $(document.body).on('click', '*[lay-click-clear-all-user]', null, function() {
@ -336,7 +368,34 @@
closeBox(); closeBox();
}); });
$('.confirm').on('click', function() { $('.confirm').on('click', function() {
for(var key in selectDepartmentUserObject) {
selectDepartmentUserArray.push(selectDepartmentUserObject[key]);
}
top.dialog.dialogData.selectedDepartmentUsers = selectDepartmentUserArray; top.dialog.dialogData.selectedDepartmentUsers = selectDepartmentUserArray;
// 删除的用户
var deleteDepartmentUsersArray = [];
for(var key in deleteDepartmentUserObject) {
deleteDepartmentUsersArray.push(key);
}
top.dialog.dialogData.deleteDepartmentUsers = deleteDepartmentUsersArray;
// 新增的用户
var saveDepartmentUserArray = [];
for(var key in selectDepartmentUserObject) {
var exist = false;
for(var i = 0, item; item = selectDepartmentUserOldArray[i++];) {
if(key == item.userId) {
exist = true;
break;
}
}
if(!exist) {
saveDepartmentUserArray.push(selectDepartmentUserObject[key]);
}
}
top.dialog.dialogData.saveDepartmentUsers = saveDepartmentUserArray;
top.dialog.dialogData.selectedUserIds = null; top.dialog.dialogData.selectedUserIds = null;
closeBox(); closeBox();
}); });