package com.ruoyi.credit.mapper;

import java.util.List;
import com.ruoyi.credit.domain.ServicePeriod;

/**
 * 服务周期Mapper接口
 * 
 * @author ruoyi
 * @date 2025-12-23
 */
public interface ServicePeriodMapper 
{
    /**
     * 查询服务周期
     * 
     * @param servicePeriodId 服务周期主键
     * @return 服务周期
     */
    public ServicePeriod selectServicePeriodByServicePeriodId(Long servicePeriodId);

    /**
     * 查询服务周期列表
     * 
     * @param servicePeriod 服务周期
     * @return 服务周期集合
     */
    public List<ServicePeriod> selectServicePeriodList(ServicePeriod servicePeriod);

    /**
     * 根据合同ID查询服务周期列表
     * 
     * @param contractId 合同ID
     * @return 服务周期集合
     */
    public List<ServicePeriod> selectServicePeriodsByContractId(Long contractId);

    /**
     * 新增服务周期
     * 
     * @param servicePeriod 服务周期
     * @return 结果
     */
    public int insertServicePeriod(ServicePeriod servicePeriod);

    /**
     * 修改服务周期
     * 
     * @param servicePeriod 服务周期
     * @return 结果
     */
    public int updateServicePeriod(ServicePeriod servicePeriod);

    /**
     * 删除服务周期
     * 
     * @param servicePeriodId 服务周期主键
     * @return 结果
     */
    public int deleteServicePeriodByServicePeriodId(Long servicePeriodId);

    /**
     * 批量删除服务周期
     * 
     * @param servicePeriodIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteServicePeriodByServicePeriodIds(Long[] servicePeriodIds);

    /**
     * 生成服务周期编号
     * 
     * @param contractId 合同ID
     * @return 服务周期编号
     */
    public String generatePeriodNumber(Long contractId);
}