📄 orderservlet.java
字号:
package org.qhit.li.store.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.qhit.li.store.dao.OrdersDAO;
import org.qhit.li.store.dao.UsersDAO;
import org.qhit.li.store.dto.OrderDTO;
import org.qhit.li.store.dto.OrderSunDTO;
import org.qhit.li.store.dto.UsersDTO;
public class OrderServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 3;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession();
OrdersDAO dao = new OrdersDAO();
String action = request.getParameter("action");
ArrayList<OrderSunDTO> car = (ArrayList<OrderSunDTO>) session
.getAttribute("GoodsCar");
double sum = 0;
if (car == null) {
car = new ArrayList<OrderSunDTO>();
}
session.removeAttribute("adlist");
session.removeAttribute("goodlist");
session.removeAttribute("made");
session.removeAttribute("stext");
session.removeAttribute("abate");
session.removeAttribute("dao");
/* 购买产品 */
if (action != null && "buy".equals(action)) {
String btid = request.getParameter("btid");
btid = new String(btid.getBytes("iso-8859-1"), "gbk");
String bname = request.getParameter("bname");
bname = new String(bname.getBytes("iso-8859-1"), "gbk");
String bprice = request.getParameter("bprice");
double bpprice = Double.valueOf(bprice).doubleValue();
OrderSunDTO temporder = null;
Iterator<OrderSunDTO> iter = car.iterator();
boolean flag = false;
while (iter.hasNext()) {
OrderSunDTO temp = (OrderSunDTO) iter.next();
/* 所购买的商品相同 */
if (temp.getBtid().equals(btid)) {
flag = true;
temp.setOsnumber(temp.getOsnumber() + 1);
temp.setSumprice(temp.getOsnumber() * temp.getBprice());
break;
}
}
/* 所购买的商品不相同 */
if (!flag) {
temporder = new OrderSunDTO(1, btid, bname, bpprice, 1,
bpprice * 1);
car.add(temporder);
}
sum = getSum(car);
session.removeAttribute("dao");
session.setAttribute("GoodsCar", car);
session.setAttribute("sum", sum);
response.sendRedirect("./Stage/GoodCar.jsp");
return;
}
/* 修改信息 */
if (action != null && "update".equals(action)) {
session.removeAttribute("carde");
String[] isbuy = request.getParameterValues("isbuy");
// 是否购买
if (isbuy == null) {
car = null;
sum = 0;
} else {
Iterator<OrderSunDTO> tempiter = car.iterator();
while (tempiter.hasNext()) {
int i = 0;
OrderSunDTO temp = (OrderSunDTO) tempiter.next();
for (; i < isbuy.length; i++) {
if (isbuy[i].equals(temp.getBtid())) {
break;
}
}
if (i == isbuy.length) {
car.remove(temp);
break;
}
}
// 修改数量
Iterator<OrderSunDTO> iter = car.iterator();
int i = 0;
while (iter.hasNext()) {
OrderSunDTO temp = (OrderSunDTO) iter.next();
temp.setOsnumber(Integer.valueOf(request.getParameter("num"
+ i)));
temp.setSumprice(temp.getOsnumber() * temp.getBprice());
i++;
}
sum = getSum(car);
}
session.setAttribute("GoodsCar", car);
session.setAttribute("sum", sum);
response.sendRedirect("./Stage/GoodCar.jsp");
return;
}
/* 去收银台付帐 */
if (action != null && "pay".equals(action)) {
session.removeAttribute("carde");
session.removeAttribute("login");
Integer uid = (Integer) session.getAttribute("uid");
if (uid == null) {
session.setAttribute("login", "no");
response.sendRedirect("./Stage/GoodCar.jsp");
return;
}
if (uid != null && uid == 0) {
session.setAttribute("login", "failure");
response.sendRedirect("./Stage/GoodCar.jsp");
return;
}
UsersDAO udao = new UsersDAO();
UsersDTO user = udao.getUser(uid);
session.setAttribute("user", user);
session.setAttribute("GoodsCar", car);
response.sendRedirect("./Stage/Confirm.jsp");
return;
}
/* 提交订单,及用户信息 */
if (action != null && "confirm".equals(action)) {
session.removeAttribute("flag");
boolean flag = false;
int uid = (Integer) session.getAttribute("uid");
String remark = (String) request.getParameter("remark");
double osum = (Double) session.getAttribute("sum");
OrderDTO info = new OrderDTO();
info.setUid(uid);
info.setTotal(osum);
info.setRemark(remark);
int oid = dao.insertOrder(info);
if (oid == 0) {
session.setAttribute("flag", "no");
response.sendRedirect("./Stage/Confirm.jsp");
return;
}
if (oid != 0) {
Iterator<OrderSunDTO> iter = car.iterator();
while (iter.hasNext()) {
OrderSunDTO temp = (OrderSunDTO) iter.next();
temp.setOid(oid);
int result = dao.insertOrdersun(temp);
if (result == 0) {
flag = true;
dao.deletOrder(oid);
session.setAttribute("flag", "no");
response.sendRedirect("./Stage/confirm.jsp");
return;
}
}
if (!flag) {
session.setAttribute("oid", oid);
session.setAttribute("remark", remark);
response.sendRedirect("./Stage/LastConfirm.jsp");
return;
}
}
}
}
/* 得到所购商品的总价钱 */
public double getSum(ArrayList<OrderSunDTO> car) {
double sum = 0;
Iterator<OrderSunDTO> sumiter = car.iterator();
while (sumiter.hasNext()) {
OrderSunDTO temp = (OrderSunDTO) sumiter.next();
sum += temp.getSumprice();
}
return sum;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -