package cn.iocoder.yudao.module.crm.dal.mysql.crmclues;

import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.crm.controller.admin.crmclues.vo.CrmCluesPageReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.crmclues.vo.CrmCluesRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.crmclues.vo.CrmCluesStatisticsRespVO;
import cn.iocoder.yudao.module.crm.dal.dataobject.crmclues.CrmCluesDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 线索 Mapper
 *
 * @author yshop
 */
@Mapper
public interface CrmCluesMapper extends BaseMapperX<CrmCluesDO> {

    IPage<CrmCluesRespVO> selectPageList(@Param("page") IPage mpPage, @Param("dto") CrmCluesPageReqVO pageReqVO, @Param("ids") List<Long> ids);

    IPage<CrmCluesRespVO> selectPageList2(@Param("page") IPage mpPage, @Param("dto") CrmCluesPageReqVO pageReqVO);

    List<CrmCluesStatisticsRespVO> selectStatisticsByUserIds(@Param("ownerUserIds") List<Long> ownerUserIds,
                                                             @Param("createTime") LocalDateTime[] createTime);
}
