package com.xiaoniu.system.operation.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoniu.common.core.resdata.RowsData;
import com.xiaoniu.common.core.vo.LabelAndValueVO;
import com.xiaoniu.system.operation.member.domain.TbMember;
import com.xiaoniu.system.operation.member.dto.AddMemberDTO;
import com.xiaoniu.system.operation.member.dto.EditMemberDTO;
import com.xiaoniu.system.operation.member.dto.MemberDetailsVO;
import com.xiaoniu.system.operation.member.dto.MemberListQueryDTO;
import com.xiaoniu.system.operation.member.vo.MemberListVO;

import java.util.List;

/**
 * <p>
 * 会员权益说明 服务类
 * </p>
 *
 * @author haoxuyang
 * @since 2024-10-17 09:52:31
 */
public interface ITbMemberService extends IService<TbMember> {

    /**
     * 会员权益列表
     *
     * @param dto dto
     * @return RowsData<MemberListVO>
     */
    RowsData<MemberListVO> memberList(MemberListQueryDTO dto);

    /**
     * 新增会员权益
     *
     * @param dto dto
     */
    void addMember(AddMemberDTO dto);

    /**
     * 修改会员权益
     *
     * @param dto dto
     */
    void editMember(EditMemberDTO dto);

    /**
     * 会员权益详情
     *
     * @param id 会员id
     * @return MemberDetailsVO
     */
    MemberDetailsVO details(Long id);

    /**
     * 删除会员权益
     *
     * @param id 会员id
     */
    void delMember(Long id);

    /**
     * memberList
     *
     * @param memberName 会员名称
     * @return List<LabelAndValueVO>
     */
    List<LabelAndValueVO> getMemberList(String memberName);
}
