package com.nova.sankuai.infra.mapper;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.nova.sankuai.domain.dto.CustomerPageDto;
|
import com.nova.sankuai.domain.entity.Customer;
|
import com.nova.sankuai.domain.vo.InletFlowProportionVo;
|
import com.nova.sankuai.domain.vo.customer.CustomerCountVo;
|
import com.nova.sankuai.domain.vo.customer.CustomerVo;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author weikangdi
|
*/
|
@Component
|
@Mapper
|
public interface CustomerMapper extends BaseMapper<Customer> {
|
/**
|
* 分页查询客户信息
|
*
|
* @param page
|
* @param customerPageDto
|
* @return
|
*/
|
IPage<CustomerVo> pageModel(@Param("page") Page page, @Param("customerPageDto") CustomerPageDto customerPageDto);
|
|
/**
|
* 批量根据机构ID列表查询当天内客户数据
|
*
|
* @param endOfDay
|
* @param beginOfDay
|
* @param list
|
* @return
|
*/
|
List<CustomerCountVo> getCustomersOfDay(@Param("list") List<Long> list, @Param("beginOfDay") Date beginOfDay, @Param("endOfDay") Date endOfDay);
|
|
/**
|
* 批量获取机构的客户历史推送数量
|
*
|
* @param ids
|
* @return
|
*/
|
List<CustomerCountVo> getCustomerCounts(@Param("ids") List<Long> ids);
|
|
/**
|
* 获取机构的客户推送数量
|
*
|
* @param id
|
* @param beginOfDay
|
* @param endOfDay
|
* @return
|
*/
|
CustomerCountVo getCustomerCount(@Param("id") Long id, @Param("beginOfDay") Date beginOfDay, @Param("endOfDay") Date endOfDay);
|
|
/**
|
* 获取用户有效记录
|
*
|
* @param phone
|
* @return
|
*/
|
List<Customer> getUserRecord(@Param("phone") String phone);
|
|
/**
|
* 获取最近一条客户记录(名字不为空)
|
*
|
* @param phone
|
* @return
|
*/
|
Customer getLatestCustomerRecord(@Param("phone") String phone);
|
|
|
/**
|
* 查询渠道占比
|
* @param startDate
|
* @param endDate
|
* @param chCode
|
* @param startDayStr
|
* @param endDayStr
|
* @param hourStr
|
* @return
|
*/
|
List<InletFlowProportionVo> getInletFlowProportion(@Param("startDate") Date startDate,@Param("endDate") Date endDate,
|
@Param("chCode") Integer chCode,
|
@Param("startDayStr") String startDayStr,
|
@Param("endDayStr") String endDayStr,
|
@Param("hourStr") String[] hourStr);
|
|
}
|