注册公司取名大全免费_创客贴作_关键词推广价格_成功品牌策划案经典案例 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网络优化推广

唯尚广告联盟平台?

注册公司取名大全免费_创客贴作_关键词推广价格_成功品牌策划案经典案例

全国推广品牌合肥网站建设费用濮阳星月网络科技有限公司湛江网站设计多少钱godaddy建站神器百度识图网页版入口在线图片编辑器免费版站酷app下载专业摄影作品网站拉新项目官方一手平台商丘seo外包app外包开发价格表物流配货网站免费好用的网页在线客服中央经济工作会议精神2024o2o平台有哪些?适合上班族的25个副业seo优化包括什么开发平台介绍学html还是html5营销活动方案范文南昌高端网站建设网页搭建作文网大全app下载商业养老保险深圳多媒体展厅公司日照网站制作公司中国建造师网查询系统百度竞价推广代理网页搜索框怎么做网页设计与制作第二版葛艳玲b2b海外社交媒体推广方式

猜你喜欢

  • 友情链接:
  • 秦皇岛seo网络优化招聘信息 如何建立网站卖东西 蚌埠网络公司 百度官网首页 免费模板网下载 互联网公司100强