我有一个项目来存储租赁财产的图像。这些图像适用于卧室和浴室。
出租 |
---|
卧室图像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);
}
您可以创建一个
RentalImage
类来存储对图像的引用,并创建 ImageCategory
枚举来对图像进行分类,例如:
public class RentalImage {
private Long imageId;
private String imageName;
private String imageUrl;
private ImageCategory category;
}
public enum ImageCategory {
BEDROOM,
BATHROOM
}