package com.cn.service;

import java.util.List; // 导入Java的List接口，用于操作列表集合

import com.cn.domain.Member; // 导入Member类，该类定义了会员的数据结构

/**
 * 定义会员服务接口，该接口规定了会员管理的基本操作。
 * @description 会员服务接口，提供添加、删除、更新、查询会员信息的方法。
 * @author lxs 接口作者
 * @version 1.0 接口版本号
 * @since 1.0 从版本1.0开始存在
 * @date 2019年9月13日 接口创建日期
 */
public interface MemberService {
    
    /**
     * 添加一个新的会员。
     * @param member 要添加的会员对象，包含会员的详细信息。
     * @return 返回一个整数值，表示操作的状态，通常0表示成功。
     */
    int addMember(Member member);

    /**
     * 根据会员ID删除一个会员。
     * @param memberId 要删除的会员的ID。
     * @return 返回一个整数值，表示操作的状态，通常0表示成功。
     */
    int deleteMember(int memberId);

    /**
     * 更新一个会员的信息。
     * @param member 包含更新信息的会员对象。
     * @return 返回一个整数值，表示操作的状态，通常0表示成功。
     */
    int updateMember(Member member);

    /**
     * 获取所有会员的信息。
     * @return 返回一个List集合，包含所有会员的详细信息。
     */
    List<Member> getAllMember();

    /**
     * 根据会员ID获取一个会员的信息。
     * @param memberId 要查询的会员的ID。
     * @return 返回一个Member对象，包含该会员的详细信息。
     */
    Member getMemberById(int memberId);

    /**
     * 根据会员名（用户名）获取一个会员的信息。
     * @param userName 要查询的会员的用户名。
     * @return 返回一个Member对象，包含该会员的详细信息。
     */
    Member getMemberByName(String userName);
}