package com.crm.ucard.service;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.dto.ucard.CardNumberDto;
import com.crm.rely.backend.core.entity.base.BaseDeleteEntities;
import com.crm.rely.backend.core.entity.ucard.CardNumberAddEntity;
import com.crm.rely.backend.core.entity.ucard.CardNumberPageEntity;
import com.crm.rely.backend.core.entity.ucard.CardNumberUpdateEntity;
import com.crm.rely.backend.core.entity.ucard.CardNumberVerifyEntity;
import com.crm.rely.backend.exception.ServiceException;

import java.util.List;

public interface UcardNumberService {
    /**
     * 根据卡号修改状态
     */
    void saveCardNumberStatus(String cardNumber, Integer status) throws ServiceException;
    /**
     * 校验实体卡卡号是否使用过
     */
    BaseResultDto cardNumberVerify(CardNumberVerifyEntity entity) throws ServiceException;
    /**
     * 导入卡号
     */
    BaseResultDto cardNumberImport(List<CardNumberAddEntity> entityList) throws ServiceException;
    /**
     * 卡号列表
     */
    ResultWithPagerDto<CardNumberDto> queryCardNumberList(CardNumberPageEntity entity) throws ServiceException;
    /**
     * 卡号下拉列表
     */
    BaseResultDto<CardNumberDto> queryCardNumberDropdown(CardNumberPageEntity entity) throws ServiceException;
    /**
     * 修改卡号状态
     */
    BaseResultDto saveCardNumberStatus(CardNumberUpdateEntity entity) throws ServiceException;
    /**
     * 删除实体卡卡号
     */
    BaseResultDto deleteCardNumber(BaseDeleteEntities entity);
}
