package com.gic.haoban.manage.service.service.chat;

import java.util.Date;
import java.util.List;

import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlan;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog;

public interface GroupChatPlanOwnerLogService {

    public void batchAdd(String staffIdList, TabGroupChatPlan entity);

    public void update(TabGroupChatPlanOwnerLog entity);

    public void deleteByStaffIds(Long planId, String delStaffIds);

    public void updateSendCount(Long id, int sendCount, Date sendTime, int failCount);

    TabGroupChatPlanOwnerLog getById(Long ownerLogId);

    public Page<GroupChatPlanOwnerLogDTO> listPage(Long planId, GroupChatPlanSearchQDTO qdto,
            BasePageInfo basePageInfo);

    List<Long> listForTimer(Long planId);

    public Page<ChatOwnerTotalDTO> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo);

    public Page<GroupChatPlanOwnerLogDTO> listOwnerLogPageForWxa(GroupChatPlanSearchQDTO qdto,
            BasePageInfo basePageInfo);

    public GroupChatPlanOwnerLogDTO getOwnerInfo(Long planId, String staffId, String clerkId, String wxEnterpriseId);

}