首页>代码>ssm整合开发商城系统,包括后台管理系统>/shop/src/main/java/cn/edu/nuc/shop/controller/SorderController.java
package cn.edu.nuc.shop.controller;

import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import cn.edu.nuc.shop.entiry.Forder;
import cn.edu.nuc.shop.entiry.Product;
import cn.edu.nuc.shop.entiry.Sorder;
import cn.edu.nuc.shop.service.interfaces.ForderService;
import cn.edu.nuc.shop.service.interfaces.ProductService;
import cn.edu.nuc.shop.service.interfaces.SorderService;

@Controller
@RequestMapping("/sorder")
public class SorderController {
	
	@Autowired
	private SorderService sorderService;
	@Autowired
	private ProductService productService;
	@Autowired
	private ForderService forderService;
	
	

	@RequestMapping(value="/add",method=RequestMethod.POST)
	public String addSorder(Product product,HttpSession session) {
		
		System.out.println("-------addCar()------"+product.getNumber());
		
		// 1:通过 product.id获取当前的商品数据
		Product findproduct = productService.findById(product.getPid());
		
		findproduct.setNumber(product.getNumber());
		
		//2:判断当前session是否有购物车,如果没有则创建
		if (session.getAttribute("forder")==null) {
			
			//创建购物车,存到session中
			session.setAttribute("forder", new Forder(new HashSet<Sorder>()));
		}
		Forder forder = (Forder)session.getAttribute("forder");
		//3:把商品信息转化为sorder,并且添加到购物车中(判断购物车是否重复)
	
		forder = sorderService.addSorder(forder, findproduct);
		forder.setTotal(forderService.cluTotal(forder));
		
		System.out.println(forder);
		
		return "redirect:/car.jsp";
	}
	
	
	@RequestMapping(value="/delete",method=RequestMethod.GET)
	public String deleteSorder(Product product,HttpSession session) {
		
		Forder forder = (Forder)session.getAttribute("forder");
		
		Set<Sorder> set = forder.getSorderSet();
		
		
		 Iterator<Sorder> iterator = set.iterator();
		
		 while(iterator.hasNext()){
			 
			 Sorder sorder = iterator.next();
			 if(sorder.getProduct().getPid()==product.getPid()){
				
					 iterator.remove();
					 forder.setTotal(forder.getTotal()-sorder.getPrice()*sorder.getNumber());	 
			}
	    }
		 if( set.size() <= 0){
			 
			 session.removeAttribute("forder");
		 }
		return "redirect:/car.jsp";
	}
	
	@RequestMapping(value="/clear",method=RequestMethod.GET)
	public String clearSorder(Product product,HttpSession session) {
		
		Forder forder = (Forder)session.getAttribute("forder");
		
		Set<Sorder> set = forder.getSorderSet();
		
		set.clear();
		forder.setTotal(0d);
		 session.removeAttribute("forder");
		
		return "redirect:/car.jsp";
	}
	
	@RequestMapping(value="/listbyfid",method=RequestMethod.GET)
	public String listSorder(Forder forder,Model model) {
		
		List<Sorder> byfidlistSorder  = sorderService.listSorderByfid(forder.getFid());
		
		model.addAttribute("listSorder", byfidlistSorder);
		
		return "sorder/list";
	}
	
	
}
最近下载更多
Xppasdf  LV3 2024年10月29日
qiulai  LV1 2024年5月30日
fdeded  LV1 2024年4月20日
zhufbing  LV1 2024年1月29日
yuanchuang  LV22 2023年12月28日
微信网友_6680567232876544  LV8 2023年10月10日
SDLFJL  LV6 2023年8月17日
微信网友_6436772032335872  LV3 2023年4月17日
2643028272  LV1 2023年3月6日
qwe123456asd  LV3 2023年2月3日
最近浏览更多
阿莫斯  LV1 2月25日
orang801  LV2 2月24日
微信网友_7310057461567488 2024年12月24日
暂无贡献等级
ma406805131  LV19 2024年12月18日
微信网友_6377331253415936  LV3 2024年11月24日
lzhangxiangling 2024年11月11日
暂无贡献等级
jy1111 2024年11月11日
暂无贡献等级
微信网友_7249860635152384 2024年11月11日
暂无贡献等级
Xppasdf  LV3 2024年10月29日
krispeng  LV14 2024年10月28日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友