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


import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import cn.edu.nuc.shop.entiry.Product;
import cn.edu.nuc.shop.service.interfaces.ProductService;
import cn.edu.nuc.shop.util.IPTimeStamp;

@Controller
@RequestMapping("/product")
public class ProductController {
	
	@Autowired
	private ProductService productService;
	
	@RequestMapping(value="/list",method=RequestMethod.GET)
	public String listProduct(Model model){
		
		List<Product> list = productService.listProduct();
		model.addAttribute("list", list);
		
		return "product/list";
	}
	
	@RequestMapping(value="/add",method=RequestMethod.GET)
	public String toAddProduct(){
		
		return "product/add";
	}
	
	
	
	@RequestMapping(value="/add",method=RequestMethod.POST)
	public String AddProduct(Product product, @RequestParam("file") MultipartFile file,
			HttpServletRequest request) throws IOException {
		
		System.out.println(product);
			//获取文件 存储位置
			String realPath = request.getSession().getServletContext()
					.getRealPath("/upload");
			
			File pathFile = new File(realPath);
			
			if (!pathFile.exists()) {
				//文件夹不存 创建文件
				pathFile.mkdirs();
			}
				
				System.out.println("文件类型:"+file.getContentType());
				System.out.println("文件名称:"+file.getOriginalFilename());
				System.out.println("文件大小:"+file.getSize());
				System.out.println(".................................................");
				//将文件copy上传到服务器
				//file.transferTo(new File(realPath + "/" + file.getOriginalFilename()));
				
				IPTimeStamp ip = new IPTimeStamp();
				
				System.out.println(ip.getTimeStamp());
				
				String ext =FilenameUtils.getExtension(file.getOriginalFilename());
				
				String newfilename= ip.getTimeStamp() + "."+ ext;
				
				FileUtils.copyInputStreamToFile(file.getInputStream(), 
						new File(realPath, newfilename));
			//获取modelandview对象
				
			
		
		product.setPic(newfilename);
		
		productService.addProduct(product);
		
		
		return "redirect:list";
	}

	@RequestMapping(value="/delete",method=RequestMethod.GET)
	public String deleteProduct(Product product){
		
		productService.deleteProduct(product);
		
		return "redirect:list";
	}
	
	@RequestMapping(value="/edit",method=RequestMethod.GET)
	public String toedit(Product product,ModelMap map){
		
		Product pro = productService.findById(product.getPid());
		
		map.addAttribute("product", pro);
		
		
		return "product/edit";
	}
	
	@RequestMapping(value="/edit",method=RequestMethod.POST)
	public String edit(Product product, @RequestParam("file") MultipartFile file,
			HttpServletRequest request) throws IOException{
		
		
		Product oldproduct = productService.findById(product.getPid());
		//获取文件 存储位置
		if(file.getOriginalFilename()!=null && !file.getOriginalFilename().equals("")){
			String realPath = request.getSession().getServletContext()
					.getRealPath("/upload");
			
			File oldfile = new File(realPath +"/"+ oldproduct.getPic());
			oldfile.delete();
			
			File pathFile = new File(realPath);
			
			if (!pathFile.exists()) {
				//文件夹不存 创建文件
				pathFile.mkdirs();
			}
				System.out.println("文件类型:"+file.getContentType());
				System.out.println("文件名称:"+file.getOriginalFilename());
				System.out.println("文件大小:"+file.getSize());
				System.out.println(".................................................");
				//将文件copy上传到服务器
				//file.transferTo(new File(realPath + "/" + file.getOriginalFilename()));
				
				IPTimeStamp ip = new IPTimeStamp();
				String ext =FilenameUtils.getExtension(file.getOriginalFilename());
				
				String newfilename= ip.getTimeStamp() + "."+ ext;
				
				
				FileUtils.copyInputStreamToFile(file.getInputStream(), 
						new File(realPath, newfilename));
			//获取modelandview对象
				
				product.setPic(newfilename);
		}	
		
		if(file.getOriginalFilename()==null || "".equals(file.getOriginalFilename())){
		  product.setPic(productService.findById(product.getPid()).getPic());
		}
		productService.updateProduct(product);
	
		
		return "redirect:list";
	}
	
	@RequestMapping(value="/find",method=RequestMethod.POST)
	public String findByPname(@Param("pname") String pname,Model model){
		
		System.out.println(pname+"---------------------------");
		
		List<Product> li = productService.findByName(pname);
		
		model.addAttribute("list", li);
		
		return "product/list";
	}
	
	//前台
	@RequestMapping(value="/frontlist",method=RequestMethod.GET)
	public String frontlist(Model model){
		
		List<Product> listnew = productService.frontlistNew();
		
		List<Product> listhot = productService.frontlistHot();
		
		model.addAttribute("listnew", listnew);
		model.addAttribute("listhot", listhot);
		
		return "forward:/index.jsp";
	}
	
	//前台
		@RequestMapping(value="/detail",method=RequestMethod.GET)
		public String detail(Product product,Model model){
			
			Product pro = productService.findById(product.getPid());
			
			model.addAttribute("product", pro);
			
			return "forward:/detail.jsp";
		}
	
	
	
}
最近下载更多
Xppasdf  LV3 10月29日
qiulai  LV1 5月30日
fdeded  LV1 4月20日
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日
最近浏览更多
lzhangxiangling 11月11日
暂无贡献等级
jy1111 11月11日
暂无贡献等级
暂无贡献等级
Xppasdf  LV3 10月29日
krispeng  LV13 10月28日
Peny_ZH  LV5 9月21日
lyt010628  LV4 7月9日
799743530  LV11 7月8日
曾显示  LV6 7月7日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友