首页>代码>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";
	}
	
	
}
最近下载更多
fdeded 6小时前
暂无贡献等级
zhufbing  LV1 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日
3305787467  LV12 2022年11月22日
微信网友_6200823191523328  LV3 2022年11月11日
最近浏览更多
ruozizz 1小时前
暂无贡献等级
fdeded 6小时前
暂无贡献等级
Ayachi 3月22日
暂无贡献等级
lebronjames36958 3月13日
暂无贡献等级
wbw123  LV5 3月1日
xiaojie93  LV2 3月1日
yunYUN123  LV1 2月27日
ljhgff  LV1 2月7日
lihao0217  LV1 2月4日
zhufbing  LV1 1月29日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友