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

import java.util.List;
import com.bonus.canteen.core.device.domain.DeviceBind;
import com.bonus.canteen.core.device.domain.DeviceInfo;
import com.bonus.canteen.core.device.dto.ApkDTO;
import com.bonus.canteen.core.device.dto.DeviceDTO;
import com.bonus.canteen.core.device.dto.DeviceSearchDTO;
import com.bonus.canteen.core.device.vo.DeviceFullInfoVO;
import com.bonus.common.core.web.domain.AjaxResult;

import javax.validation.Valid;

/**
 * 设备绑定多档口子Service接口
 * 
 * @author xsheng
 * @date 2025-04-03
 */
public interface IDoubleScreenMachineService {
    /**
     * 查询设备绑定多档口子
     * 
     * @param dto 查询条件
     * @return 设备绑定多档口子
     */
    List<DeviceFullInfoVO> getDoubleScreenMachineList(DeviceSearchDTO dto);
    /**
     * 新增设备绑定多档口子
     *
     * @param dto 设备绑定多档口子
     * @return 结果
     */
    void insert(@Valid DeviceDTO dto);
    /**
     * 修改设备绑定多档口子
     *
     * @param dto 设备绑定多档口子
     * @return 结果
     */
    void update(DeviceDTO dto);
    /**
     * 删除设备绑定多档口子信息
     *
     * @param deviceId 设备绑定多档口子ID
     * @return 结果
     */
    void delete(String deviceId);
    /**
     * 根据sn更新时间
     * @param sn
     */
    void updateTimeBySn(String sn);

    AjaxResult uploadApk(@Valid ApkDTO dto);
}
