pull/1/head
puxcofief 8 months ago
parent fa85a64c82
commit 4e3995ad0c

@ -1,63 +1,80 @@
package com.cn.servlet;
package com.cn.servlet; // 定义Servlet所在的包名
import java.io.IOException;
import java.io.PrintWriter;
import java.io.IOException; // 导入IOException用于处理输入输出异常
import java.io.PrintWriter; // 导入PrintWriter用于向客户端发送字符文本数据
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException; // 导入ServletException用于处理Servlet运行时的异常
import javax.servlet.http.HttpServlet; // 导入HttpServlet是所有HTTP servlet的父类
import javax.servlet.http.HttpServletRequest; // 导入HttpServletRequest代表客户端的请求信息
import javax.servlet.http.HttpServletResponse; // 导入HttpServletResponse代表服务器对客户端的响应信息
import com.cn.domain.Train;
import com.cn.service.PrepService;
import com.cn.service.TrainService;
import com.cn.service.impl.PrepServiceImpl;
import com.cn.service.impl.TrainServiceImpl;
import com.cn.domain.Train; // 导入Train类该类定义了车次的数据结构
import com.cn.service.PrepService; // 导入PrepService接口该接口定义了订单服务的方法
import com.cn.service.TrainService; // 导入TrainService接口该接口定义了车次服务的方法
import com.cn.service.impl.PrepServiceImpl; // 导入PrepService接口的实现类用于具体的订单业务操作
import com.cn.service.impl.TrainServiceImpl; // 导入TrainService接口的实现类用于具体的车次业务操作
/**
*
* @ClassName: ChangePrepServlet
* @Description:
* @author: ljy
* @date: 2019930 5:53:36
* ChangePrepServlet
* @ClassName: ChangePrepServlet ChangePrepServlet
* @Description:
* @author: ljy Servlet
* @date: 2019930 5:53:36 Servlet
*/
public class ChangePrepServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L; // 用于序列化
/**
*
*/
public ChangePrepServlet() {
super(); // 调用父类的构造函数
// TODO Auto-generated constructor stub
}
/**
* GET
* @param request HttpServletRequest
* @param response HttpServletResponse
* @throws ServletException Servlet
* @throws IOException
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// prepId这是从UpdatePrepServlet过来的实现改签业务
// 从请求中获取订单ID这是从UpdatePrepServlet传递过来的用于改签业务
Integer prepId = (Integer) request.getAttribute("prepId");
// 创建订单服务对象
PrepService prepService = new PrepServiceImpl();
// 创建车次服务对象
TrainService trainService = new TrainServiceImpl();
// 将订单信息中的trainID先拉取出来下面更改车次座位数需要
// 根据订单ID获取车次ID用于后续更改车次座位数
Integer trainId = prepService.getById(prepId).getTrainId();
// 删除这个订单
// 删除订单
int recordNumber = 0;
recordNumber = prepService.delete(prepId);
recordNumber = prepService.delete(prepId); // 根据订单ID删除订单
// 获取PrintWriter对象用于向客户端发送响应
PrintWriter out = response.getWriter();
if (recordNumber == 1) {
// 座位数+1
Train train = trainService.getById(trainId);
train.setSeatNumber(train.getSeatNumber() + 1);
trainService.update(train);
// 如果订单删除成功,更新车次的座位数
Train train = trainService.getById(trainId); // 根据车次ID获取车次对象
train.setSeatNumber(train.getSeatNumber() + 1); // 座位数加1
trainService.update(train); // 更新车次对象
// 将改签开始的信息存到session告知BookingServlet这是改签
// 将改签开始的信息存储到会话中告知BookingServlet这是改签操作
request.getSession().setAttribute("changePrep", "true");
// 跳转
// 向客户端发送JavaScript代码弹出提示并跳转到车次查询页面
out.write("<script>alert('请您选择新的车次!');" +
"window.location.href='GetByStartEndStationServlet'</script>");
} else {
out.write("<script>alert('很抱歉,改签失败!');" +
// 如果订单删除失败向客户端发送JavaScript代码弹出提示并跳转到我的订单页面
out.write("<script>alert('很抱歉,改签失败!');" +
"window.location.href='MyPrepServlet'</script>");
}
}
}
}
Loading…
Cancel
Save