PublicPoolService.java 1.95 KB
package cn.fw.valhalla.service.data;

import cn.fw.valhalla.domain.db.pool.PublicPool;
import cn.fw.valhalla.domain.dto.PublicPoolDTO;
import cn.fw.valhalla.domain.dto.PublicPoolReportDTO;
import cn.fw.valhalla.domain.dto.PublicPoolReportQueryDTO;
import cn.fw.valhalla.domain.query.PublicPoolQueryVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author : kurisu
 * @className : PublicPoolService
 * @description : 公共池
 * @date: 2020-09-25 16:09
 */
public interface PublicPoolService extends IService<PublicPool> {
    /**
     * 根据车牌号查询
     *
     * @param vin
     * @param groupId
     * @return
     */
    PublicPool queryByVin(String vin, Long groupId);

    /**
     * 移除公共池
     *
     * @param customerId
     * @param groupId
     */
    @Transactional(rollbackFor = Exception.class)
    void removeByCustomerId(Long customerId, Long groupId);

    /**
     * 移除公共池
     *
     * @param vin
     * @param groupId
     */
    @Transactional(rollbackFor = Exception.class)
    void removeByVin(String vin, Long groupId);

    /**
     * 移除公共池
     *
     * @param vinList
     * @param groupId
     */
    @Transactional(rollbackFor = Exception.class)
    void removeBatchByVin(List<String> vinList, Long groupId);

    /**
     * 查询公共池
     *
     * @param queryVO
     * @return
     */
    List<PublicPoolDTO> publicList(PublicPoolQueryVO queryVO);

    /**
     * 查询总数
     *
     * @param queryVO
     * @return
     */
    Long publicListCount(PublicPoolQueryVO queryVO);

    /**
     * 根据门店id查询对应车架号
     *
     * @param shopIds
     * @return
     */
    List<String> queryIdListByShops(List<Long> shopIds);

    /**
     * 查询公共池来源统计
     * @param dto
     * @return
     */
    List<PublicPoolReportDTO> countPublicPoolList(PublicPoolReportQueryDTO dto);
}