diff --git a/src/main/java/com/ai/da/common/utils/DateUtil.java b/src/main/java/com/ai/da/common/utils/DateUtil.java index e15ffb24..94269826 100644 --- a/src/main/java/com/ai/da/common/utils/DateUtil.java +++ b/src/main/java/com/ai/da/common/utils/DateUtil.java @@ -68,4 +68,17 @@ public class DateUtil { return date; } + /** + * 获取指定时区的时间戳的前十位 + * @param timeZone 时区 + * @return 当前时间戳的前十位 + */ + public static String getTimeStamp(String timeZone){ + ZoneId zoneId = ZoneId.of(timeZone); + + long epochSecond = Instant.now().atZone(zoneId).toEpochSecond(); + + return String.valueOf(epochSecond).substring(0, 10); + } + } diff --git a/src/main/java/com/ai/da/model/dto/GenerateLikeDTO.java b/src/main/java/com/ai/da/model/dto/GenerateLikeDTO.java index 46d24b35..69b37038 100644 --- a/src/main/java/com/ai/da/model/dto/GenerateLikeDTO.java +++ b/src/main/java/com/ai/da/model/dto/GenerateLikeDTO.java @@ -22,6 +22,9 @@ public class GenerateLikeDTO { @ApiModelProperty("当一级类型为Sketchboard时,二级类型 Outwear Dress Blouse Skirt Trousers") private String level2Type; + @ApiModelProperty("性别") + private String gender; + @NotBlank(message = "timeZone.cannot.be.empty") @ApiModelProperty("本地时区,比如 'Asia/Tokyo' 东京时间 , 'Asia/Shanghai' 北京时间 由js本地获取") private String timeZone; diff --git a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java index 6108aa2c..6f07e9fd 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -168,6 +168,9 @@ public class GenerateServiceImpl extends ServiceImpl i if (StringUtil.isNullOrEmpty(generateLikeDTO.getLevel2Type())){ throw new BusinessException("level2Type.cannot.be.empty"); } + if (StringUtil.isNullOrEmpty(generateLikeDTO.getGender())){ + throw new BusinessException("gender.cannot.be.empty"); + } } // 1.2 判断参数是否真实有效 Long generateDetailId = generateLikeDTO.getGenerateDetailId(); @@ -183,7 +186,8 @@ public class GenerateServiceImpl extends ServiceImpl i // 2、将like的图片信息存入library // 2.1、不能重复喜欢 Library libraryDetail = libraryService.getById(generateDetail.getLibraryId()); - if (Objects.nonNull(generateDetail.getLibraryId()) || Objects.nonNull(libraryDetail)){ + if ( (Objects.nonNull(generateDetail.getLibraryId()) && !generateDetail.getLibraryId().equals(0L)) + || Objects.nonNull(libraryDetail)){ throw new BusinessException("duplicate.likes.are.not.allowed"); } // 2.2、添加到library @@ -227,7 +231,8 @@ public class GenerateServiceImpl extends ServiceImpl i library.setAccountId(accountId); library.setLevel1Type(generateLikeDTO.getLevel1Type()); library.setLevel2Type(StringUtil.isNullOrEmpty(generateLikeDTO.getLevel2Type()) ? null : generateLikeDTO.getLevel2Type()); - library.setName(DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD)); + library.setLevel3Type(StringUtil.isNullOrEmpty(generateLikeDTO.getGender()) ? null : generateLikeDTO.getGender()); + library.setName(DateUtil.getTimeStamp(generateLikeDTO.getTimeZone()) + "_N_G"); library.setUrl(imageUrl); try { library.setMd5(MD5Utils.encryptFile(minioUtil.download(imageUrl))); diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties index 9f778d8c..bf662987 100644 --- a/src/main/resources/messages_en.properties +++ b/src/main/resources/messages_en.properties @@ -127,6 +127,7 @@ design.item.does.not.exist=design item does not exist. layers.does.not.exists=layers does not exists. unknown.generate.type=unknown generate type. the.workspace.lastIndex.not.found=The workspace lastIndex not found. +gender.cannot.be.empty=gender cannot be empty. # 可能会报异常 # Informative: