package com.njcn.csharmonic.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csharmonic.param.CldWarnParam;
import com.njcn.csharmonic.param.CsEventUserQueryPage;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.dto.UnReadEventDto;
import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.njcn.csharmonic.pojo.po.CsEventUserPO;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.csharmonic.pojo.vo.FrontWarnVo;
import com.njcn.csharmonic.pojo.vo.event.EventStatisticVO;
import com.njcn.web.pojo.param.BaseParam;

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

/**
 * 
 * Description:
 * Date: 2023/9/4  15:15【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
public interface CsEventUserPOService extends IService<CsEventUserPO>{


        Integer queryEventCount(CsEventUserQueryParam csEventUserQueryParam);

        List<UnReadEventDto> queryEngineeringEventCount(String userIndex);

        List<EventDetailVO> queryUserEventList(CsEventUserQueryParam csEventUserQueryParam);

        void updateStatus(CsEventUserQueryParam csEventUserQueryParam);

        Page<EventDetailVO> queryEventpage(CsEventUserQueryPage csEventUserQueryPage);

        Page<EventDetailVO> queryEventPageWeb(CsEventUserQueryPage csEventUserQueryPage);

        Page<FrontWarnVo> getFrontWarnInfo(CldWarnParam baseParam);

        /**
         * 查询用户事件列表
         * @param userIndex
         * @return
         */
        List<CsEventUserPO> queryEventListByUserId(String userIndex,List<String> eventList);

        EventStatisticVO queryAppEventCounts(CsEventUserQueryPage csEventUserQueryPage);

}
