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);
}
}