package shop.alien.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.store.StoreBookingBusinessHours;

import java.util.List;

/**
 * 预订服务营业时间表 服务类
 *
 * @author system
 * @since 2025-01-XX
 */
public interface StoreBookingBusinessHoursService extends IService<StoreBookingBusinessHours> {


    /**
     * 根据设置ID查询营业时间列表
     *
     * @param settingsId 设置ID
     * @return 营业时间列表
     */
    List<StoreBookingBusinessHours> getListBySettingsId(Integer settingsId);

    /**
     * 根据设置ID和营业类型查询营业时间列表
     *
     * @param settingsId 设置ID
     * @param businessType 营业类型（1:正常营业时间, 2:特殊营业时间）
     * @return 营业时间列表
     */
    List<StoreBookingBusinessHours> getListBySettingsIdAndType(Integer settingsId, Integer businessType);

    /**
     * 新增或更新营业时间
     *
     * @param businessHours 营业时间对象
     * @return boolean
     */
    boolean saveOrUpdateBusinessHours(StoreBookingBusinessHours businessHours);

    /**
     * 批量保存营业时间
     *
     * @param settingsId 设置ID
     * @param businessHoursList 营业时间列表
     * @return boolean
     */
    boolean batchSaveBusinessHours(Integer settingsId, List<StoreBookingBusinessHours> businessHoursList);

    /**
     * 删除营业时间（逻辑删除）
     *
     * @param id 营业时间ID
     * @return boolean
     */
    boolean deleteBusinessHours(Integer id);
}
