CustomerCluePoolService.java 1.96 KB
package cn.fw.valhalla.service.data;

import cn.fw.valhalla.domain.db.pool.CustomerCluePool;
import cn.fw.valhalla.domain.dto.CustomerCluePoolDTO;
import cn.fw.valhalla.domain.enums.FollowTypeEnum;
import cn.fw.valhalla.domain.query.CustomerCluePoolQueryVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springframework.lang.Nullable;

import java.util.List;

/**
 * @author : kurisu
 * @className : CustomerCluePoolService
 * @description : 客户线索池
 * @date: 2020-11-12 09:35
 */
public interface CustomerCluePoolService extends IService<CustomerCluePool> {
    /**
     * 通过refererId查询线索
     *
     * @param refererId
     * @param groupId
     * @param type
     * @return
     */
    @Nullable
    CustomerCluePool queryByRefererId(Long refererId, Long groupId, FollowTypeEnum type);

    /**
     * 通过vin查询线索
     *
     * @param vin
     * @param groupId
     * @param type
     * @return
     */
    @Nullable
    CustomerCluePool queryByVin(String vin, Long groupId, FollowTypeEnum type);

    /**
     * 通过车牌号查询线索
     *
     * @param plateNo
     * @param groupId
     * @param type
     * @return
     */
    @Nullable
    CustomerCluePool queryByPlateNo(String plateNo, Long groupId, FollowTypeEnum type);

    /**
     * 查询客户线索池
     *
     * @param queryVO
     * @return
     */
    List<CustomerCluePoolDTO> clueList(CustomerCluePoolQueryVO queryVO);

    /**
     * 总数
     * @param queryVO
     * @return
     */
    Long clueListCount(CustomerCluePoolQueryVO queryVO);

    /**
     * 成交数
     * @param queryVO
     * @return
     */
    Long completeNum(CustomerCluePoolQueryVO queryVO);

    /**
     * 战败数
     * @param queryVO
     * @return
     */
    Long defeatNum(CustomerCluePoolQueryVO queryVO);

    /**
     * 进行中的数量
     * @param queryVO
     * @return
     */
    Long onGoingNum(CustomerCluePoolQueryVO queryVO);
}