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.params.*;
import ink.wgink.pojo.dtos.role.RoleUserDTO;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.pos.RolePO;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO;
@ -36,4 +37,10 @@ public interface IRoleUserRemoteService {
@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);
@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.dtos.role.RoleSimpleDTO;
import ink.wgink.pojo.dtos.role.RoleUserDTO;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.pos.RolePO;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO;
@ -78,4 +79,14 @@ public class RoleUserServiceImpl extends DefaultBaseService implements IRoleUser
idsVO.setIds(userIds);
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 selectDepartmentUserOldArray = [];
var selectDepartmentUserArray = [];
var selectDepartmentUserObject = {};
var deleteDepartmentUserObject = {};
var selectedParentId = 0;
var searchTimeout;
top.dialog.dialogData.selectedDepartmentUsers = [];
top.dialog.dialogData.saveDepartmentUsers = [];
top.dialog.dialogData.deleteDepartmentUsers = [];
function closeBox() {
top.dialog.closeBox();
@ -231,7 +235,7 @@
ids: selectedUserIds.split('\_')
}, null, function(code, data) {
for(var i = 0, item; item = data[i++]; ) {
selectUser(item.userId, item.userName, item.userUsername);
clickUser(item.userId, item.userName, item.userUsername);
selectDepartmentUserOldArray.push({
userId: item.userId,
userName: item.userName,
@ -271,37 +275,65 @@
// 人员是否已经选择
function isUserSelected(userId) {
var isSelected = false;
for(var i = 0, item; item = selectDepartmentUserArray[i]; i++) {
if(item.userId == userId) {
isSelected = true;
break;
}
var obj = selectDepartmentUserObject[userId];
if(obj) {
isSelected = true;
}
// var isSelected = false;
// for(var i = 0, item; item = selectDepartmentUserArray[i]; i++) {
// if(item.userId == userId) {
// isSelected = true;
// break;
// }
// }
return isSelected;
}
// 删除已经选择的人员
function removeSelectedUser(userId) {
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;
}
}
delete selectDepartmentUserObject[userId];
var selectedUserDom = $('#selected_user_'+ userId);
selectedUserDom.focus();
selectedUserDom.remove();
$('#user_'+ userId).removeClass('user-selected');
deleteDepartmentUserObject[userId] = userId;
// 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)) {
$('#user_'+ userId).addClass('user-selected');
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>');
selectUser(userId, userName, username);
$('#selected_user_'+ userId).focus();
} else {
if(!isOnlySelect) {
@ -311,7 +343,7 @@
}
$(document.body).on('click', '*[lay-click-user]', null, function() {
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() {
var data = this.dataset;
@ -320,7 +352,7 @@
$(document.body).on('click', '*[lay-click-select-all-user]', null, function() {
$('#userWrapper').children().each(function() {
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() {
@ -336,7 +368,34 @@
closeBox();
});
$('.confirm').on('click', function() {
for(var key in selectDepartmentUserObject) {
selectDepartmentUserArray.push(selectDepartmentUserObject[key]);
}
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;
closeBox();
});