bugfix: 修复计算有预约设备时没有考虑通过但需要协助的情况
This commit is contained in:
parent
110f802a1f
commit
0f9c143d46
@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -48,7 +49,7 @@ public class ReservationServiceImpl implements ReservationService {
|
|||||||
LocalDate endTime = now.plusDays(days);
|
LocalDate endTime = now.plusDays(days);
|
||||||
return reservationMapper.selectList(new LambdaQueryWrapper<Reservation>()
|
return reservationMapper.selectList(new LambdaQueryWrapper<Reservation>()
|
||||||
.in(Reservation::getDeviceId, devicesIds)
|
.in(Reservation::getDeviceId, devicesIds)
|
||||||
.eq(Reservation::getStatus, ReservationStatus.APPROVED)
|
.in(Reservation::getStatus, List.of(ReservationStatus.APPROVED, ReservationStatus.APPROVED_ASSIST))
|
||||||
.between(Reservation::getStartTime, now, endTime));
|
.between(Reservation::getStartTime, now, endTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,6 +72,13 @@ public class ReservationServiceImpl implements ReservationService {
|
|||||||
Page<Reservation> reservations = reservationMapper.selectPage(pageRequest, new LambdaQueryWrapper<Reservation>()
|
Page<Reservation> reservations = reservationMapper.selectPage(pageRequest, new LambdaQueryWrapper<Reservation>()
|
||||||
.eq(Reservation::getUserId, userId)
|
.eq(Reservation::getUserId, userId)
|
||||||
.orderByDesc(Reservation::getCreatedTime));
|
.orderByDesc(Reservation::getCreatedTime));
|
||||||
|
Page<UserReservationVO> res = PageUtil.copyPage(reservations);
|
||||||
|
if (reservations.getRecords().isEmpty()) {
|
||||||
|
res.setTotal(0);
|
||||||
|
res.setRecords(Collections.EMPTY_LIST);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
// 获取设备名称
|
// 获取设备名称
|
||||||
List<Long> deviceIds = reservations.getRecords().stream()
|
List<Long> deviceIds = reservations.getRecords().stream()
|
||||||
.map(Reservation::getDeviceId)
|
.map(Reservation::getDeviceId)
|
||||||
@ -88,7 +96,7 @@ public class ReservationServiceImpl implements ReservationService {
|
|||||||
.distinct()
|
.distinct()
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
Page<UserReservationVO> res = PageUtil.copyPage(reservations);
|
|
||||||
List<UserReservationVO> vos;
|
List<UserReservationVO> vos;
|
||||||
Map<Long, User> deviceAdminMap = userMapper.selectList(new LambdaQueryWrapper<User>()
|
Map<Long, User> deviceAdminMap = userMapper.selectList(new LambdaQueryWrapper<User>()
|
||||||
.in(User::getId, deviceAdminIDs))
|
.in(User::getId, deviceAdminIDs))
|
||||||
@ -106,7 +114,7 @@ public class ReservationServiceImpl implements ReservationService {
|
|||||||
public List<TimeRangeVO> getUnavailableTimes(Long id) {
|
public List<TimeRangeVO> getUnavailableTimes(Long id) {
|
||||||
List<Reservation> reservations = reservationMapper.selectList(new LambdaQueryWrapper<Reservation>()
|
List<Reservation> reservations = reservationMapper.selectList(new LambdaQueryWrapper<Reservation>()
|
||||||
.eq(Reservation::getDeviceId, id)
|
.eq(Reservation::getDeviceId, id)
|
||||||
.eq(Reservation::getStatus, "APPROVED")
|
.in(Reservation::getStatus, List.of(ReservationStatus.APPROVED, ReservationStatus.APPROVED_ASSIST))
|
||||||
.gt(Reservation::getEndTime, LocalDate.now()));
|
.gt(Reservation::getEndTime, LocalDate.now()));
|
||||||
|
|
||||||
return reservations.stream()
|
return reservations.stream()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user