8-8商品中修改商品,删除数据库的详情图片

来源:8-8 商品编辑之后端开发下

巴黎盛开的樱花

2020-03-06

老师你好,在8-8商品中修改商品,如果我们第一次是没有添加详情图片的,那我们第二次去添加详情图片,中间是不是有问题。是否加一个查询判断,判断是否有这个详情图片,再去删除,不然在详情图片没有product_id。sql会执行失败。

//如果有新存入的商品详情图,则将原先的删除,并添加新的图片
			if(productImgHolderList != null && productImgHolderList.size()>0){
				deleteProductImgList(product.getProductId());
				addProductImgList(product,productImgHolderList);
			}
/**
	 * 删除某个商品下面的详情图片
	 * @param productId
	 */
	private void deleteProductImgList(Long productId) {
		List<ProductImg> productImgList =	productImgDao.queryProductImgList(productId);
		for(ProductImg productImg:productImgList){
			//删除详情图片
			ImageUtil.deleteFileOrPath(productImg.getImgAddr());
		}
		//删除数据库中的详情图片
		productImgDao.deleteProductImgByProductId(productId);
	}
写回答

1回答

翔仔

2020-03-07

同学好,deleteProductImgByProductId这个空删不会报错,但是咱们确实需要在deleteProductImgList方法的前两句中间加个判空,否则for一个空的productImgList会报错

		// 根据productId获取原来的图片
		List<ProductImg> productImgList = productImgDao.queryProductImgList(productId);
		if (productImgList == null) {return ;}
		// 干掉原来的图片
		for (ProductImg productImg : productImgList) {
			ImageUtil.deleteFileOrPath(productImg.getImgAddr());
		}


0
0

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5129 学习 · 8152 问题

查看课程