diff --git a/src/main/java/com/ai/da/controller/LibraryController.java b/src/main/java/com/ai/da/controller/LibraryController.java index f51ec1d5..fa0e2bfc 100644 --- a/src/main/java/com/ai/da/controller/LibraryController.java +++ b/src/main/java/com/ai/da/controller/LibraryController.java @@ -204,8 +204,8 @@ public class LibraryController { } @ApiOperation(value = "将系统模特添加到个人library") - @PostMapping("addSysModelToLib") - public Response addSysModelToLib(@ApiParam("系统模特id") @RequestPart("sysModelId")long sysModelId){ + @GetMapping("addSysModelToLib") + public Response addSysModelToLib(@ApiParam("系统模特id") @RequestParam("sysModelId")long sysModelId){ return Response.success(libraryService.addSysModelToLib(sysModelId)); } diff --git a/src/main/java/com/ai/da/model/dto/LibraryModelPointDTO.java b/src/main/java/com/ai/da/model/dto/LibraryModelPointDTO.java index 60b6de3e..a6bdb477 100644 --- a/src/main/java/com/ai/da/model/dto/LibraryModelPointDTO.java +++ b/src/main/java/com/ai/da/model/dto/LibraryModelPointDTO.java @@ -62,7 +62,8 @@ public class LibraryModelPointDTO implements Serializable { @ApiModelProperty("本地时区,比如 'Asia/Tokyo' 东京时间 , 'Asia/Shanghai' 北京时间 由js本地获取") private String timeZone; - @ApiModelProperty("模特路径 全路径即可") + @NotBlank(message = "model.path.cannot.be.empty") + @ApiModelProperty("模特路径") private String modelPath; @ApiModelProperty("是否覆盖保存还是另存为 true -> 保存,false -> 另存为") diff --git a/src/main/java/com/ai/da/service/impl/LibraryModelPointServiceImpl.java b/src/main/java/com/ai/da/service/impl/LibraryModelPointServiceImpl.java index 29e43b48..5b8107b4 100644 --- a/src/main/java/com/ai/da/service/impl/LibraryModelPointServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/LibraryModelPointServiceImpl.java @@ -2,6 +2,7 @@ package com.ai.da.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.ai.da.common.config.exception.BusinessException; +import com.ai.da.common.constant.CommonConstant; import com.ai.da.common.enums.SingleOverallEnum; import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.DateUtil; @@ -23,7 +24,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import io.netty.util.internal.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -58,31 +58,20 @@ public class LibraryModelPointServiceImpl extends ServiceImpl imagesWidthAndHeight = minioUtil.getImagesWidthAndHeight(targetPath); + libModel.setUrl(url); + libModel.setMd5(MD5Utils.encryptFile(minioUtil.getPreSignedUrl(url, CommonConstant.MINIO_IMAGE_EXPIRE_TIME), false)); + List imagesWidthAndHeight = minioUtil.getImagesWidthAndHeight(url); libModel.setWidth(imagesWidthAndHeight.get(0)); libModel.setHigh(imagesWidthAndHeight.get(1)); libModel.setUpdateDate(DateUtil.getByTimeZone(libraryModelPointDTO.getTimeZone())); @@ -108,28 +98,28 @@ public class LibraryModelPointServiceImpl extends ServiceImpl imagesWidthAndHeight = minioUtil.getImagesWidthAndHeight(targetPath); - saveAsModel.setWidth(imagesWidthAndHeight.get(0)); - saveAsModel.setHigh(imagesWidthAndHeight.get(1)); - saveAsModel.setCreateDate(DateUtil.getByTimeZone(libraryModelPointDTO.getTimeZone())); - libraryService.save(saveAsModel); - // 更新新的模特在library中的id,用于后面新建模特点位信息用 - libraryModelPointDTO.setLibraryId(saveAsModel.getId()); - } + Library saveAsModel = new Library(); + saveAsModel.setAccountId(libModel.getAccountId()); + saveAsModel.setLevel1Type(libModel.getLevel1Type()); + saveAsModel.setLevel2Type(libModel.getLevel2Type()); + saveAsModel.setName(DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD)); + saveAsModel.setUrl(url); + saveAsModel.setMd5(MD5Utils.encryptFile(minioUtil.getPreSignedUrl(url, CommonConstant.MINIO_IMAGE_EXPIRE_TIME), false)); + List imagesWidthAndHeight = minioUtil.getImagesWidthAndHeight(url); + saveAsModel.setWidth(imagesWidthAndHeight.get(0)); + saveAsModel.setHigh(imagesWidthAndHeight.get(1)); + saveAsModel.setCreateDate(DateUtil.getByTimeZone(libraryModelPointDTO.getTimeZone())); + libraryService.save(saveAsModel); + // 更新新的模特在library中的id,用于后面新建模特点位信息用 + libraryModelPointDTO.setLibraryId(saveAsModel.getId()); // 新增模特点位信息 LibraryModelPoint libraryModelPoint = resolvePoint(libraryModelPointDTO); + libraryModelPoint.setModelType("Library"); libraryModelPoint.setCreateDate(DateUtil.getByTimeZone(libraryModelPointDTO.getTimeZone())); save(libraryModelPoint); libraryModelPointVO.setTemplateId(libraryModelPoint.getId()); + libraryModelPointVO.setRelationId(libraryModelPoint.getRelationId()); } //编辑 /*if (!StringUtils.isEmpty(libraryModelPointDTO.getModelSex())) { diff --git a/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java b/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java index 3ee3e81a..6679b842 100644 --- a/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java @@ -24,7 +24,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.base.Function; import lombok.extern.slf4j.Slf4j; import okhttp3.*; import org.apache.commons.fileupload.FileItem; @@ -51,7 +50,6 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -852,12 +850,14 @@ public class LibraryServiceImpl extends ServiceImpl impl } Library library = CopyUtil.copyObject(sysFile, Library.class); + library.setId(null); library.setAccountId(accountId); library.setName(DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD)); List imagesWidthAndHeight = minioUtil.getImagesWidthAndHeight(sysFile.getUrl()); library.setWidth(imagesWidthAndHeight.get(0)); library.setHigh(imagesWidthAndHeight.get(1)); library.setCreateDate(new Date()); + library.setUpdateDate(null); libraryMapper.insert(library); return library.getId(); diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties index 7599e966..72d23f64 100644 --- a/src/main/resources/messages_en.properties +++ b/src/main/resources/messages_en.properties @@ -151,6 +151,8 @@ remaining.credits.insufficient=Your remaining credits are insufficient for this you.haven't.subscribed.to.any.products.yet=You haven't subscribed to any products yet generate.result.below.standard=The quality of the generated images currently falls below standard. Please consider adjusting your prompt and trying again. partial.design.failed=Partial design failed, Please try again later. +email.count.limit=Rate limit reached. Retry in 1 hour. +model.path.cannot.be.empty=Model path cannot be empty. # 可能会报异常 # Informative: diff --git a/src/main/resources/messages_zh.properties b/src/main/resources/messages_zh.properties index d16d1a1a..4313f6a3 100644 --- a/src/main/resources/messages_zh.properties +++ b/src/main/resources/messages_zh.properties @@ -147,6 +147,8 @@ remaining.credits.insufficient=您的剩余积分不够本次生成消耗,请 you.haven't.subscribed.to.any.products.yet=您还未订阅任何产品 generate.result.below.standard=当前生成的图像质量低于标准。请考虑调整您的提示词并再次尝试 partial.design.failed=局部设计失败。请稍后重试。 +email.count.limit=您的账号触发邮件发送频率限制,请一小时后重试。 +model.path.cannot.be.empty=模特路径不能为空 # 可能会报异常 # Informative: