package com.fs.his.mapper;

import java.util.List;
import com.fs.his.domain.FsAppVersion;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * app版本Mapper接口
 *
 * @author fs
 * @date 2023-08-03
 */
public interface FsAppVersionMapper
{
    /**
     * 查询app版本
     *
     * @param versionId app版本主键
     * @return app版本
     */
    public FsAppVersion selectFsAppVersionByVersionId(Long versionId);

    /**
     * 查询app版本列表
     *
     * @param fsAppVersion app版本
     * @return app版本集合
     */
    public List<FsAppVersion> selectFsAppVersionList(FsAppVersion fsAppVersion);

    /**
     * 新增app版本
     *
     * @param fsAppVersion app版本
     * @return 结果
     */
    public int insertFsAppVersion(FsAppVersion fsAppVersion);

    /**
     * 修改app版本
     *
     * @param fsAppVersion app版本
     * @return 结果
     */
    public int updateFsAppVersion(FsAppVersion fsAppVersion);

    /**
     * 删除app版本
     *
     * @param versionId app版本主键
     * @return 结果
     */
    public int deleteFsAppVersionByVersionId(Long versionId);

    /**
     * 批量删除app版本
     *
     * @param versionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFsAppVersionByVersionIds(Long[] versionIds);

    @Select("select * from fs_app_version where type=1 and app_type=#{appType} order by version_code desc limit 1")
    FsAppVersion getNewAppVersion(Integer appType);

    @Select("select * from fs_app_version where type=#{type} and app_type=3 order by version_code desc limit 1")
    FsAppVersion getNewUserAppVersion(Integer type);
    @Select("select * from fs_app_version where type=#{type} and app_type=#{appType} order by version_code desc limit 1")
    FsAppVersion getNewVersion1(@Param("appType")Integer appType, @Param("type") int type);
}
