package cn.iocoder.yudao.module.member.service;

import cn.iocoder.yudao.module.member.entity.MemberLevel;
import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO;
import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO;
import cn.iocoder.yudao.module.member.vo.MemberLevelSaveReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 会员等级 Service 接口
 *
 * @author pqz
 */
public interface MemberLevelService extends IService<MemberLevel> {


    /**
     * 保存会员等级
     *
     * @param saveReqVO MemberLevelSaveReqVO
     * @author PQZ
     * @date 13:39 2024/9/19
     **/
    void saveLevel(MemberLevelSaveReqVO saveReqVO);

    /**
     * 删除会员等级
     *
     * @param id 会员等级id
     * @author PQZ
     * @date 13:41 2024/9/19
     **/
    void deleteLevel(String id);

    /**
     * 根据会员等级id查询会员等级信息
     *
     * @param id 会员等级id
     * @return cn.iocoder.yudao.module.member.entity.MemberLevel
     * @author PQZ
     * @date 13:41 2024/9/19
     **/
    MemberLevel getLevel(String id);

    /**
     * 分页查询会员等级
     *
     * @param pageReqVO MemberLevelPageReqVO实体
     * @return cn.iocoder.yudao.framework.common.pojo.PageResult<cn.iocoder.yudao.module.member.entity.MemberLevel>
     * @author PQZ
     * @date 13:42 2024/9/19
     **/
    IPage<MemberLevelRespVO> queryListPage(MemberLevelPageReqVO pageReqVO, Page<MemberLevelRespVO> page);

    /**
     * 获取全部会员
     *
     **/
    List<MemberLevel> queryListAll(MemberLevelPageReqVO pageReqVO);


}