mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-06-08 02:04:04 +08:00
优化user相关代码
This commit is contained in:
parent
3388136fd7
commit
b772322208
@ -9,7 +9,6 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import xyz.playedu.api.constant.BPermissionConstant;
|
import xyz.playedu.api.constant.BPermissionConstant;
|
||||||
import xyz.playedu.api.constant.SystemConstant;
|
import xyz.playedu.api.constant.SystemConstant;
|
||||||
import xyz.playedu.api.domain.Department;
|
|
||||||
import xyz.playedu.api.domain.User;
|
import xyz.playedu.api.domain.User;
|
||||||
import xyz.playedu.api.domain.UserDepartment;
|
import xyz.playedu.api.domain.UserDepartment;
|
||||||
import xyz.playedu.api.event.UserDestroyEvent;
|
import xyz.playedu.api.event.UserDestroyEvent;
|
||||||
@ -53,6 +52,9 @@ public class UserController {
|
|||||||
public JsonResponse index(@RequestParam HashMap<String, Object> params) {
|
public JsonResponse index(@RequestParam HashMap<String, Object> params) {
|
||||||
Integer page = MapUtils.getInteger(params, "page", 1);
|
Integer page = MapUtils.getInteger(params, "page", 1);
|
||||||
Integer size = MapUtils.getInteger(params, "size", 10);
|
Integer size = MapUtils.getInteger(params, "size", 10);
|
||||||
|
String sortField = MapUtils.getString(params, "sort_field");
|
||||||
|
String sortAlgo = MapUtils.getString(params, "sort_algo");
|
||||||
|
|
||||||
String name = MapUtils.getString(params, "name");
|
String name = MapUtils.getString(params, "name");
|
||||||
String email = MapUtils.getString(params, "email");
|
String email = MapUtils.getString(params, "email");
|
||||||
String nickname = MapUtils.getString(params, "nickname");
|
String nickname = MapUtils.getString(params, "nickname");
|
||||||
@ -61,48 +63,23 @@ public class UserController {
|
|||||||
Integer isLock = MapUtils.getInteger(params, "is_lock");
|
Integer isLock = MapUtils.getInteger(params, "is_lock");
|
||||||
Integer isVerify = MapUtils.getInteger(params, "is_verify");
|
Integer isVerify = MapUtils.getInteger(params, "is_verify");
|
||||||
Integer isSetPassword = MapUtils.getInteger(params, "is_set_password");
|
Integer isSetPassword = MapUtils.getInteger(params, "is_set_password");
|
||||||
String createdAtStr = MapUtils.getString(params, "created_at");
|
String createdAt = MapUtils.getString(params, "created_at");
|
||||||
String depIdsStr = MapUtils.getString(params, "dep_ids");
|
String depIds = MapUtils.getString(params, "dep_ids");
|
||||||
|
|
||||||
String sortField = MapUtils.getString(params, "sort_field");
|
UserPaginateFilter filter = new UserPaginateFilter(){{
|
||||||
String sortAlgo = MapUtils.getString(params, "sort_algo");
|
setName(name);
|
||||||
|
setNickname(nickname);
|
||||||
UserPaginateFilter filter = new UserPaginateFilter();
|
setEmail(email);
|
||||||
filter.setSortAlgo(sortAlgo);
|
setIdCard(idCard);
|
||||||
filter.setSortField(sortField);
|
setIsActive(isActive);
|
||||||
|
setIsLock(isLock);
|
||||||
if (name != null && name.length() > 0) {
|
setIsVerify(isVerify);
|
||||||
filter.setName(name);
|
setIsSetPassword(isSetPassword);
|
||||||
}
|
setCreatedAt(createdAt);
|
||||||
if (nickname != null && nickname.length() > 0) {
|
setDepIds(depIds);
|
||||||
filter.setNickname(nickname);
|
setSortAlgo(sortAlgo);
|
||||||
}
|
setSortField(sortField);
|
||||||
if (email != null && email.length() > 0) {
|
}};
|
||||||
filter.setEmail(email);
|
|
||||||
}
|
|
||||||
if (idCard != null && idCard.length() > 0) {
|
|
||||||
filter.setIdCard(idCard);
|
|
||||||
}
|
|
||||||
if (isActive != null) {
|
|
||||||
filter.setIsActive(isActive);
|
|
||||||
}
|
|
||||||
if (isLock != null) {
|
|
||||||
filter.setIsLock(isLock);
|
|
||||||
}
|
|
||||||
if (isVerify != null) {
|
|
||||||
filter.setIsVerify(isVerify);
|
|
||||||
}
|
|
||||||
if (isSetPassword != null) {
|
|
||||||
filter.setIsSetPassword(isSetPassword);
|
|
||||||
}
|
|
||||||
if (createdAtStr != null && createdAtStr.length() > 0) {
|
|
||||||
Date[] createdAt = Arrays.stream(createdAtStr.split(",")).map(Date::new).toArray(Date[]::new);
|
|
||||||
filter.setCreatedAt(createdAt);
|
|
||||||
}
|
|
||||||
if (depIdsStr != null && depIdsStr.length() > 0) {
|
|
||||||
Integer[] depIds = Arrays.stream(depIdsStr.split(",")).map(Integer::valueOf).toArray(Integer[]::new);
|
|
||||||
filter.setDepIds(depIds);
|
|
||||||
}
|
|
||||||
|
|
||||||
PaginationResult<User> result = userService.paginate(page, size, filter);
|
PaginationResult<User> result = userService.paginate(page, size, filter);
|
||||||
return JsonResponse.data(result);
|
return JsonResponse.data(result);
|
||||||
|
@ -19,6 +19,7 @@ import xyz.playedu.api.types.paginate.UserPaginateFilter;
|
|||||||
import xyz.playedu.api.util.HelperUtil;
|
import xyz.playedu.api.util.HelperUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -43,16 +44,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||||||
public PaginationResult<User> paginate(int page, int size, UserPaginateFilter filter) {
|
public PaginationResult<User> paginate(int page, int size, UserPaginateFilter filter) {
|
||||||
QueryWrapper<User> wrapper = query().getWrapper().eq("1", "1");
|
QueryWrapper<User> wrapper = query().getWrapper().eq("1", "1");
|
||||||
|
|
||||||
if (filter.getEmail() != null) {
|
if (filter.getEmail() != null && filter.getEmail().trim().length() > 0) {
|
||||||
wrapper.eq("email", filter.getEmail());
|
wrapper.eq("email", filter.getEmail());
|
||||||
}
|
}
|
||||||
if (filter.getName() != null) {
|
if (filter.getName() != null && filter.getName().trim().length() > 0) {
|
||||||
wrapper.eq("name", filter.getName());
|
wrapper.eq("name", filter.getName());
|
||||||
}
|
}
|
||||||
if (filter.getNickname() != null) {
|
if (filter.getNickname() != null && filter.getNickname().length() > 0) {
|
||||||
wrapper.eq("nickname", filter.getNickname());
|
wrapper.eq("nickname", filter.getNickname());
|
||||||
}
|
}
|
||||||
if (filter.getIdCard() != null) {
|
if (filter.getIdCard() != null && filter.getIdCard().trim().length() > 0) {
|
||||||
wrapper.eq("id_card", filter.getIdCard());
|
wrapper.eq("id_card", filter.getIdCard());
|
||||||
}
|
}
|
||||||
if (filter.getIsActive() != null) {
|
if (filter.getIsActive() != null) {
|
||||||
@ -67,13 +68,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||||||
if (filter.getIsSetPassword() != null) {
|
if (filter.getIsSetPassword() != null) {
|
||||||
wrapper.eq("is_set_password", filter.getIsSetPassword());
|
wrapper.eq("is_set_password", filter.getIsSetPassword());
|
||||||
}
|
}
|
||||||
if (filter.getCreatedAt() != null && filter.getCreatedAt().length == 2) {
|
if (filter.getCreatedAt() != null && filter.getCreatedAt().trim().length() > 0) {
|
||||||
wrapper.between("created_at", filter.getCreatedAt()[0], filter.getCreatedAt()[1]);
|
Date[] createdAt = Arrays.stream(filter.getCreatedAt().split(",")).map(Date::new).toArray(Date[]::new);
|
||||||
|
wrapper.between("created_at", createdAt[0], createdAt[1]);
|
||||||
}
|
}
|
||||||
if (filter.getDepIds() != null && filter.getDepIds().length > 0) {
|
if (filter.getDepIds() != null && filter.getDepIds().trim().length() > 0) {
|
||||||
List<Integer> userIds = userDepartmentService.getUserIdsByDepIds(filter.getDepIds());
|
List<Integer> depIds = Arrays.stream(filter.getDepIds().split(",")).map(Integer::valueOf).toList();
|
||||||
if (userIds.size() == 0) {
|
List<Integer> userIds = userDepartmentService.getUserIdsByDepIds(depIds);
|
||||||
userIds.add(0);
|
if (userIds == null || userIds.size() == 0) {
|
||||||
|
userIds = HelperUtil.zeroIntegerList();
|
||||||
}
|
}
|
||||||
wrapper.in("id", userIds);
|
wrapper.in("id", userIds);
|
||||||
}
|
}
|
||||||
@ -104,18 +107,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> existsEmailsByEmails(List<String> emails) {
|
public List<String> existsEmailsByEmails(List<String> emails) {
|
||||||
List<User> users = list(query().getWrapper().in("email", emails).select("id", "email"));
|
return list(query().getWrapper().in("email", emails).select("id", "email")).stream().map(User::getEmail).toList();
|
||||||
List<String> existsEmails = new ArrayList<>();
|
|
||||||
for (User user : users) {
|
|
||||||
existsEmails.add(user.getEmail());
|
|
||||||
}
|
|
||||||
return existsEmails;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeRelateDepartmentsByUserId(Integer userId) {
|
public void removeRelateDepartmentsByUserId(Integer userId) {
|
||||||
QueryWrapper<UserDepartment> wrapper = userDepartmentService.query().getWrapper().eq("user_id", userId);
|
userDepartmentService.remove(userDepartmentService.query().getWrapper().eq("user_id", userId));
|
||||||
userDepartmentService.remove(wrapper);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -204,12 +201,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getDepIdsByUserId(Integer userId) {
|
public List<Integer> getDepIdsByUserId(Integer userId) {
|
||||||
List<Integer> ids = new ArrayList<>();
|
return userDepartmentService.list(userDepartmentService.query().getWrapper().eq("user_id", userId)).stream().map(UserDepartment::getDepId).toList();
|
||||||
List<UserDepartment> userDepartments = userDepartmentService.list(userDepartmentService.query().getWrapper().eq("user_id", userId));
|
|
||||||
for (UserDepartment userDepartment : userDepartments) {
|
|
||||||
ids.add(userDepartment.getDepId());
|
|
||||||
}
|
|
||||||
return ids;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,15 +20,8 @@ import java.util.List;
|
|||||||
public class UserDepartmentServiceImpl extends ServiceImpl<UserDepartmentMapper, UserDepartment> implements UserDepartmentService {
|
public class UserDepartmentServiceImpl extends ServiceImpl<UserDepartmentMapper, UserDepartment> implements UserDepartmentService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getUserIdsByDepIds(Integer[] depIds) {
|
public List<Integer> getUserIdsByDepIds(List<Integer> depIds) {
|
||||||
List<Integer> ids = new ArrayList<>();
|
return list(query().getWrapper().in("dep_id", depIds)).stream().map(UserDepartment::getUserId).toList();
|
||||||
List<UserDepartment> userDepartments = list(query().getWrapper().in("dep_id", Arrays.asList(depIds)));
|
|
||||||
if (userDepartments.size() > 0) {
|
|
||||||
for (UserDepartment userDepartment : userDepartments) {
|
|
||||||
ids.add(userDepartment.getUserId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ids;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -38,10 +31,11 @@ public class UserDepartmentServiceImpl extends ServiceImpl<UserDepartmentMapper,
|
|||||||
}
|
}
|
||||||
List<UserDepartment> userDepartments = new ArrayList<>();
|
List<UserDepartment> userDepartments = new ArrayList<>();
|
||||||
for (int i = 0; i < depIds.length; i++) {
|
for (int i = 0; i < depIds.length; i++) {
|
||||||
UserDepartment userDepartment = new UserDepartment();
|
Integer depId = depIds[i];
|
||||||
userDepartment.setUserId(userId);
|
userDepartments.add(new UserDepartment() {{
|
||||||
userDepartment.setDepId(depIds[i]);
|
setUserId(userId);
|
||||||
userDepartments.add(userDepartment);
|
setDepId(depId);
|
||||||
|
}});
|
||||||
}
|
}
|
||||||
saveBatch(userDepartments);
|
saveBatch(userDepartments);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import java.util.List;
|
|||||||
* @createDate 2023-02-23 15:08:38
|
* @createDate 2023-02-23 15:08:38
|
||||||
*/
|
*/
|
||||||
public interface UserDepartmentService extends IService<UserDepartment> {
|
public interface UserDepartmentService extends IService<UserDepartment> {
|
||||||
List<Integer> getUserIdsByDepIds(Integer[] depIds);
|
List<Integer> getUserIdsByDepIds(List<Integer> depIds);
|
||||||
|
|
||||||
void storeDepIds(Integer userId, Integer[] depIds);
|
void storeDepIds(Integer userId, Integer[] depIds);
|
||||||
|
|
||||||
|
@ -25,9 +25,9 @@ public class UserPaginateFilter {
|
|||||||
private Integer isSetPassword;
|
private Integer isSetPassword;
|
||||||
|
|
||||||
// 创建时间范围过滤
|
// 创建时间范围过滤
|
||||||
private Date[] createdAt;
|
private String createdAt;
|
||||||
|
|
||||||
private Integer[] depIds;
|
private String depIds;
|
||||||
|
|
||||||
// 排序控制
|
// 排序控制
|
||||||
private String sortField;
|
private String sortField;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user