package com.inspur.device.service; import cn.hutool.json.JSONObject; import com.inspur.device.domain.bo.SmsbDevicePowerScheduleBo; import com.inspur.device.domain.vo.SmsbDevicePowerScheduleVo; import com.inspur.device.domain.vo.SmsbDeviceVo; import org.dromara.common.core.domain.R; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import java.util.Collection; import java.util.List; /** * 多功能卡电源定时开关Service接口 * * @author Hao Li * @date 2025-05-20 */ public interface ISmsbDevicePowerScheduleService { /** * 查询多功能卡电源定时开关 * * @param id 主键 * @return 多功能卡电源定时开关 */ SmsbDevicePowerScheduleVo queryById(Long id); /** * 分页查询多功能卡电源定时开关列表 * * @param bo 查询条件 * @param pageQuery 分页参数 * @return 多功能卡电源定时开关分页列表 */ TableDataInfo queryPageList(SmsbDevicePowerScheduleBo bo, PageQuery pageQuery); /** * 查询符合条件的多功能卡电源定时开关列表 * * @param bo 查询条件 * @return 多功能卡电源定时开关列表 */ List queryList(SmsbDevicePowerScheduleBo bo); /** * 新增多功能卡电源定时开关 * * @param bo 多功能卡电源定时开关 * @return 是否新增成功 */ R insertByBo(SmsbDevicePowerScheduleBo bo); /** * 修改多功能卡电源定时开关 * * @param bo 多功能卡电源定时开关 * @return 是否修改成功 */ R updateByBo(SmsbDevicePowerScheduleBo bo); /** * 校验并批量删除多功能卡电源定时开关信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** * 根据设备id查询定时开关列表 * @param deviceId * @return */ List getListByDevice(Long deviceId); /** * 根据设备ID 组装多功能卡定时配置 * @param smsbDeviceVo * @return */ JSONObject createDeviceScheduleCron(SmsbDeviceVo smsbDeviceVo); }