@RequestMapping(value = "/product/{prod}", method = RequestMethod.DELETE) @Transactional public ResponseEntity<ProductResult> doIt( @PathVariable("prod") String product, Authentication auth) { if (!ApplicationSecurity.isRoot(auth)) { return new ResponseEntity<ProductResult>(HttpStatus.FORBIDDEN); } Product reqProduct = new Product(product, null); List<String> errors = DomainValidator.checkForErrors(reqProduct); if (!errors.isEmpty()) { return new ResponseEntity<ProductResult>( new ProductResult(reqProduct, errors), HttpStatus.BAD_REQUEST); } if (!products.exists(reqProduct.getName())) { return new ResponseEntity<ProductResult>( new ProductResult(reqProduct, Product.NOT_FOUND), HttpStatus.NOT_FOUND); } products.delete(reqProduct.getName()); components.deleteByKeyProduct(reqProduct.getName()); properties.deleteByKeyProduct(reqProduct.getName()); userProducts.deleteByKeyProduct(reqProduct.getName()); return new ResponseEntity<ProductResult>(HttpStatus.OK); }
@RequestMapping(value = "/upload", method = RequestMethod.POST) public @ResponseBody void uploadProduct( @RequestParam(value = "pic", required = false) MultipartFile pic, @RequestParam(value = "id", required = false) Integer id, @RequestParam("name") String name, @RequestParam("description") String description, @RequestParam("type") String type, @RequestParam("category") String category, @RequestParam("price") double price, @RequestParam("unit") String unit, HttpServletResponse response) { if (type == null || name == null || pic == null || description == null || category == null || price == 0 || unit == null) { response.setStatus(HttpStatus.NOT_ACCEPTABLE.value()); return; } Product product; if (id != null) { product = productService.getById(id); } else { product = new Product(); } product.setName(name); product.setDescription(description); product.setType(Type.valueOf(type)); product.setCategory(Category.valueOf(category)); product.setPrice(price); product.setUnit(unit); // for Linux String dstFilePath = "/" + PathUtil.getWebInfPath() + "/product_images/" + product.generatePicurlHash() + ".jpg"; // for Windows // String dstFilePath = PathUtil.getWebInfPath() + "/product_images/" + // product.generatePicurlHash() + ".jpg"; System.out.println("dstFilePath =" + dstFilePath); if (pic != null) { product.setPicurl("product_images/" + product.generatePicurlHash() + ".jpg"); File picFile = new File(dstFilePath); try { pic.transferTo(picFile); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } product.setDataChangeLastTime(new Timestamp(System.currentTimeMillis())); if (id != null) { productService.update(product); } else { productService.save(product); } }