package com.inspur.source.service; import com.inspur.source.domain.SmsbItemPush; import com.inspur.source.domain.vo.*; import com.inspur.source.domain.bo.SmsbItemPushBo; import org.dromara.common.core.domain.R; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.workflow.domain.bo.CompleteTaskBo; import org.dromara.workflow.domain.bo.TerminationBo; import java.util.Collection; import java.util.List; /** * 内容发布Service接口 * * @author Hao Li * @date 2025-02-25 */ public interface ISmsbItemPushService { /** * 查询内容发布 * * @param id 主键 * @return 内容发布 */ SmsbItemPushVo queryById(Long id); /** * 分页查询内容发布列表 * * @param bo 查询条件 * @param pageQuery 分页参数 * @return 内容发布分页列表 */ TableDataInfo queryPageList(SmsbItemPushBo bo, PageQuery pageQuery); /** * 查询符合条件的内容发布列表 * * @param bo 查询条件 * @return 内容发布列表 */ List queryList(SmsbItemPushBo bo); /** * 新增内容发布 * * @param bo 内容发布 * @return 是否新增成功 */ R insertByBo(SmsbItemPushBo bo); /** * 修改内容发布 * * @param bo 内容发布 * @return 是否修改成功 */ Boolean updateByBo(SmsbItemPushBo bo); /** * 校验并批量删除内容发布信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** * 获取内容发布统计信息 * @return */ PushStatisticsVo pushStatistics(); /** * 根据设备identifier 获取该设备最新内容下发记录 * @param identifier * @return */ R> getItemPushInfo(String identifier); /** * 更新下发结果 * @param identifier * @param pushId * @return */ R itemUpdateEnd(String identifier, Long pushId); /** * 获取内容审核发布详细信息 * * @param id 主键 */ SmsbItemPushReviewVo getReviewInfo(Long id); /** * 提交内容发布审核 * @param pushId * @return */ R submitReview(Long pushId); /** * 需要审核的内容下发列表 * @param bo * @param pageQuery * @return */ TableDataInfo needReviewList(SmsbItemPushBo bo, PageQuery pageQuery); /** * 内容审核 * * @param completeTaskBo 办理任务参数 * @return 结果 */ boolean completeTask(CompleteTaskBo completeTaskBo); /** * 审核驳回 * * @param terminationBo 参数 * @return 结果 */ boolean terminationTask(TerminationBo terminationBo); /** * 新增发布校验时间冲突 * @param bo * @return */ R validateTime(SmsbItemPushBo bo); /** * 更新时间时序 * @param smsbItemPush * @return */ void updatePlayLine(SmsbItemPush smsbItemPush); /** * 设备获取轮播组详情 * @param itemId * @return */ R> getItemSourceList(Long itemId); /** * 获取发布资源列表详情 * @param pushId * @return */ R> getPushSourceList(Long pushId); /** * web 排期预览时间线 * @param deviceId * @param startTime * @param endTime * @return */ R> deviceTimeLine(Long deviceId,String startTime,String endTime); }