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()); }
00
相似问题