处理部门人员选择搜索问题

This commit is contained in:
WenG 2021-10-13 12:37:30 +08:00
parent 8619e408df
commit 25f25e556e
8 changed files with 94 additions and 16 deletions

View File

@ -78,7 +78,16 @@ public interface IUserBaseService {
SuccessResultList<List<UserDTO>> listPageByIds(List<String> userIds, ListPage page); SuccessResultList<List<UserDTO>> listPageByIds(List<String> userIds, ListPage page);
/** /**
* 用户ID分页列表 * 用户列表
*
* @param userIds 用户ID列表
* @param params
* @return
*/
List<UserDTO> listByIds(List<String> userIds, Map<String, Object> params);
/**
* 不包含的用户分页列表
* *
* @param excludeUserIds 不包含的用户ID * @param excludeUserIds 不包含的用户ID
* @param page * @param page
@ -86,6 +95,16 @@ public interface IUserBaseService {
*/ */
SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page); SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page);
/**
* 不包含的用户分页列表
*
* @param userIds 不包含的用户ID列表
* @param params
* @return
*/
List<UserDTO> listByExcludeIds(List<String> excludeUserIds, Map<String, Object> params);
/** /**
* 用户统计 * 用户统计
* *
@ -140,4 +159,5 @@ public interface IUserBaseService {
* @return * @return
*/ */
List<UserDTO> listByKeywords(String keywords); List<UserDTO> listByKeywords(String keywords);
} }

View File

@ -46,4 +46,7 @@ public interface IDepartmentUserRemoteService {
@RemoteGetMethod("/listpage/{departmentId}") @RemoteGetMethod("/listpage/{departmentId}")
SuccessResultList<List<DepartmentUserDTO>> listPage(@RemoteServerParams String userCenter, @PathVariable("departmentId") String departmentId, @RemotePathParams("access_token") String accessToken, @RemoteQueryParams("page") int page, @RemoteQueryParams("rows") int rows, @RemoteQueryParamsMap Map<String, Object> params); SuccessResultList<List<DepartmentUserDTO>> listPage(@RemoteServerParams String userCenter, @PathVariable("departmentId") String departmentId, @RemotePathParams("access_token") String accessToken, @RemoteQueryParams("page") int page, @RemoteQueryParams("rows") int rows, @RemoteQueryParamsMap Map<String, Object> params);
@RemoteGetMethod("/list/{departmentId}")
List<DepartmentUserDTO> list(@RemoteServerParams String userCenter, @PathVariable("departmentId") String departmentId, @RemotePathParams("access_token") String accessToken, @RemoteQueryParamsMap Map<String, Object> params);
} }

View File

@ -1,17 +1,21 @@
package ink.wgink.login.oauth2.client.service.department.impl; package ink.wgink.login.oauth2.client.service.department.impl;
import ink.wgink.common.base.DefaultBaseService; import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.login.oauth2.client.remote.department.IDepartmentUserRemoteService; import ink.wgink.login.oauth2.client.remote.department.IDepartmentUserRemoteService;
import ink.wgink.login.oauth2.client.service.department.IDepartmentUserService; import ink.wgink.login.oauth2.client.service.department.IDepartmentUserService;
import ink.wgink.module.oauth2.manager.OAuth2ClientTokenManager; import ink.wgink.module.oauth2.manager.OAuth2ClientTokenManager;
import ink.wgink.pojo.ListPage; import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.department.DepartmentUserDTO; import ink.wgink.pojo.dtos.department.DepartmentUserDTO;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO; import ink.wgink.pojo.vos.IdsVO;
import ink.wgink.properties.ApiPathProperties; import ink.wgink.properties.ApiPathProperties;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -78,4 +82,10 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
public SuccessResultList<List<DepartmentUserDTO>> listPage(String departmentId, ListPage page) { public SuccessResultList<List<DepartmentUserDTO>> listPage(String departmentId, ListPage page) {
return departmentUserRemoteService.listPage(apiPathProperties.getUserCenter(), departmentId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getPage(), page.getRows(), page.getParams()); return departmentUserRemoteService.listPage(apiPathProperties.getUserCenter(), departmentId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getPage(), page.getRows(), page.getParams());
} }
@Override
public List<DepartmentUserDTO> list(String departmentId, Map<String, Object> params) {
return departmentUserRemoteService.list(apiPathProperties.getUserCenter(), departmentId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), params);
}
} }

View File

