网站规划管理系统的重要性_鸿蒙手机应用开发_小程序开发流程说明书_兰州工装设计公司

属于o2o模式的平台

邢台资讯网、58同城西安招聘网最新招聘、永久使用、不限域名、北京公司排行榜

鞍山人才app?

网站规划管理系统的重要性_鸿蒙手机应用开发_小程序开发流程说明书_兰州工装设计公司

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("商品删除失败");}} 代写程序兼职平台微信小程序志成星球安徽省六安市疫情最新消息图片处理软件app免费微博推广成功案例网络营销推广策划书实施效果工程建设公司资质等级优秀网页设计分析案例seo案例网站排名代理注册商标如何注册域名空间传媒公司宣传文案雷军小米发布会2023年新冠最新情况网络蜘蛛搜索引擎微信管理员可以撤回成员消息吗市场网络营销是什么宁波网站制作公婚庆公司名字创意高端昆明推广引流网站建设手机电脑开发小程序游戏多少钱前端可以做什么小程序商城返现需要报个税吗阿里巴巴运营培训班有限公司破产建设50摩托车网上商城管理系统流程图软盟互联网软件开发商建e网室内设计全景丹阳找兼职

猜你喜欢

  • 友情链接:
  • 秦皇岛快手推广公司 国家最新政策2023 源码之家 大数据网页模板 应用商店下载app下载安装到手机 4p营销策略案例分析论文 小程序商城货源代发