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";
}
}
最近下载更多
vincemokea LV9
9月2日
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日
最近浏览更多
不爱吃香菜
10月17日
暂无贡献等级
1231578 LV9
9月28日
vincemokea LV9
9月2日
微信网友_6956978011000832 LV2
7月27日
486900
6月17日
暂无贡献等级
阿莫斯 LV1
2月25日
orang801 LV2
2月24日
微信网友_7310057461567488
2024年12月24日
暂无贡献等级
ma406805131 LV19
2024年12月18日
微信网友_6377331253415936 LV3
2024年11月24日