@ -75,12 +75,24 @@ public class UserServiceImpl extends DefaultBaseService implements IUserService
return userRemoteService.listPage(apiPathProperties.getUserCenter(), page.getPage(), page.getRows(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getParams()); return userRemoteService.listPage(apiPathProperties.getUserCenter(), page.getPage(), page.getRows(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getParams());
} }
@Override
public List<UserDTO> listByIds(List<String> userIds, Map<String, Object> params) {
params.put("userIds", userIds);
return userRemoteService.list(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), params);
}
@Override @Override
public SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page) { public SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page) {
page.getParams().put("excludeUserIds", excludeUserIds); page.getParams().put("excludeUserIds", excludeUserIds);
return userRemoteService.listPage(apiPathProperties.getUserCenter(), page.getPage(), page.getRows(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getParams()); return userRemoteService.listPage(apiPathProperties.getUserCenter(), page.getPage(), page.getRows(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getParams());
} }
@Override
public List<UserDTO> listByExcludeIds(List<String> excludeUserIds, Map<String, Object> params) {
params.put("excludeUserIds", excludeUserIds);
return userRemoteService.list(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), params);
}
@Override @Override
public int countDateRange(String startDate, String endDate) { public int countDateRange(String startDate, String endDate) {
SuccessResultData<Integer> successResultData = userRemoteService.countDateRange(apiPathProperties.getUserCenter(), startDate, endDate, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken()); SuccessResultData<Integer> successResultData = userRemoteService.countDateRange(apiPathProperties.getUserCenter(), startDate, endDate, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken());

View File

@ -95,7 +95,7 @@ public class DepartmentUserResourceController extends DefaultBaseController {
return departmentUserService.listUserId(idsVO.getIds(), idsVO.getIds2()); return departmentUserService.listUserId(idsVO.getIds(), idsVO.getIds2());
} }
@ApiOperation(value = "组织部门用户列表", notes = "组织部门用户列表接口") @ApiOperation(value = "组织部门用户分页列表", notes = "组织部门用户分页列表接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "departmentId", value = "部门ID", paramType = "path"), @ApiImplicitParam(name = "departmentId", value = "部门ID", paramType = "path"),
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ -108,4 +108,16 @@ public class DepartmentUserResourceController extends DefaultBaseController {
return departmentUserService.listPage(departmentId, page); return departmentUserService.listPage(departmentId, page);
} }
@ApiOperation(value = "组织部门用户列表", notes = "组织部门用户列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "departmentId", value = "部门ID", paramType = "path"),
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list/{departmentId}")
public List<DepartmentUserDTO> listPage(@PathVariable("departmentId") String departmentId) {
Map<String, Object> params = requestParams();
return departmentUserService.list(departmentId, params);
}
} }

View File

