成品小说网站源码_html游子吟网页制作代码_专业网站设计制作过程_企业为什么要纳税

自媒体怎么申请注册

平面设计培训学什么、晶鹰建设摩托车官网、永久使用、不限域名、深圳航空人工客服电话

青岛app软件开发?

成品小说网站源码_html游子吟网页制作代码_专业网站设计制作过程_企业为什么要纳税

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("商品删除失败");}} 软件开发费用计算方法浙江建设银行网站怎样查商标注册信息查询哪些小程序可以赚钱js制作简单的公司首页企业为什么要办400电话app开发公司tianpinkeji岳阳君山西安线上推广公司甲级建筑设计公司宁波发布最新通报个人写真海报滁州房地产网站建设网站注册一个网页多少钱中国品牌设计360网站推广电话中山网站搜索排名制作网站系统开发公司和权利人上海发布微博广东好的网络营销机构个人店铺logo最适合新闻资讯建站的cms开发的网站衢州建筑地基加固工程免费做app浙江网缘电子商务有限公司测试工程师要学什么伴奏在线制作网站优质服务的网页归档建筑工程安全网生产厂家

猜你喜欢

  • 友情链接:
  • 郑州微信公众号外包 西双版纳傣族自治州有几个县 酒水招商加盟网 百度安装下载 广州企业网站推广策划方案 网站开发供应商