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

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);
/**
* 用户ID分页列表
* 用户列表
*
* @param userIds 用户ID列表
* @param params
* @return
*/
List<UserDTO> listByIds(List<String> userIds, Map<String, Object> params);
/**
* 不包含的用户分页列表
*
* @param excludeUserIds 不包含的用户ID
* @param page
@ -86,6 +95,16 @@ public interface IUserBaseService {
*/
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
*/
List<UserDTO> listByKeywords(String keywords);
}

View File

@ -46,4 +46,7 @@ public interface IDepartmentUserRemoteService {
@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);
@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;
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.service.department.IDepartmentUserService;
import ink.wgink.module.oauth2.manager.OAuth2ClientTokenManager;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.department.DepartmentUserDTO;
import ink.wgink.pojo.dtos.user.UserDTO;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO;
import ink.wgink.properties.ApiPathProperties;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -78,4 +82,10 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
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());
}
@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());
}
@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
public SuccessResultList<List<UserDTO>> listPageByExcludeIds(List<String> excludeUserIds, ListPage page) {
page.getParams().put("excludeUserIds", excludeUserIds);
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
public int countDateRange(String startDate, String endDate) {
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());
}
@ApiOperation(value = "组织部门用户列表", notes = "组织部门用户列表接口")
@ApiOperation(value = "组织部门用户分页列表", notes = "组织部门用户分页列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "departmentId", value = "部门ID", paramType = "path"),
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ -108,4 +108,16 @@ public class DepartmentUserResourceController extends DefaultBaseController {
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());
}
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);
}
/**
* 用户列表
*
* @param departmentId 部门ID
* @param params
* @return
*/
private List<DepartmentUserDTO> listUser(String departmentId, Map<String, Object> params) {
List<DepartmentUserDTO> hasDepartmentUsers = list(getHashMap(0));
if (hasDepartmentUsers.isEmpty()) {
@ -294,13 +301,7 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
private SuccessResultList<List<DepartmentUserDTO>> listPageExcludeDepartmentUser(SuccessResultList<List<UserDTO>> successResultList) {
// 查询用户排序
List<UserDTO> userDTOs = successResultList.getRows();
List<DepartmentUserDTO> departmentUserDTOs = new ArrayList<>();
for (UserDTO userDTO : userDTOs) {
DepartmentUserDTO departmentUserDTO = new DepartmentUserDTO(userDTO);
departmentUserDTO.setDepartmentId("");
departmentUserDTO.setUserSort("ZZZ-000");
departmentUserDTOs.add(departmentUserDTO);
}
List<DepartmentUserDTO> departmentUserDTOs = listExcludeDepartmentUser(userDTOs);
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) {
// 查询用户排序
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<>();
for (DepartmentUserDTO hasDepartmentUserDTO : hasDepartmentUsers) {
for (UserDTO userDTO : userDTOs) {
@ -343,10 +357,7 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
}
}
}
return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal());
}
private List<DepartmentUserDTO> listDepartmentUser(List<UserDTO> userDTOs, List<DepartmentUserDTO> hasDepartmentUsers) {
return departmentUserDTOs;
}
}

View File

@ -161,7 +161,6 @@
}
}
}
console.log(data)
var userDom = '';
for(var i = 0, item; item = data[i++];) {
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>';
}
console.log(userDom)
$('#userWrapper').append(userDom);
}
// 初始化懒加载

View File

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