package com.cn.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.cn.domain.Prep; import com.cn.service.PrepService; import com.cn.service.impl.PrepServiceImpl; /** * * @ClassName: PayServlet * @Description: 用户付款的Servlet * @author: ljy * @date: 2019年9月28日 下午10:38:37 */ public class PayServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * 处理GET请求的方法。 * 当客户端发送GET请求到此Servlet时,这个方法会被调用。 * @param request HttpServletRequest对象,包含客户端请求信息。 * @param response HttpServletResponse对象,用于发送响应到客户端。 * @throws ServletException 可能抛出的Servlet异常。 * @throws IOException 可能抛出的IO异常。 */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取请求参数temp,用于判断是否是从支付宝支付接口回跳来的 String temp = request.getParameter("temp"); // 判断是否是从支付宝支付接口回跳来的 if (temp != null && "1".equals(temp)) { // 获取订单ID Integer prepId = Integer.valueOf(request.getParameter("prepId")); // 创建PrepService的实现类对象,用于访问订单相关的业务逻辑 PrepService prepService = new PrepServiceImpl(); // 根据订单ID获取订单对象 Prep prep = prepService.getById(prepId); // 设置付款状态为真 prep.setWay(true); // 更新订单对象 int recordNumber = prepService.update(prep); // 获取PrintWriter对象,用于向客户端发送响应 PrintWriter out = response.getWriter(); // 判断更新是否成功 if (recordNumber == 1) { // 如果成功,弹出提示并跳转到会员中心 out.write(""); } else { // 如果失败,弹出提示并跳转到我的订单页面 out.write(""); } // 关闭PrintWriter对象 out.close(); } // 获取订单ID Integer prepId = Integer.valueOf(request.getParameter("prepId")); // 创建PrepService的实现类对象 PrepService prepService = new PrepServiceImpl(); // 根据订单ID获取订单对象 Prep prep = prepService.getById(prepId); // 将订单对象设置为request属性,以便在支付页面中可以访问 request.setAttribute("prep", prep); // 转发请求到支付接口调用的Servlet request.getRequestDispatcher("AlipayServlet").forward(request, response); // 支付接口调用 end /* 沙箱服务器在每周日12点至周一12点维护,如调用接口失效 ,1.将本段解除注释,2.将 上面代码全部注释 Integer prepId = Integer.valueOf(request.getParameter("prepId")); PrepService prepService = new PrepServiceImpl(); Prep prep = prepService.getById(prepId); prep.setWay(true); int recordNumber = prepService.update(prep); PrintWriter out = response.getWriter(); if(recordNumber == 1) { out.write(""); } else { out.write(""); } out.close(); */ } /** * 处理POST请求的方法。 * 当客户端发送POST请求时,这个方法会被调用。 * @param request HttpServletRequest对象,包含客户端请求信息。 * @param response HttpServletResponse对象,用于发送响应到客户端。 * @throws ServletException 可能抛出的Servlet异常。 * @throws IOException 可能抛出的IO异常。 */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }