CustomerMapper.java 2.42 KB
package cn.fw.valhalla.dao.mapper;

import cn.fw.valhalla.domain.db.customer.Customer;
import cn.fw.valhalla.domain.dto.CustomerDetailDto;
import cn.fw.valhalla.domain.dto.StammkundeAnalyseDTO;
import cn.fw.valhalla.domain.query.CustomCustomerQuery;
import cn.fw.valhalla.domain.query.CustomerQueryVO;
import cn.fw.valhalla.domain.query.StammkundeAnalyseQueryVO;
import cn.fw.valhalla.domain.vo.customer.CustomerListVO;
import cn.fw.valhalla.sdk.param.CusCntReq;
import cn.fw.valhalla.sdk.result.BasicsCustomerDTO;
import cn.fw.valhalla.sdk.result.CusCntResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author : kurisu
 * @className : CustomerMapper
 * @description : 车辆档案信息
 * @date: 2020-08-11 16:57
 */
@Repository
public interface CustomerMapper extends BaseMapper<Customer> {
    /**
     * app分页查询
     *
     * @param startIndex
     * @param pageSize
     * @param queryVO
     * @return
     */
    List<CustomerListVO> getAppPageList(@Param("startIndex") Integer startIndex, @Param("pageSize") Integer pageSize, @Param("condition") CustomerQueryVO queryVO);

    /**
     * 查询指定条件的客户
     *
     * @param queryVO
     * @return
     */
    List<StammkundeAnalyseDTO> analyseList(@Param("condition") StammkundeAnalyseQueryVO queryVO);

    /**
     * 查询自定义参数的档案信息
     *
     * @param query
     * @return
     */
    List<CustomerDetailDto> queryCustomList(@Param("condition") CustomCustomerQuery query);

    /**
     * 查询自定义参数的档案数量
     *
     * @param query
     * @return
     */
    Long queryCustomCount(@Param("condition") CustomCustomerQuery query);

    /**
     * 关键字全匹配查询
     *
     * @param keyword
     * @param groupId
     * @return
     */
    List<BasicsCustomerDTO> queryByKeyword(@Param("keyword") String keyword, @Param("groupId") Long groupId);

    /**
     * 查询门店保有客数量
     *
     * @param cusCntReq 门店保有客数量
     * @return 门店保有客数据
     */
    List<CusCntResult> queryShopCusCnt(@Param("req") CusCntReq cusCntReq);

    /**
     * 查询服务顾问保有客数量
     *
     * @param cusCntReq 服务顾问保有客数量
     * @return 服务顾问保有客数据
     */
    List<CusCntResult> queryAdviserCusCnt(@Param("req") CusCntReq cusCntReq);

}