package com.sptg.ad.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.ad.api.dto.AdPushTaskDto;
import com.sptg.ad.api.entity.AdPushTask;
import com.sptg.common.core.beans.ResultBean;

/**
 * title: AdPushTaskServiceInterface
 * package: com.sptg.ad.biz.security
 * description: 广告类容-服务层接口
 *
 *               
 *                 
 */
public interface AdPushTaskServiceInterface extends IService<AdPushTask> {
    /**
     * 功能描述:分页查询
     * @param adPushTaskDto
     * @return 
     *               
     *                       
     */
    Page<AdPushTask> showAdPushTaskList(AdPushTaskDto adPushTaskDto);

    /**
     * 功能描述:新增
     * @param adPushTask
     * @return
     *               
     *                      
     */
    ResultBean<Boolean> addAdPushTask(AdPushTask adPushTask);
    /**
     * 功能描述:撤销任务
     * @param id
     * @return
     *               
     *                      
     */
    ResultBean<Boolean> cancelAdPushTask(Long id);
    /**
     * 功能描述:根据id获取广告类容
     * @param id
     * @return
     *               
     *                       
     */
    AdPushTask findAdPushTaskById(Long id);

   /**
    * 功能描述:手动下发任务
    * @param  id
    * @return 
    *               
    *                       
    */
    ResultBean<Boolean> manuallyIssued(Long id);

   /**
    * 功能描述:修改
    * @param adPushTask
    * @return
    *               
    *                       
    */
    ResultBean<Boolean> updateAdPushTask(AdPushTask adPushTask);
    /**
     * 功能描述:实施小程序--广告一键下发测试
     * @param deviceId 设备id
     * @return  ResultBean<Boolean>
     *               
     *                      
     */
    ResultBean<Boolean> adIssued(Long deviceId);
    /**
     * 功能描述:更新记录机构位置
     * @param oldPosition 旧机构位置
     * @param newPosition 新机构位置
     *               
     *                      
     */
    void updateOrgPosition(String oldPosition, String newPosition);

    /**
     * 功能描述:获取当前设备发布的有效广告数量
     * @param deviceId 设备id
     * @return int
     *                
     *                     
     */
    int getValidAdPushCountDevice(Long deviceId);
}
