高端网站建设公司_大连网站建设_临淄网站建设_东莞网站制作 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("商品删除失败");}}">

手机软件开发公司

网站网站建设、网站 建设 公司、永久使用、不限域名、永州网站建设

专业提供网站建设服务?

高端网站建设公司_大连网站建设_临淄网站建设_东莞网站制作

佛山小程序开发网页制作价格乌海网站建设承建网站南昌高端网站建设湖州网站建设网站设计制作庆阳网站设计深圳网站设计公司仙桃网站建设专业提供网站建设服务宁波网页制作长沙网站建设东莞网站建设直销网站建设企业网站建设套餐大型门户网站建设天津网站建设拉萨网站建设邯郸网站制作胶州企业网站设计装饰网站建设商业网站建设案例课程漳州网站制作小程序设计开发专业网站设计兰州网站制作集团企业网站建设营销网站设计公司广州专业网站设计公司佛山小程序开发

猜你喜欢