diff --git a/src/main/java/xyz/playedu/api/controller/backend/UserController.java b/src/main/java/xyz/playedu/api/controller/backend/UserController.java index bbf004e..0220724 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/UserController.java @@ -83,7 +83,14 @@ public class UserController { } PaginationResult result = userService.paginate(page, size, filter); - return JsonResponse.data(result); + + HashMap data = new HashMap<>(); + data.put("data", result.getData()); + data.put("total", result.getTotal()); + data.put("user_dep_ids", userService.getDepIdsGroup(result.getData().stream().map(User::getId).toList())); + data.put("departments", departmentService.id2name()); + + return JsonResponse.data(data); } @BackendPermissionMiddleware(slug = BPermissionConstant.USER_STORE) diff --git a/src/main/java/xyz/playedu/api/service/UserService.java b/src/main/java/xyz/playedu/api/service/UserService.java index baa5577..5ea5606 100644 --- a/src/main/java/xyz/playedu/api/service/UserService.java +++ b/src/main/java/xyz/playedu/api/service/UserService.java @@ -8,6 +8,7 @@ import xyz.playedu.api.types.paginate.PaginationResult; import xyz.playedu.api.types.paginate.UserPaginateFilter; import java.util.List; +import java.util.Map; /** * @author tengteng @@ -44,4 +45,6 @@ public interface UserService extends IService { Long todayCount(); Long yesterdayCount(); + + Map> getDepIdsGroup(List userIds); } diff --git a/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java index 57f136f..6c34673 100644 --- a/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java @@ -19,7 +19,10 @@ import xyz.playedu.api.util.HelperUtil; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author tengteng @@ -185,6 +188,22 @@ public class UserServiceImpl extends ServiceImpl implements Us String yesterdayDate = simpleDateFormat.format(new Date(System.currentTimeMillis() - 86400000)); return count(query().getWrapper().between("created_at", simpleDateFormat.parse(yesterdayDate), simpleDateFormat.parse(todayDate))); } + + @Override + public Map> getDepIdsGroup(List userIds) { + if (userIds == null || userIds.size() == 0) { + return null; + } + Map> data = userDepartmentService + .list(userDepartmentService.query().getWrapper().in("user_id", userIds)) + .stream() + .collect(Collectors.groupingBy(UserDepartment::getUserId)); + Map> result = new HashMap<>(); + data.forEach((userId, records) -> { + result.put(userId, records.stream().map(UserDepartment::getDepId).toList()); + }); + return result; + } }