package com.ruoyi.base.service;

import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.base.domain.BaseCard;
import com.ruoyi.base.vo.BaseCardVO;

import java.util.List;

/**
 * 会员卡Service接口
 *
 * @author vinjor-m
 * @date 2025-03-17
 */
public interface IBaseCardService extends IService<BaseCard> {
    IPage<BaseCard> queryListPage(BaseCard pageReqVO, Page<BaseCard> page);

    /**
     * 通过会员卡id查询会员及权益
     *
     * @param cardId 卡片id
     * @return com.ruoyi.base.vo.BaseCardVO
     * @author PQZ
     * @date 16:25 2025/3/26
     **/
    BaseCardVO queryByCardId(String cardId);

    /**
     * 会员卡数组
     * @author PQZ
     * @date 10:17 2025/4/7
     * @param userType 用户类型
     * @return java.util.List<com.ruoyi.base.domain.BaseCard>
    **/
    JSONArray baseCardList(String userType);

    /**
     * 通过userType查询会员卡
     * @author PQZ
     * @date 15:12 2025/4/7
     * @param userType 用户类型
     * @return java.util.List<com.ruoyi.base.domain.BaseCard>
    **/
    List<BaseCard> listByUserType(String userType);
}
