ReservationSettingQueryService.java
package com.deveagles.be15_deveagles_be.features.schedules.query.service;
import com.deveagles.be15_deveagles_be.common.exception.BusinessException;
import com.deveagles.be15_deveagles_be.common.exception.ErrorCode;
import com.deveagles.be15_deveagles_be.features.schedules.query.dto.response.CustomerReservationSettingResponse;
import com.deveagles.be15_deveagles_be.features.schedules.query.dto.response.ReservationSettingResponse;
import com.deveagles.be15_deveagles_be.features.schedules.query.mapper.ReservationSettingMapper;
import java.time.LocalDate;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class ReservationSettingQueryService {
private final ReservationSettingMapper reservationSettingMapper;
public List<ReservationSettingResponse> getReservationSettings(Long shopId) {
List<ReservationSettingResponse> settings =
reservationSettingMapper.findSettingsWithUnitByShopId(shopId);
if (settings == null || settings.isEmpty()) {
throw new BusinessException(ErrorCode.RESERVATION_SETTING_NOT_FOUND);
}
return settings;
}
public CustomerReservationSettingResponse getReservationSetting(Long shopId, LocalDate date) {
int dayOfWeek = date.getDayOfWeek().getValue(); // 월=1 ~ 일=7
return reservationSettingMapper.findCustomerReservationSetting(shopId, dayOfWeek);
}
}