package com.dkl.large.mapper;

import com.dkl.large.domain.DklActivity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 大客流活动Mapper接口
 *
 * @author Dkl
 * @date 2025-05-27
 */
public interface DklActivityMapper
{
    /**
     * 查询大客流活动
     *
     * @param id 大客流活动主键
     * @return 大客流活动
     */
    public DklActivity selectDklActivityById(int id);

    /**
     * 查询大客流活动列表
     *
     * @param dklActivity 大客流活动
     * @return 大客流活动集合
     */
    public  List<DklActivity> selectDklActivityList(DklActivity dklActivity);

    /**
     * 新增大客流活动
     *
     * @param dklActivity 大客流活动
     * @return 结果
     */
    public int insertDklActivity(DklActivity dklActivity);

    /**
     * 修改大客流活动
     *
     * @param dklActivity 大客流活动
     * @return 结果
     */
    public int updateDklActivity(DklActivity dklActivity);

    /**
     * 删除大客流活动
     *
     * @param id 大客流活动主键
     * @return 结果
     */
    public int deleteDklActivityById(int id);

    /**
     * 批量删除大客流活动
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDklActivityByIds(int[] ids);

    /**
     * @Author :rq
     * @Description :大屏预警信息统计
     * @Date :2025/06/09 10:22
     * @Param :[]
     * @return :java.util.List<com.dkl.large.domain.DklActivity>
     **/
    public List<DklActivity> ativityEarlyWarning(DklActivity dklActivity);
    /**
     * @Author :rq
     * @Description :大屏重点场所热力图/景区热力图
     * @Date :2025/06/09 13:22
     * @Param :[]
     * @return :java.util.List<com.dkl.large.domain.DklActivity>
     **/
    public List<DklActivity> thermogramStatistics(DklActivity dklActivity);

    /**
     * @Author :rq
     * @Description :大客流总数区域展示
     * @Date :2025/06/09 15:42
     * @Param :[dklActivity]
     * @return :java.util.List<com.dkl.large.domain.DklActivity>
     **/
    public List<DklActivity> regionalStatistics(DklActivity dklActivity);


    /***
     * @Author :rq
     * @Description :获取监测点数量
     * @Date :2025/06/13 11:00
     * @Param :[]
     * @return :int
     **/
    public String getActivityCount();

    /**
     * @Author :rq
     * @Description :大客流活动统计首页
     * @Date :2025/07/11 10:42
     * @Param :[dklActivity]
     * @return :java.util.List<com.dkl.large.domain.DklActivity>
     **/
    public List<DklActivity> homeActivityStatistics(DklActivity dklActivity);
    /**
     * @Author :rq
     * @Description :大客流活动人数统计首页
     * @Date :2025/07/11 15:42
     * @Param :[dklActivity]
     * @return :java.util.List<com.dkl.large.domain.DklActivity>
     **/
    public List<DklActivity> homeActivityStatisticsPeople(DklActivity dklActivity);

    public DklActivity checkActivityNameUnique(@Param("activityName") String activityName);

}
