package com.ruoyi.voluntary.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.voluntary.domain.BusiCards;

/**
 * vip卡Service接口
 *
 * @author voluntary
 * @date 2022-11-20
 */
public interface IBusiCardsService {
    /**
     * 查询vip卡
     *
     * @param cardId vip卡主键
     * @return vip卡
     */
    public BusiCards selectBusiCardsByCardId(Long cardId);

    /**
     * 查询vip卡列表
     *
     * @param busiCards vip卡
     * @return vip卡集合
     */
    public List<BusiCards> selectBusiCardsList(BusiCards busiCards);

    BusiCards selectBusiCardsByCardNo(String cardNo);

    public BusiCards selectOneECard();

    List<BusiCards> selectBusiCardsByCardNos(List<String> cardNos);

    public int updateBusiCardsBatch(Integer status);

    /**
     * 新增vip卡
     *
     * @param busiCards vip卡
     * @return 结果
     */
    public int insertBusiCards(BusiCards busiCards);

    /**
     * 修改vip卡
     *
     * @param busiCards vip卡
     * @return 结果
     */
    public int updateBusiCards(BusiCards busiCards);

    /**
     * 批量删除vip卡
     *
     * @param cardIds 需要删除的vip卡主键集合
     * @return 结果
     */
    public int deleteBusiCardsByCardIds(Long[] cardIds);

    /**
     * 删除vip卡信息
     *
     * @param cardId vip卡主键
     * @return 结果
     */
    public int deleteBusiCardsByCardId(Long cardId);

    public List<BusiCards> createCard(BusiCards busiCards);

    public String distributionCard(BusiCards busiCards);

    /**
     * 批量操作处理
     *
     * @param data
     * @return
     */
    public Integer batch(JSONObject data);

    /**
     * 按代理商统计
     *
     * @param busiCards
     * @return
     */
    @SuppressWarnings("rawtypes")
    public List<Map> staticByAgent(BusiCards busiCards);

    public List<BusiCards> selectBusiCardsClosed();

}