@ -249,7 +249,7 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
userIds.add(hasDepartmentUserId.getUserId()); userIds.add(hasDepartmentUserId.getUserId());
} }
List<UserDTO> userDTOs = userBaseService.listByExcludeIds(userIds, params); List<UserDTO> userDTOs = userBaseService.listByExcludeIds(userIds, params);
return listPageExcludeDepartmentUser(successResultList); return listExcludeDepartmentUser(userDTOs);
} }
/** /**
@ -272,6 +272,13 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
return listPageDepartmentUser(successResultList, hasDepartmentUsers); return listPageDepartmentUser(successResultList, hasDepartmentUsers);
} }
/**
* 用户列表
*
* @param departmentId 部门ID
* @param params
* @return
*/
private List<DepartmentUserDTO> listUser(String departmentId, Map<String, Object> params) { private List<DepartmentUserDTO> listUser(String departmentId, Map<String, Object> params) {
List<DepartmentUserDTO> hasDepartmentUsers = list(getHashMap(0)); List<DepartmentUserDTO> hasDepartmentUsers = list(getHashMap(0));
if (hasDepartmentUsers.isEmpty()) { if (hasDepartmentUsers.isEmpty()) {
@ -294,13 +301,7 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
private SuccessResultList<List<DepartmentUserDTO>> listPageExcludeDepartmentUser(SuccessResultList<List<UserDTO>> successResultList) { private SuccessResultList<List<DepartmentUserDTO>> listPageExcludeDepartmentUser(SuccessResultList<List<UserDTO>> successResultList) {
// 查询用户排序 // 查询用户排序
List<UserDTO> userDTOs = successResultList.getRows(); List<UserDTO> userDTOs = successResultList.getRows();
List<DepartmentUserDTO> departmentUserDTOs = new ArrayList<>(); List<DepartmentUserDTO> departmentUserDTOs = listExcludeDepartmentUser(userDTOs);
for (UserDTO userDTO : userDTOs) {
DepartmentUserDTO departmentUserDTO = new DepartmentUserDTO(userDTO);
departmentUserDTO.setDepartmentId("");
departmentUserDTO.setUserSort("ZZZ-000");
departmentUserDTOs.add(departmentUserDTO);
}
return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal()); return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal());
} }
@ -332,6 +333,19 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
private SuccessResultList<List<DepartmentUserDTO>> listPageDepartmentUser(SuccessResultList<List<UserDTO>> successResultList, List<DepartmentUserDTO> hasDepartmentUsers) { private SuccessResultList<List<DepartmentUserDTO>> listPageDepartmentUser(SuccessResultList<List<UserDTO>> successResultList, List<DepartmentUserDTO> hasDepartmentUsers) {
// 查询用户排序 // 查询用户排序
List<UserDTO> userDTOs = successResultList.getRows(); List<UserDTO> userDTOs = successResultList.getRows();
List<DepartmentUserDTO> departmentUserDTOs = listDepartmentUser(userDTOs, hasDepartmentUsers);
return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal());
}
/**
* 部门用户列表
*
* @param userDTOs
* @param hasDepartmentUsers
* @return
*/
private List<DepartmentUserDTO> listDepartmentUser(List<UserDTO> userDTOs, List<DepartmentUserDTO> hasDepartmentUsers) {
// 查询用户排序
List<DepartmentUserDTO> departmentUserDTOs = new ArrayList<>(); List<DepartmentUserDTO> departmentUserDTOs = new ArrayList<>();
for (DepartmentUserDTO hasDepartmentUserDTO : hasDepartmentUsers) { for (DepartmentUserDTO hasDepartmentUserDTO : hasDepartmentUsers) {
for (UserDTO userDTO : userDTOs) { for (UserDTO userDTO : userDTOs) {
@ -343,10 +357,7 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
} }
} }
} }
return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal()); return departmentUserDTOs;
}
private List<DepartmentUserDTO> listDepartmentUser(List<UserDTO> userDTOs, List<DepartmentUserDTO> hasDepartmentUsers) {
} }
} }

View File

@ -161,7 +161,6 @@
} }
} }
} }
console.log(data)
var userDom = ''; var userDom = '';
for(var i = 0, item; item = data[i++];) { for(var i = 0, item; item = data[i++];) {
var avatarDom; var avatarDom;
@ -172,7 +171,6 @@
} }
userDom += '<a id="user_'+ item.userId +'" href="javascript:void(0);" class="users search-users list-group-item '+ (isUserSelected(item.userId) ? 'user-selected' : '') +'" lay-click-user data-userid="'+ item.userId +'" data-username="'+ item.userName +'">'+ avatarDom + item.userName +' ['+ item.userUsername +']</a>'; userDom += '<a id="user_'+ item.userId +'" href="javascript:void(0);" class="users search-users list-group-item '+ (isUserSelected(item.userId) ? 'user-selected' : '') +'" lay-click-user data-userid="'+ item.userId +'" data-username="'+ item.userName +'">'+ avatarDom + item.userName +' ['+ item.userUsername +']</a>';
} }
console.log(userDom)
$('#userWrapper').append(userDom); $('#userWrapper').append(userDom);
} }
// 初始化懒加载 // 初始化懒加载

View File

@ -376,12 +376,24 @@ public class UserServiceImpl extends DefaultBaseService implements IUserService
return listPage(page); return listPage(page);
} }
@Override
public List<UserDTO> listByIds(List<String> userIds, Map<String, Object> params) {
params.put("userIds", userIds);
return list(params);
}
@Override @Override
public SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page) { public SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page) {
page.getParams().put("excludeUserIds", excludeUserIds); page.getParams().put("excludeUserIds", excludeUserIds);
return listPage(page); return listPage(page);
} }
@Override
public List<UserDTO> listByExcludeIds(List<String> excludeUserIds, Map<String, Object> params) {
params.put("excludeUserIds", excludeUserIds);
return list(params);
}
@Override @Override
public Integer count(Map<String, Object> params) { public Integer count(Map<String, Object> params) {
Integer count = userDao.count(params); Integer count = userDao.count(params);