package beilv.vipCard.service;

import beilv.common.core.domain.AjaxResult;
import beilv.vipCard.domain.Exchange;
import beilv.vipCard.domain.VipCard;

import java.util.List;

/**
 * 储值会员卡Service接口
 *
 * @author LG
 * @date 2025-11-12
 */
public interface IVipCardService {
    /**
     * 查询储值会员卡
     *
     * @param id 储值会员卡主键
     * @return 储值会员卡
     */
    public VipCard selectVipCardById(String id);

    /**
     * 查询储值会员卡列表
     *
     * @param vipCard 储值会员卡
     * @return 储值会员卡集合
     */
    public List<VipCard> selectVipCardList(VipCard vipCard);

    /**
     * 新增储值会员卡
     *
     * @param vipCard 储值会员卡
     * @return 结果
     */
    public String insertVipCard(VipCard vipCard);

    /**
     * 修改储值会员卡
     *
     * @param vipCard 储值会员卡
     * @return 结果
     */
    public int updateVipCard(VipCard vipCard);

    /**
     * 批量删除储值会员卡
     *
     * @param ids 需要删除的储值会员卡主键集合
     * @return 结果
     */
    public int deleteVipCardByIds(String ids);

    /**
     * 删除储值会员卡信息
     *
     * @param id 储值会员卡主键
     * @return 结果
     */
    public int deleteVipCardById(String id);

    int refundById(VipCard vipCard);

    boolean haveVipCard(String userId);

    VipCard selectVipCardByUserId(String userId);

    AjaxResult exchange(Exchange exchange);
}
