package com.bonus.canteen.core.device.mapper;

import java.util.List;

import com.bonus.canteen.core.device.domain.ApkDTO;
import com.bonus.canteen.core.device.domain.DeviceAppVersion;
import org.apache.ibatis.annotations.Param;

/**
 * 版本Mapper接口
 * 
 * @author xsheng
 * @date 2025-05-25
 */
public interface DeviceAppVersionMapper {
    /**
     * 查询版本
     * 
     * @param id 版本主键
     * @return 版本
     */
    public DeviceAppVersion selectDeviceAppVersionById(Integer id);

    /**
     * 查询版本列表
     * 
     * @param deviceAppVersion 版本
     * @return 版本集合
     */
    public List<DeviceAppVersion> selectDeviceAppVersionList(DeviceAppVersion deviceAppVersion);

    /**
     * 新增版本
     * 
     * @param deviceAppVersion 版本
     * @return 结果
     */
    public int insertDeviceAppVersion(DeviceAppVersion deviceAppVersion);

    /**
     * 修改版本
     * 
     * @param deviceAppVersion 版本
     * @return 结果
     */
    public int updateDeviceAppVersion(DeviceAppVersion deviceAppVersion);

    /**
     * 删除版本
     * 
     * @param id 版本主键
     * @return 结果
     */
    public int deleteDeviceAppVersionById(Integer id);

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

    /**
     * 根据类型查询apk
     * @param type 类型
     * @param version 版本
     * @return 结果
     */
    ApkDTO getApkByType(@Param("type") String type, @Param("version")  String version);

    /**
     * 更新apk信息
     * @param dto 入参
     * @return 结果
     */
    int updateApk(ApkDTO dto);
    /**
     * 新增apk信息
     * @param dto 入参
     * @return 结果
     */
    int insertApk(ApkDTO dto);
}
