📄 reservationzone.java
字号:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.sun.corba.se.pept.protocol.ServerRequestDispatcher;
/**
* Servlet implementation class for Servlet: member
*
*/
public class reservationZone extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
String booktype,custype,query;
private double price=0.0,discount=1.0;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public reservationZone() {
super();
}
/* (non-Javadoc)
* @see javax.servlet.Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("txt/html");
PrintWriter out=response.getWriter();
HttpSession session = request.getSession(true); //set session
/*read data from request*/
String std=request.getParameter("start_date");
String end=request.getParameter("end_date");
String nights=request.getParameter("nights");
String type=request.getParameter("type");
String price=request.getParameter("price");
String nop=request.getParameter("nop");
String fname=request.getParameter("fname");
String lname=request.getParameter("lname");
String dob=request.getParameter("dob");
String contact=request.getParameter("contact");
String disc=request.getParameter("disc");
String room_id=request.getParameter("room_id");
String add=request.getParameter("add");
getCurrentDate getcd=new getCurrentDate();
String now=getcd.getDate();//output date
userBean uber = (userBean)session.getAttribute("uber"); //get session bean
if (uber == null) { uber = new userBean(); }//set a new bean object
else ;
roomBean rmb = (roomBean)session.getAttribute("rmb"); //get session bean
if (rmb == null) { rmb = new roomBean(); }//set a new bean object
else ;
resBean resb = (resBean)session.getAttribute("resb"); //get session bean
if (resb == null) { resb = new resBean(); }//set a new bean object
else ;
ServletContext context = getServletContext();
insert in=new insert();
/*check check in and check out date available*/
/*check customer type & book type*/
if (request.getParameter("booktype").equals("room") && request.getParameter("custype").equals("mem"))
{
double pr=0;
pr=Double.valueOf(price)*Double.valueOf(disc);
price=String.valueOf(pr);
String bookID="bk"+dateRandString();
String hisID="his"+dateRandString();
resb.setResID(bookID);
resb.setStartDate(std);
resb.setEndDate(end);
resb.setFlprice(price);
resb.setFname(fname);
resb.setLname(lname);
resb.setDob(dob);
resb.setContact(contact);
resb.setRoomType(type);
resb.setUsername(uber.getUsername());
query="select times from Room where ID='"+room_id+"';";
String time=in.getQuery(query, "times");
int times=Integer.valueOf(time)+1;
time=String.valueOf(times);
try
{
query="insert into Booking (ID,room_id,dt,start_date,fin_Date,price,content) values('"+bookID+"','"+room_id+"','"+now+"','"+std+"','"+end+"','"+price+"','"+add+"');";
in.update(query);
query="insert into History (ID,user_id,type,dt,processor,related_id) values ('"+hisID+"','"+uber.getId()+"','booking','"+now+"','"+uber.getUsername()+"','"+bookID+"');";
in.update(query);
query="UPDATE Room SET status='booked',times='"+time+"' WHERE ID='"+room_id+"';";
in.update(query);
//set reservation bean
query="select * from user where ID="+uber.getId()+";";
String scores=in.getQuery(query, "score");
double score=Double.valueOf(scores);
score=score+pr*0.4;
scores=String.valueOf(score);
query="update User set score='"+scores+"' where ID="+uber.getId()+";";
in.update(query);
query="select * from User where ID="+uber.getId()+";";
String sce=in.getQuery(query, "score");
uber.setScore(sce);
double sc=score;
if (sc>0 && sc<100)
{
uber.setDiscount("1.0");
}
else if (sc>=100 && sc<300)
{
uber.setDiscount("0.95");
}
else if (sc>=300 && sc<500)
{
uber.setDiscount("0.90");
}
else if (sc>=500 && sc<1000)
{
uber.setDiscount("0.85");
}
else if (sc>=1000 && sc<1500)
{
uber.setDiscount("0.80");
}
else uber.setDiscount("0.78");
//set scores
}
catch (Exception e) {
out.println("Other1: Error occur!"+e.getCause());
out.println("Details: "+e.getStackTrace());
rmb.setMessage("Booking Fail:"+e.getCause());
response.sendRedirect("reservationZone.jsp");
}
rmb.setMessage("Booking Success!");
response.sendRedirect("newBill.jsp");
}
else if(request.getParameter("booktype").equals("room") && request.getParameter("custype").equals("temp"))
{
double pr=0;
pr=Double.valueOf(price)*Double.valueOf(disc);
price=String.valueOf(pr);
String bookID="bk"+dateRandString();
String hisID="his"+dateRandString();
String tempID="tem"+dateRandString();
uber.setUsername("Temp");
uber.setId(tempID);
uber.setType("Customer");
uber.setFname(fname);
uber.setLname(lname);
uber.setDob(dob);
uber.setTel(contact);
//set user bean and reservation bean
resb.setResID(bookID);
resb.setStartDate(std);
resb.setEndDate(end);
resb.setFlprice(price);
resb.setFname(fname);
resb.setLname(lname);
resb.setDob(dob);
resb.setContact(contact);
resb.setRoomType(type);
resb.setUsername(uber.getUsername());
query="select times from Room where ID='"+room_id+"';";
String time=in.getQuery(query, "times");
int times=Integer.valueOf(time)+1;
time=String.valueOf(times);
try
{
query="insert into Booking (ID,room_id,dt,start_date,fin_Date,price,content) values('"+bookID+"','"+room_id+"','"+now+"','"+std+"','"+end+"','"+price+"','none');";
in.update(query);
query="insert into History (ID,user_id,type,dt,processor,related_id) values ('"+hisID+"','"+tempID+"','booking','"+now+"','"+uber.getUsername()+"','"+bookID+"');";
in.update(query);
query="UPDATE Room SET status='booked',times='"+time+"' WHERE ID='"+room_id+"';";
in.update(query);
query="insert into Temp (ID,fname,lname,dob,contact) values ('"+tempID+"','"+fname+"','"+lname+"','"+dob+"','"+contact+"');";
in.update(query);
}
catch (Exception e) {
out.println("Other2: Error occur!"+e.getCause());
out.println("Details: "+e.getStackTrace());
rmb.setMessage("Booking Fail:"+e.getCause());
response.sendRedirect("reservationZone.jsp");
}
rmb.setMessage("Reservation Making Success! Please Save thses information for Tracking.");
response.sendRedirect("newBill.jsp");
}
else
{
RequestDispatcher rd = context.getRequestDispatcher("/errorCenter");
rd.forward(request,response);
}//check book type
/**/
}
/* (non-Javadoc)
* @see javax.servlet.GenericServlet#init()
*/
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
}
String dateRandString()
{
getCurrentDate getcd=new getCurrentDate();
String now=getcd.getDate();
Die die=new Die();
String dienum=die.getRandomString();
String dateran=now.concat(dienum);
return dateran;
}
public String hash(String i)
{
String hashed="";
String key1="", key2="", key3="", key4="", key5="";
//definition
//token 1
return hashed;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -