package com.sptg.statistics.biz.service;

import com.baomidou.mybatisplus.service.IService;
import com.sptg.statistics.api.dto.StatisticsAdPushCountDto;
import com.sptg.statistics.api.entity.StatisticsAdPushCount;

/**
 * title: StatisticsAdPushCountServiceInterface
 * package: com.sptg.statistics.biz.security
 * description:统计发布广告数量-服务层接口
 *
 *                
 *                
 */
public interface StatisticsAdPushCountServiceInterface  extends IService<StatisticsAdPushCount> {

    /**
     * 功能描述:获取发布广告数量
     * @param statisticsAdPushCountDto
     * {
     *     l_ad_push_task_id:发布任务id
     *     i_push_state:发布推送状态 0推送中 1推送成功
     * }
     * @return StatisticsAdPushCount
     *                
     *                      
     */
    StatisticsAdPushCount getStatisticsAdPushCountByTaskId(StatisticsAdPushCountDto statisticsAdPushCountDto);

    /**
     * 功能描述:获取发布广告数量
     * @param statisticsAdPushCountDto
     * {
     *     l_ad_push_task_id:发布任务id
     *     i_push_state:发布推送状态 0推送中 1推送成功
     *     s_org_position:机构位置
     * }
     * @return long
     *                
     *                      
     */
    long getAdPushCount(StatisticsAdPushCountDto statisticsAdPushCountDto);

    /**
     * 功能描述:更新推送状态
     * @param statisticsAdPushCountDto
     * {
     *     adPushTaskId 广告发布任务id
     *      pushState 推送状态 0推送中 1推送成功
     * }
     * @return boolean
     *                
     *                      
     */
   boolean updateAdPushState(StatisticsAdPushCountDto statisticsAdPushCountDto);

   /**
    * 功能描述:更新记录机构位置
    * @param oldPosition 旧机构位置
    * @param newPosition 新机构位置
    * @return void
    *                
    *                      
    */
    void updateOrgPosition(String oldPosition, String newPosition);
}
