这是我存图片的方法 请写一个查询图片的方法 因为一个商品有多张图片 查询时需要将商品id goodsId的图片全查出来返回 @Transactional(rollbackFor = Exception.class) @PostMapping("/saveGoodsImg") public ApiResult saveGoodsImg(@RequestBody GlbGoodsImageDTO glbGoodsImageDTO){ Long goodsId = glbGoodsImageDTO.getGoodsId(); if (goodsId == null) { return ApiResult.failure(ApiCode.PARAM_LACK); } // 存储图片 FileInfo fileInfo = new FileInfo(); fileInfo.setFileBytes(Base64.decodeBase64(glbGoodsImageDTO.getGoodsImg())); fileInfo.setFileType(glbGoodsImageDTO.getGoodsImgType()); FileInfo saveFileInfo = fileInfoService.save(fileInfo); GlbGoodsImage glbGoodsImage =new GlbGoodsImage(glbGoodsImageDTO); glbGoodsImage.setGoodsId(goodsId); glbGoodsImage.setGoodsImg(saveFileInfo.getFileInfoId()); glbGoodsImageService.save(glbGoodsImage); return ApiResult.success(); }
时间: 2024-04-16 17:27:57 浏览: 177
shopping项目数据库表结构(权威版)
根据你提供的代码,我可以为你编写一个查询商品图片的方法。你可以将以下代码添加到你的控制器类中:
```java
@GetMapping("/getGoodsImages/{goodsId}")
public ApiResult getGoodsImages(@PathVariable Long goodsId) {
if (goodsId == null) {
return ApiResult.failure(ApiCode.PARAM_LACK);
}
List<GlbGoodsImage> goodsImages = glbGoodsImageService.findByGoodsId(goodsId);
List<FileInfo> imageFiles = new ArrayList<>();
for (GlbGoodsImage goodsImage : goodsImages) {
FileInfo fileInfo = fileInfoService.findById(goodsImage.getGoodsImg());
imageFiles.add(fileInfo);
}
return ApiResult.success(imageFiles);
}
```
上述代码中,我们定义了一个GET请求的方法`getGoodsImages`,接收`goodsId`作为路径参数。首先,我们检查`goodsId`是否为空,若为空则返回参数缺失的错误信息。然后,我们通过`glbGoodsImageService.findByGoodsId`方法查询指定`goodsId`的所有商品图片信息。接着,我们通过循环遍历每个商品图片记录,使用`fileInfoService.findById`方法查询对应的图片文件信息,并将其添加到一个列表中。最后,将包含所有图片文件信息的列表作为成功的响应返回。
请注意,上述代码中的方法名和参数类型可能需要根据你的具体业务逻辑进行调整。另外,确保你的服务类中有相应的方法来查询商品图片和文件信息。
希望这可以帮助到你!如果有任何进一步的问题,请随时提问。
阅读全文