Compare commits
No commits in common. "121ec9b684246a89e270a5d1a78249ccdd029daf" and "44df4b564d26bae18cc0c5cc3a2f18ff1849fe21" have entirely different histories.
121ec9b684
...
44df4b564d
@ -1,15 +0,0 @@
|
||||
package github.benjamin.equipreservebackend.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
@Configuration
|
||||
public class WebConfig implements WebMvcConfigurer {
|
||||
|
||||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
registry.addResourceHandler("/device_image/**")
|
||||
.addResourceLocations("file:" + System.getProperty("user.dir") + "/device_image/");
|
||||
}
|
||||
}
|
@ -4,16 +4,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import github.benjamin.equipreservebackend.entity.Device;
|
||||
import github.benjamin.equipreservebackend.response.ResponseResult;
|
||||
import github.benjamin.equipreservebackend.service.DeviceService;
|
||||
import github.benjamin.equipreservebackend.service.ReservationService;
|
||||
import github.benjamin.equipreservebackend.vo.DeviceUserVO;
|
||||
import github.benjamin.equipreservebackend.vo.TimeRangeVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@ -22,8 +19,6 @@ public class DeviceController {
|
||||
|
||||
private final DeviceService deviceService;
|
||||
|
||||
private final ReservationService reservationService;
|
||||
|
||||
@PreAuthorize("hasRole('USER')")
|
||||
@GetMapping
|
||||
public ResponseResult<Page<DeviceUserVO>> getDevices(@RequestParam(defaultValue = "1") Integer page,
|
||||
@ -34,13 +29,6 @@ public class DeviceController {
|
||||
return ResponseResult.success(res);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasRole('USER')")
|
||||
@GetMapping ("/unavailable-times/{id}")
|
||||
public ResponseResult<List<TimeRangeVO>> getUnavailableTimes(@PathVariable Long id) {
|
||||
List<TimeRangeVO> res = reservationService.getUnavailableTimes(id);
|
||||
return ResponseResult.success(res);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasRole('DEVICE_ADMIN')")
|
||||
@PostMapping
|
||||
public ResponseResult<?> addDevice(@RequestBody Device device){
|
||||
|
@ -1,9 +0,0 @@
|
||||
package github.benjamin.equipreservebackend.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import github.benjamin.equipreservebackend.entity.Team;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface TeamMapper extends BaseMapper<Team> {
|
||||
}
|
@ -2,7 +2,6 @@ package github.benjamin.equipreservebackend.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import github.benjamin.equipreservebackend.entity.Reservation;
|
||||
import github.benjamin.equipreservebackend.vo.TimeRangeVO;
|
||||
import github.benjamin.equipreservebackend.vo.UserReservationVO;
|
||||
|
||||
import java.util.List;
|
||||
@ -14,6 +13,4 @@ public interface ReservationService {
|
||||
void addReservation(Reservation reservation);
|
||||
|
||||
Page<UserReservationVO> getUserReservationVO(Long userId, Page<Reservation> pageRequest);
|
||||
|
||||
List<TimeRangeVO> getUnavailableTimes(Long id);
|
||||
}
|
||||
|
@ -1,4 +0,0 @@
|
||||
package github.benjamin.equipreservebackend.service;
|
||||
|
||||
public interface TeamService {
|
||||
}
|
@ -5,21 +5,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import github.benjamin.equipreservebackend.constant.ReservationStatus;
|
||||
import github.benjamin.equipreservebackend.entity.Device;
|
||||
import github.benjamin.equipreservebackend.entity.Reservation;
|
||||
import github.benjamin.equipreservebackend.entity.Team;
|
||||
import github.benjamin.equipreservebackend.entity.User;
|
||||
import github.benjamin.equipreservebackend.mapper.DeviceMapper;
|
||||
import github.benjamin.equipreservebackend.mapper.ReservationMapper;
|
||||
import github.benjamin.equipreservebackend.mapper.TeamMapper;
|
||||
import github.benjamin.equipreservebackend.mapper.UserMapper;
|
||||
import github.benjamin.equipreservebackend.service.ReservationService;
|
||||
import github.benjamin.equipreservebackend.utils.PageUtil;
|
||||
import github.benjamin.equipreservebackend.vo.TimeRangeVO;
|
||||
import github.benjamin.equipreservebackend.vo.UserReservationVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -37,8 +33,6 @@ public class ReservationServiceImpl implements ReservationService {
|
||||
|
||||
private final UserMapper userMapper;
|
||||
|
||||
private final TeamMapper teamMapper;
|
||||
|
||||
/**
|
||||
* 未来days天内有预约的设备显示为“有预约”
|
||||
*/
|
||||
@ -47,24 +41,15 @@ public class ReservationServiceImpl implements ReservationService {
|
||||
|
||||
@Override
|
||||
public List<Reservation> getApprovedReservationsByDeviceIds(List<Long> devicesIds) {
|
||||
LocalDate now = LocalDate.now();
|
||||
LocalDate endTime = now.plusDays(days);
|
||||
LocalDateTime endTime = LocalDateTime.now().plusDays(days);
|
||||
return reservationMapper.selectList(new LambdaQueryWrapper<Reservation>()
|
||||
.in(Reservation::getDeviceId, devicesIds)
|
||||
.eq(Reservation::getStatus, ReservationStatus.APPROVED)
|
||||
.between(Reservation::getStartTime, now, endTime));
|
||||
.lt(Reservation::getEndTime, endTime));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReservation(Reservation reservation) {
|
||||
User user = userMapper.selectById(reservation.getUserId());
|
||||
Team team = teamMapper.selectById(user.getTeamId());
|
||||
Device device = deviceMapper.selectById(reservation.getDeviceId());
|
||||
|
||||
reservation.setApplicantName(user.getName());
|
||||
reservation.setApplicantTeam(team.getName());
|
||||
reservation.setApplicantContact(user.getPhone());
|
||||
reservation.setDeviceAdminId(device.getDeviceAdminId());
|
||||
reservation.setStatus(String.valueOf(ReservationStatus.PENDING_LEADER));
|
||||
reservationMapper.insert(reservation);
|
||||
}
|
||||
@ -109,16 +94,4 @@ public class ReservationServiceImpl implements ReservationService {
|
||||
res.setRecords(vos);
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TimeRangeVO> getUnavailableTimes(Long id) {
|
||||
List<Reservation> reservations = reservationMapper.selectList(new LambdaQueryWrapper<Reservation>()
|
||||
.eq(Reservation::getDeviceId, id)
|
||||
.eq(Reservation::getStatus, "APPROVED")
|
||||
.gt(Reservation::getEndTime, LocalDate.now()));
|
||||
|
||||
return reservations.stream()
|
||||
.map(r -> new TimeRangeVO(r.getStartTime(), r.getEndTime()))
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,6 @@
|
||||
package github.benjamin.equipreservebackend.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import github.benjamin.equipreservebackend.entity.Device;
|
||||
import github.benjamin.equipreservebackend.entity.User;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ -11,7 +8,6 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
public class DeviceUserVO {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long deviceId;
|
||||
private String name;
|
||||
private String usageRequirement;
|
||||
|
@ -1,7 +1,5 @@
|
||||
package github.benjamin.equipreservebackend.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import github.benjamin.equipreservebackend.entity.Role;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -12,7 +10,6 @@ import java.util.List;
|
||||
@AllArgsConstructor
|
||||
public class LoginResponse {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long userId;
|
||||
private String name;
|
||||
private List<String> roles;
|
||||
|
@ -1,17 +0,0 @@
|
||||
package github.benjamin.equipreservebackend.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TimeRangeVO {
|
||||
|
||||
private LocalDate startTime;
|
||||
private LocalDate endTime;
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user