package com.qqchen.deploy.backend.system.service;

import com.qqchen.deploy.backend.framework.service.IBaseService;
import com.qqchen.deploy.backend.system.dto.SystemReleaseDTO;
import com.qqchen.deploy.backend.system.entity.SystemRelease;
import com.qqchen.deploy.backend.system.query.SystemReleaseQuery;

import java.util.List;

/**
 * 系统版本发布记录服务接口
 */
public interface ISystemReleaseService extends IBaseService<SystemRelease, SystemReleaseDTO, SystemReleaseQuery, Long> {

    /**
     * 获取未通知的发布记录列表
     *
     * @return 未通知的发布记录列表
     */
    List<SystemReleaseDTO> getUnnotifiedReleases();

    /**
     * 标记为已通知
     *
     * @param id 发布记录ID
     */
    void markAsNotified(Long id);

    /**
     * 获取指定模块的最新发布记录
     *
     * @param module 模块类型
     * @return 最新发布记录
     */
    SystemReleaseDTO getLatestReleaseByModule(String module);
}
