Merge remote-tracking branch 'origin/v2' into v2
All checks were successful
ci / build (17, ubuntu-22.04) (push) Successful in 1m18s
All checks were successful
ci / build (17, ubuntu-22.04) (push) Successful in 1m18s
This commit is contained in:
commit
86c6b5ebe8
@ -48,8 +48,8 @@ public class UserController {
|
||||
@GetMapping("/all")
|
||||
@Operation(description = "获取所有用户信息(分页)")
|
||||
@Auth(permissions = {@PermissionDescription(3), @PermissionDescription(4)})
|
||||
public Result<PagerData<User>> getAllUserInfo(@RequestParam("num") int num, @RequestParam("page") int page) {
|
||||
return userServices.getAllUserInfo(num, page);
|
||||
public Result<PagerData<User>> getAllUserInfo(@RequestParam("num") int num, @RequestParam("page") int page, @RequestParam(value = "onlyNoClub", defaultValue = "false") boolean onlyNoClub) {
|
||||
return userServices.getAllUserInfo(num, page, onlyNoClub);
|
||||
}
|
||||
|
||||
@PutMapping("/rename")
|
||||
|
@ -87,8 +87,10 @@ public class ClubServices {
|
||||
if (clubDao.selectCountByCondition(CLUB_VO.ID.eq(clubId)) == 0)
|
||||
return Result.failed(HttpStatus.NOT_FOUND, "社团不存在!");
|
||||
Page<ClubUserAuthVo> paginate = clubUserAuthDao.paginate(page, num, select(CLUB_USER_AUTH_VO.ALL_COLUMNS).where(CLUB_USER_AUTH_VO.CLUB_ID.eq(clubId)).orderBy(CLUB_USER_AUTH_VO.AUTH_ID.asc(), CLUB_USER_AUTH_VO.USER_ID.asc()));
|
||||
long totalRow = paginate.getTotalRow();
|
||||
if (totalRow == 0) return Result.success(new PagerData<>(0, List.of()));
|
||||
List<UserVo> userVos = userDao.selectListWithRelationsByQuery(select(USER_VO.ALL_COLUMNS).from(USER_VO).where(USER_VO.ID.in(paginate.getRecords().stream().map(ClubUserAuthVo::getUserId).toList())));
|
||||
return Result.success(new PagerData<>(paginate.getTotalRow(), userVos.stream().map(e -> voUtils.vo2DtoSafe(e, User.class)).toList()));
|
||||
return Result.success(new PagerData<>(totalRow, userVos.stream().map(e -> voUtils.vo2DtoSafe(e, User.class)).toList()));
|
||||
}
|
||||
|
||||
public Result<Boolean> clubRemoveUser(User user, long clubId, long userId) {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package org.blue.club.services;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.blue.club.dao.UserDao;
|
||||
@ -25,6 +26,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.mybatisflex.core.query.QueryMethods.select;
|
||||
import static org.blue.club.entities.vo.data.table.ClubUserAuthVoTableDef.CLUB_USER_AUTH_VO;
|
||||
import static org.blue.club.entities.vo.data.table.UserVoTableDef.USER_VO;
|
||||
|
||||
@Slf4j
|
||||
@ -77,8 +79,12 @@ public class UserServices {
|
||||
return Result.success(voUtils.vo2DtoSafe(insertedUserData, User.class));
|
||||
}
|
||||
|
||||
public Result<PagerData<User>> getAllUserInfo(int num, int page) {
|
||||
Page<UserVo> userVoPage = userDao.paginateWithRelations(page, num, select(USER_VO.ALL_COLUMNS).from(USER_VO));
|
||||
public Result<PagerData<User>> getAllUserInfo(int num, int page, boolean onlyNoClub) {
|
||||
QueryWrapper from = select(USER_VO.ALL_COLUMNS).from(USER_VO);
|
||||
if (onlyNoClub) {
|
||||
from.leftJoin(CLUB_USER_AUTH_VO).on(CLUB_USER_AUTH_VO.USER_ID.eq(USER_VO.ID)).where(CLUB_USER_AUTH_VO.CLUB_ID.isNull());
|
||||
}
|
||||
Page<UserVo> userVoPage = userDao.paginateWithRelations(page, num, from);
|
||||
long totalRow = userVoPage.getTotalRow();
|
||||
List<UserVo> records = userVoPage.getRecords();
|
||||
return Result.success(new PagerData<>(totalRow, records.stream().map(e -> voUtils.vo2DtoSafe(e, User.class)).toList()));
|
||||
|
Loading…
x
Reference in New Issue
Block a user