package cn.fw.valhalla.service.data; import cn.fw.valhalla.domain.db.pool.StammkundePool; import cn.fw.valhalla.domain.dto.StammkundeDto; import cn.fw.valhalla.domain.dto.StammkundePoolDTO; import cn.fw.valhalla.domain.dto.StammkundePoolReportDTO; import cn.fw.valhalla.domain.dto.StammkundePoolReportQueryDTO; import cn.fw.valhalla.domain.enums.DefeatReasonEnum; import cn.fw.valhalla.domain.query.StammkundePoolQueryVO; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.lang.NonNull; import java.util.List; /** * @author : kurisu * @className : StammkundePoolService * @description : 保有客池 * @date: 2020-11-11 17:24 */ public interface StammkundePoolService extends IService { /** * 作废有效档案(没有新的顾问接手档案的情况) * * @param customerId * @param groupId * @param reason * @return */ boolean reject(Long customerId, Long groupId, DefeatReasonEnum reason); /** * 作废档案 * * @param dto * @return */ boolean reject(StammkundeDto dto); /** * 作废有效档案 * * @param userId * @param shopId * @param groupId * @param reason * @return */ boolean reject(Long userId, Long shopId, Long groupId, DefeatReasonEnum reason); /** * 激活档案 * * @param customerId * @param groupId * @param shopId */ void aktiv(Long customerId, Long groupId, Long shopId); /** * 激活档案 * * @param id */ void aktiv(Long id); /** * 查询可激活的档案 * * @param customerId * @param groupId * @param shopId * @return */ StammkundePool queryAktivAble(Long customerId, Long groupId, Long shopId); /** * 保有客池 * * @param queryVO * @return */ List stammkundeList(StammkundePoolQueryVO queryVO); /** * 保有客池总数 * * @param queryVO * @return */ long stammkundeListCount(StammkundePoolQueryVO queryVO); /** * 删除保有客数据 * 用于档案回滚的场景 * * @param customerId * @param groupId */ void removeByCustomerId(@NonNull Long customerId, @NonNull Long groupId); /** * 查询渠道到店统计 * @param dto * @return */ List countStammkundePoolList(StammkundePoolReportQueryDTO dto); }