package com.pcloud.book.skill.dao;

import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.book.skill.entity.PcloudGroupActivity;
import com.pcloud.book.skill.facade.request.GroupActivityClassifyVO;
import com.pcloud.book.skill.facade.request.GroupActivityShowStateVO;
import com.pcloud.book.skill.facade.response.QueryGroupActivityResponseVO;
import com.pcloud.common.core.dao.BaseDao;

import java.util.List;
import java.util.Map;

public interface PcloudGroupActivityDao extends BaseDao<PcloudGroupActivity> {

    Integer getCountByNumber(String number, Long agentId);

    void batchUpdateShowState(GroupActivityClassifyVO groupActivityClassifyVO);

    void batchUpdateShowState(GroupActivityShowStateVO appletNewsShowStateVO);

    void deleteByIds(List<Long> ids);

    Map<Long, PcloudGroupActivity> mayByIds(List<Long> ids);

    void updateByPrimaryKeySelective(PcloudGroupActivity entity);

    GroupActivity4AppletDTO getGroupActivity4Applet(Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Long thirdClassify);

    List<GroupActivity4AppletDTO> getTishBookSchoolList(BaseTempletClassify baseTempletClassify, Integer limit);

    Map<Long, GroupActivity4AppletDTO> getByIds(List<Long> ids, Integer isShow);

    Map<Long, GroupActivity4AppletDTO> getGroupClassifyByIds(List<Long> ids);

    List<Long> getGroupClassifyIds(Map<String, Object> paraMap);

    Map<Long, GroupActivity4AppletDTO> getThirdPartByIds(List<Long> ids);

    PcloudGroupActivity getById(Long id);

    QueryGroupActivityResponseVO getByActivityId(Long id);

    Map<Long, GroupActivity4AppletDTO> getGroupClassifyByIds4Record(List<Long> bookGroupIds);

    PcloudGroupActivity getByActivityNumber(String number);
}
