package com.cn.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.cn.domain.Member;
import com.cn.domain.Pmember;
import com.cn.domain.Prep;
import com.cn.service.PmemberService;
import com.cn.service.PrepService;
import com.cn.service.impl.PmemberServiceImpl;
import com.cn.service.impl.PrepServiceImpl;

/**
 * 
 * @ClassName: MyPrepServlet 
 * @Description: 用户我的订单的Servlet
 * @author: ljy
 * @date: 2019年9月29日 下午3:30:45
 */
public class MyPrepServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * HttpServlet的构造函数。
     */
    public MyPrepServlet() {
        super();
        // 构造函数中的代码，通常不需要自定义操作，因为父类已经处理
    }

    /**
     * 处理GET请求的方法。
     * 当客户端发送GET请求时，这个方法会被调用。
     * @param request HttpServletRequest对象，包含客户端请求信息。
     * @param response HttpServletResponse对象，用于发送响应到客户端。
     * @throws ServletException 可能抛出的Servlet异常。
     * @throws IOException 可能抛出的IO异常。
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 从Session中获取当前登录的会员对象
        Member member = (Member) request.getSession().getAttribute("member");
        // 创建PmemberService的实现类对象，用于访问会员相关的业务逻辑
        PmemberService pmemberService = new PmemberServiceImpl();
        // 根据会员ID获取Pmember对象
        Pmember pmember = pmemberService.getPmemberByMemberId(member.getMemberId());
        // 创建PrepService的实现类对象，用于访问订单相关的业务逻辑
        PrepService prepService = new PrepServiceImpl();
        // 根据PmemberID获取订单列表
        List<Prep> prepList = prepService.getPrepByPmemberId(pmember.getPmemberId());
        // 判断订单列表是否不为空且有订单
        if(prepList != null && prepList.size() > 0) {
            // 如果有订单，则将订单列表设置为request的属性，以便在JSP页面中可以访问
            request.setAttribute("prepList", prepList);
        } else {
            // 如果没有订单，则设置一个消息属性，提示用户没有任何订单
            request.setAttribute("msg", "您没有任何订单！");
        }
        
        // 使用RequestDispatcher将请求转发到“我的订单”的JSP页面
        request.getRequestDispatcher("pages/user/myCenter/right/myPrep.jsp").forward(request, response);
        
    }
}