package com.cn.service.impl; // 定义服务实现类的包名

import java.sql.SQLException; // 导入SQLException，用于处理数据库操作中可能抛出的异常
import org.apache.log4j.Logger; // 导入Logger类，用于记录日志信息

import com.cn.dao.PmemberDao; // 导入PmemberDao接口，用于访问会员个人信息数据
import com.cn.dao.impl.PmemberDaoImpl; // 导入PmemberDao接口的实现类，用于具体的数据库操作
import com.cn.domain.Pmember; // 导入Pmember类，该类定义了会员个人信息的数据结构
import com.cn.service.PmemberService; // 导入PmemberService接口，该接口定义了会员个人信息服务的方法

/**
 * 实现PmemberService接口的类，提供会员个人信息服务的具体实现。
 * @ClassName: PmemberServiceImpl 类名：PmemberServiceImpl
 * @Description: PmemberService的实现类，用于处理会员个人信息相关的业务逻辑。
 * @author: ljy 实现类的作者
 * @date: 2019年9月14日 下午11:52:30 实现类的创建日期和时间
 */
public class PmemberServiceImpl implements PmemberService {
	
	private PmemberDao pmemberDao = new PmemberDaoImpl(); // 成员变量，用于数据库操作的PmemberDao对象，使用PmemberDaoImpl实现类
	private static Logger logger = Logger.getLogger(PmemberServiceImpl.class); // 日志记录器，用于记录日志信息

	/**
	 * 添加会员个人信息的方法实现。
	 * @param pmember 要添加的会员个人信息对象。
	 * @return 返回记录数，表示添加操作影响的行数。
	 */
	@Override
	public int add(Pmember pmember) {
		int recordNumber = 0; // 记录数，默认为0
		if(pmember!=null) { // 检查传入的会员个人信息对象是否为null
			try {
				recordNumber = pmemberDao.add(pmember); // 调用PmemberDao的add方法添加会员个人信息
			} catch (SQLException e) {
				logger.error(e.toString()); // 记录错误日志
				e.printStackTrace(); // 打印异常堆栈跟踪
			}
		}else {
			logger.debug("PmemberServiceImpl.add 中 pmember为null"); // 记录调试日志，当pmember为null时
		}
		return recordNumber; // 返回记录数
	}

	/**
	 * 根据会员个人信息ID删除会员个人信息的方法实现。
	 * @param pmemberId 要删除的会员个人信息ID。
	 * @return 返回记录数，表示删除操作影响的行数。
	 */
	@Override
	public int delete(Integer pmemberId) {
		int recordNumber = 0; // 记录数，默认为0
		if(pmemberId!=null && pmemberId!=0) { // 检查传入的会员个人信息ID是否为null或0
			try {
				recordNumber = pmemberDao.delete(pmemberId); // 调用PmemberDao的delete方法删除会员个人信息
			} catch (SQLException e) {
				logger.error(e.toString()); // 记录错误日志
				e.printStackTrace(); // 打印异常堆栈跟踪
			}
		}else {
			logger.debug("PmemberServiceImpl.delete 中 pmemberId为null或0"); // 记录调试日志，当pmemberId为null或0时
		}
		return recordNumber; // 返回记录数
	}

	/**
	 * 更新会员个人信息的方法实现。
	 * @param pmember 包含更新信息的会员个人信息对象。
	 * @return 返回记录数，表示更新操作影响的行数。
	 */
	@Override
	public int update(Pmember pmember) {
		int recordNumber = 0; // 记录数，默认为0
		if(pmember!=null) { // 检查传入的会员个人信息对象是否为null
			try {
				recordNumber = pmemberDao.update(pmember); // 调用PmemberDao的update方法更新会员个人信息
			} catch (SQLException e) {
				logger.error(e.toString()); // 记录错误日志
				e.printStackTrace(); // 打印异常堆栈跟踪
			}
		}else {
			logger.debug("PmemberServiceImpl.update 中 pmember为null"); // 记录调试日志，当pmember为null时
		}
		return recordNumber; // 返回记录数
	}

	/**
	 * 根据会员ID查询会员个人信息的方法实现。
	 * @param memberId 会员ID。
	 * @return 返回Pmember对象，包含会员的个人信息。
	 */
	@Override
	public Pmember getPmemberByMemberId(Integer memberId) {
		Pmember pmember = null; // 会员个人信息对象，默认为null
		if(memberId!=null && memberId!=0) { // 检查传入的会员ID是否为null或0
			try {
				pmember = pmemberDao.getPmemberByMemberId(memberId); // 调用PmemberDao的getPmemberByMemberId方法根据会员ID获取会员个人信息
			} catch (SQLException e) {
				logger.error(e.toString()); // 记录错误日志
				e.printStackTrace(); // 打印异常堆栈跟踪
			}
		} else {
			logger.debug("PmemberServiceImpl.getPmemberByMemberId 中 memberId为null或0"); // 记录调试日志，当memberId为null或0时
		}		
		return pmember; // 返回会员个人信息对象
	}

	/**
	 * 根据ID查询会员个人信息的方法实现。
	 * @param pmemberId 会员个人信息ID。
	 * @return 返回Pmember对象，包含会员的个人信息。
	 */
	@Override
	public Pmember getById(Integer pmemberId) {
		Pmember pmember = null; // 会员个人信息对象，默认为null
		if(pmemberId!=null && pmemberId!=0) { // 检查传入的会员个人信息ID是否为null或0
			try {
				pmember = pmemberDao.getById(pmemberId); // 调用PmemberDao的getById方法根据ID获取会员个人信息
			} catch (SQLException e) {
				logger.error(e.toString()); // 记录错误日志
				e.printStackTrace(); // 打印异常堆栈跟踪
			}
		}else {
			logger.debug("PmemberServiceImpl.getById 中 pmemberId为null或0"); // 记录调试日志，当pmemberId为null或0时
		}
		return pmember; // 返回会员个人信息对象
	}

}