存储两个不同图片类别的图像的服务方法

问题描述 投票:0回答:1

我有一个项目来存储租赁财产的图像。这些图像适用于卧室和浴室。

出租
卧室图像Id
浴室图像Id
// Service class method
public void uploadRentalImage(Long rentalId, MultipartFile file) {
     String imageId = UUID.randomUUID().toString(); // BedroomPictureId or BathroomPictureId will be created here
     // Then store the imageId to Rental; depending on whether it is BedroomPictureId or BathroomPictureId
}

我有两个逻辑,具体取决于图像是否是 BathroomImageId 和 BedroomImageId,我需要告诉 uploadRentalImage。我考虑了多种方法来告诉 uploadRentalImage 方法我正在更新哪个图像。谁能推荐告诉 uploadRentalImage 我要更新什么类型的图像的最佳方式。

我可以创建两个服务类方法,如下所示,但如果我要拥有更多类型的图像(如 GarageImage 或 CourtyardImage),这两种方法中都会重复太多相同的逻辑,并且将来无法扩展。

public void uploadRentalImage(Long rentalId, MultipartFile file) {
     String imageId = UUID.randomUUID().toString(); // BedroomPictureId or BathroomPictureId will be created here
     rentalDao.updateBedroomImageId(bedroomImageId, rentalId);
}
public void uploadBathroomImage(Long rentalId, MultipartFile file) {
     String imageId = UUID.randomUUID().toString(); // BedroomPictureId or BathroomPictureId will be created here
     rentalDao.updateBedroomImageId(bedroomImageId, rentalId);
}
spring spring-boot spring-mvc spring-data-jpa spring-data
1个回答
0
投票

您可以创建一个

RentalImage
类来存储对图像的引用,并创建
ImageCategory
枚举来对图像进行分类,例如:

public class RentalImage {
    private Long imageId;
    private String imageName;
    private String imageUrl;
    private ImageCategory category;
}

public enum ImageCategory {
   BEDROOM,
   BATHROOM
}
© www.soinside.com 2019 - 2024. All rights reserved.