太原seo_建网站电话_温州seo_咸阳软件开发 public class ProductController {@Autowiredprivate ProductTypeService productTypeService;@Autowiredprivate ProductService productService;/*** 功能描述: 页面数据初始化,所有方法执行前执行,将所有启用的商品类型先拿到** @return java.util.List<ProductType>* @Author jx* @Param []*/@ModelAttribute("productTypes")public List<ProductType> loadProductTypes() {List<ProductType> productTypes = productTypeService.findAllEnableProductTypes();return productTypes;}/***功能描述: 获取所有商品列表* @Author jx* @Param [pageNum, model]* @return java.lang.String*/@RequestMapping("findAllProduct")public String findAllProduct(Integer pageNum , Model model) {if (ObjectUtils.isEmpty(pageNum)) {pageNum = PaginationConstant.PAGE_NUM;}//封装分页插件PageHelper.startPage(pageNum,PaginationConstant.PAGE_SIZE);List<Product> productList = productService.findAllProducts();PageInfo<Product> pageInfo = new PageInfo<>(productList);model.addAttribute("pageInfo",pageInfo);return "productManager";}/***功能描述: 添加商品* @Author jx* @Param [productVo, pageNum, session, model]* @return java.lang.String*/@RequestMapping("addProduct")public String addProduct(ProductVo productVo, Integer pageNum, HttpSession session, Model model){//TODO:通过session拿到上传文件的实际路径,这里注释:原因修改为上传到ftp服务器上,//TODO: 图片路径修为可以通过 http访问的//String uploadPath = session.getServletContext().getRealPath("/WEB-INF/upload");//TODO:CommonsMultipartFile 文件上传/*最好不要直接把web层的 CommonsMultipartFile 对象传给service,这样就会出现 service 层调用web层了,需要避免耦合,所以要封装 dto 类,专门用于数据传输封装*/try {//把Vo 转化为 dto传给 serviceProductDto productDto = new ProductDto();//todo:使用 spring BeanUtils属性拷贝BeanUtils.copyProperties(productVo, productDto); //对象间属性的拷贝,可以将两个对象之间相同的属性拷贝productDto.setInputStream(productVo.getFile().getInputStream());productDto.setFileName(productVo.getFile().getOriginalFilename());//productDto.setUploadPath(uploadPath);//将数据保存到数据库中int rows = productService.addProduct(productDto);if (rows >= 1) {model.addAttribute("successMsg", "添加成功");} else {model.addAttribute("failMsg", "添加失败");}} catch (Exception e) {//System.out.println("ProductController.addProduct"+ e.printStackTrace());e.printStackTrace();model.addAttribute("errorMsg", "文件上传失败");}//重新加载当前页面数据,接收前端传过来的 页面 pageNumreturn "forward:findAllProduct?pageNum="+pageNum;}/***功能描述: 前端校验 商品名称是否存在接口* @Author jx* @Param [name, model]* @return java.util.Map<java.lang.String,java.lang.Object>*/@RequestMapping("checkProductName")@ResponseBodypublic Map<String , Object> checkProductName(String name , Model model) {Map<String,Object> map = new HashMap<>();if(productService.checkProductName(name)) {map.put("valid",true);}else{//TODO:返回这两个,bootstrapValidator 校验 插件 remote 校验会自己读取 valid 的值和message的map.put("valid",false);map.put("message","商品("+name+")已存在");}return map;}/***功能描述: 通过 id 获取商品信息* @Author jx* @Param [id]* @return ResponseResult*/@RequestMapping("findProductById")@ResponseBodypublic ResponseResult findProductById(int id) {Product product = productService.findProductById(id);if (product != null) {return ResponseResult.success(product);}else{return ResponseResult.fail("该商品信息不存在");}}/***功能描述: 获取图片,修改商品信息预览图片显示* @Author jx* @Param [path, outputStream]* @return void*/@RequestMapping("getImage")public void getImage(String path, OutputStream outputStream){//直接响应写入到输出流中productService.getImage(path, outputStream);}/***功能描述: 修改商品信息,内容跟添加商品信息差不多* @Author jx* @Param [productVo, pageNum, session, model]* @return java.lang.String*/@RequestMapping("modifyProduct")public String modifyProduct(ProductVo productVo, Integer pageNum, HttpSession session, Model model) {//TODO:通过session拿到上传文件的实际路径 : 注释: 修改上传路径为我的云服务器//String uploadPath = session.getServletContext().getRealPath("/WEB-INF/upload");//TODO:CommonsMultipartFile 文件上传/*最好不要直接把web层的 CommonsMultipartFile 对象传给service,这样就会出现 service 层调用web层了,需要避免耦合,所以要封装 dto 类,专门用于数据传输封装*/try {//把Vo 转化为 dto传给 serviceProductDto productDto = new ProductDto();//todo:使用 spring BeanUtils属性拷贝BeanUtils.copyProperties(productVo, productDto); //对象间属性的拷贝,可以将两个对象之间相同的属性拷贝productDto.setInputStream(productVo.getFile().getInputStream());productDto.setFileName(productVo.getFile().getOriginalFilename());//productDto.setUploadPath(uploadPath);//更新数据int rows = productService.modifyProduct(productDto);if (rows >= 1) {model.addAttribute("successMsg", "修改成功");} else {model.addAttribute("failMsg", "修改失败");}} catch (Exception e) {model.addAttribute("errorMsg", "文件上传失败");}//重新刷新页面加载数据return "forward:findAllProduct?pageNum="+pageNum;}/***功能描述: 根据 id 删除商品的信息* @Author jx* @Param [id]* @return ResponseResult*/@RequestMapping("removeProductById")@ResponseBodypublic ResponseResult removeProductById(int id){int rows = productService.removeProductById(id);if (rows >= 1) {return ResponseResult.success("商品删除成功");}else {return ResponseResult.fail("商品删除失败");}}">

真正免费的网站建站平台

闵行网站建设、棋牌网站建设、永久使用、不限域名、网页设计公司

莱芜seo?

太原seo_建网站电话_温州seo_咸阳软件开发

商家实体属性图

网页制作流程武汉网站制作公司武汉网站制作公司济南网站建设公司长沙网站制作公司长沙专业做网站个人主页网站模板网站建设基础知识郑州建网站网站制作流程服务号开发成都网站建设冠辰上海网页制作济南营销型网站建设物流网站建设安卓应用软件开发临沂企业建站东莞网站制作网站龙岩网站优化汕头网页制作淮南网站建设好保定网站建设公司智能硬件开发徐家汇网站建设成都做网站网站建设ppt衡水seo都江堰网站建设android开发环境上海网站建设公司邵阳网站优化

猜你喜欢