package com.czg.system.service;

import com.czg.resp.CzgResult;
import com.czg.system.dto.VersionDTO;
import com.mybatisflex.core.service.IService;
import com.czg.system.entity.Version;

import java.util.List;

/**
 * 版本管理 服务层。
 *
 * @author mac
 * @since 2025-02-12
 */
public interface VersionService extends IService<Version> {

    /**
     * 新增版本
     * @param versionDTO 版本信息
     * @return Long id
     */
    CzgResult<Long> insertVersion(VersionDTO versionDTO);

    /**
     * 更新版本
     * @param versionDTO 版本信息
     * @return Long id
     */
    CzgResult<Long> updateVersion(VersionDTO versionDTO);

    /**
     * 删除版本
     * @param id 版本id
     * @return Long id
     */
    CzgResult<Long> deleteVersion(Long id);

    /**
     * 获取版本信息
     * @param source 渠道
     * @param type 类型
     * @return VersionDTO
     */
    CzgResult<VersionDTO> getVersionInfo(String source, String type);

    /**
     * 获取版本列表
     * @return List<VersionDTO>
     */
    CzgResult<List<VersionDTO>> getVersionList();
}
