📄 cartaction.java
字号:
package com.tarena.shopcart.action;import java.util.List;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.MappingDispatchAction;import com.tarena.shopcart.entity.Cart;import com.tarena.shopcart.entity.OrderLine;import com.tarena.shopcart.entity.OrderStatus;import com.tarena.shopcart.entity.Orders;import com.tarena.shopcart.entity.Payway;import com.tarena.shopcart.entity.Product;import com.tarena.shopcart.entity.Users;import com.tarena.shopcart.service.IOrderService;import com.tarena.shopcart.service.IProductService;import com.tarena.shopcart.serviceImp1.OrderServiceImp1;import com.tarena.shopcart.serviceImp1.ProductServiceImp1;public class CartAction extends MappingDispatchAction { IOrderService service=new OrderServiceImp1(); IOrderService orderservice=new OrderServiceImp1(); /** * 修改购物车商品数量 */ public ActionForward modifyProductNum(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); Cart cart = (Cart) session.getAttribute("cart"); String number = request.getParameter("num"); String productId = request.getParameter("productid"); if (cart != null && number.length() != 0) cart.modifyNumberByProductId(Long.parseLong(productId), Long .parseLong(number)); return mapping.findForward("toCart"); } /** * 删除所选商品 */ public ActionForward deleteProduct(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); String pid = request.getParameter("pid"); Cart cart = (Cart) session.getAttribute("cart"); if (cart != null) { cart.deleteOrderLineByProductId(Long.parseLong(pid)); } return mapping.findForward("toCart"); } /** * 清空购物车 */ public ActionForward clearCart(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { Cart cart = (Cart) request.getSession().getAttribute("cart"); if (cart != null) cart.clear(); return mapping.findForward("toCart"); } /** * 结帐 */ public ActionForward goCheck(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { List list=service.getAllPayway(); request.setAttribute("payways", list); return mapping.findForward("toCheck"); } /** * 生成定单,要判断用户是否登录 */ public ActionForward buildOrder(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { if (request.getSession().getAttribute("cart") == null) { //未购买商品 return mapping.findForward("fail"); } else if (((Cart) (request.getSession().getAttribute("cart"))) .isEmpty()) { //购物车为空 return mapping.findForward("fail"); } else {// System.out.println("正在生成订单"); Orders order = new Orders(); Users user = (Users)request.getSession().getAttribute("user"); user.addOrder(order); String name=System.currentTimeMillis()+""; order.setName(name); String payway=request.getParameter("payway"); int payId=Integer.parseInt(payway); Payway pay=orderservice.getPaywayByPyid(payId); order.setPayway(pay); OrderStatus status=orderservice.getStatusByid(1); order.setStatus(status); Map map = ((Cart) request.getSession().getAttribute("cart")) .getItems(); Set<Long> set = map.keySet(); double cost=0; for (Long i : set) { OrderLine item = (OrderLine) map.get(i); cost+=item.getAmount()*item.getProduct().getBaseprice(); order.addOrderLine(item); } order.setCost(cost); if(service.buildOrder(order)){ request.getSession().setAttribute("cart", null); return mapping.findForward("toOrder"); } return mapping.findForward("fail"); } } /** * 添加到购物车 */ public ActionForward addItemToCart(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { IProductService service = new ProductServiceImp1(); List listProduct = service.getAllProduct(); HttpSession session = request.getSession(); String productId = request.getParameter("pid"); Cart cart = null; Product product = null; cart = (Cart) session.getAttribute("cart"); if (cart == null) { cart = new Cart(); } for (int i = 0; i < listProduct.size(); i++) { product = (Product) listProduct.get(i); if (product != null && productId.equals(String.valueOf(product.getProductId()))) { cart.addOrderLine(product, 1); } } session.setAttribute("cart", cart); return mapping.findForward("toList"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -