mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-27 01:32:03 +08:00
【代码评审】AI:AI 绘图的逻辑
This commit is contained in:
parent
4932ce60d2
commit
c7ee3dc2cd
@ -8,16 +8,17 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
// TODO @fan:@time、@sine 注解可以不加哈
|
||||||
/**
|
/**
|
||||||
* ai 绘画
|
* AI 绘画 DO
|
||||||
*
|
*
|
||||||
* @author fansili
|
* @author fansili
|
||||||
* @time 2024/4/25 15:53
|
* @time 2024/4/25 15:53
|
||||||
* @since 1.0
|
* @since 1.0
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true) // TODO @fan:这个不用添加哈,全局的 lombok.config 搞啦
|
||||||
@TableName("ai_image")
|
@TableName("ai_image") // TODO @fan:建议放在 @Data 前面,因为它是关键注解,@Data 本质可悲替代
|
||||||
public class AiImageDO extends BaseDO {
|
public class AiImageDO extends BaseDO {
|
||||||
|
|
||||||
@TableId(type = IdType.AUTO)
|
@TableId(type = IdType.AUTO)
|
||||||
@ -31,12 +32,14 @@ public class AiImageDO extends BaseDO {
|
|||||||
|
|
||||||
// TODO @fan:要加一个平台字段;platform;因为一个平台,会有多种 model 模型;
|
// TODO @fan:要加一个平台字段;platform;因为一个平台,会有多种 model 模型;
|
||||||
|
|
||||||
@Schema(description = "模型 dall2/dall3、MJ、NIJI")
|
@Schema(description = "模型")
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
@Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。")
|
// TODO @fan:这个记录到 db,要不改成 width、height?更明确的尺寸
|
||||||
|
@Schema(description = "尺寸大小")
|
||||||
private String size;
|
private String size;
|
||||||
|
|
||||||
|
// TODO @fan:style 是所有模型都有么?如果不是,是不是靠 drawRequest 记录下就好了;
|
||||||
@Schema(description = "风格")
|
@Schema(description = "风格")
|
||||||
private String style;
|
private String style;
|
||||||
|
|
||||||
@ -55,6 +58,9 @@ public class AiImageDO extends BaseDO {
|
|||||||
@Schema(description = "是否发布")
|
@Schema(description = "是否发布")
|
||||||
private String publicStatus;
|
private String publicStatus;
|
||||||
|
|
||||||
|
// TODO @fan:增加一个 Map<String, Object> 字段,drawRequest;用于记录请求模型的字段;对应的就是 ImageOptions
|
||||||
|
// TODO @fan:增加一个 Map<String, Object> 字段,记录 ImageResponseMetadata?这样 mjNonceId、mjOperationId、mjOperationName、mjOperations 这些字段,貌似可以收掉
|
||||||
|
|
||||||
// ============ mj 需要字段
|
// ============ mj 需要字段
|
||||||
|
|
||||||
@Schema(description = "用户操作的Nonce编号(MJ返回)")
|
@Schema(description = "用户操作的Nonce编号(MJ返回)")
|
||||||
|
@ -141,8 +141,7 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
String filePath = fileApi.createFile(HttpUtil.downloadBytes(imageGeneration.getOutput().getUrl()));
|
String filePath = fileApi.createFile(HttpUtil.downloadBytes(imageGeneration.getOutput().getUrl()));
|
||||||
// 更新数据库
|
// 更新数据库
|
||||||
aiImageMapper.updateById(new AiImageDO().setId(aiImageDO.getId()).setStatus(AiImageStatusEnum.COMPLETE.getStatus())
|
aiImageMapper.updateById(new AiImageDO().setId(aiImageDO.getId()).setStatus(AiImageStatusEnum.COMPLETE.getStatus())
|
||||||
.setPicUrl(filePath).setOriginalPicUrl(imageGeneration.getOutput().getUrl())
|
.setPicUrl(filePath).setOriginalPicUrl(imageGeneration.getOutput().getUrl()));
|
||||||
);
|
|
||||||
} catch (AiException aiException) {
|
} catch (AiException aiException) {
|
||||||
// TODO @fan:错误日志,也打印下哈;因为 aiException.getMessage() 比较精简;
|
// TODO @fan:错误日志,也打印下哈;因为 aiException.getMessage() 比较精简;
|
||||||
aiImageMapper.updateById(new AiImageDO().setId(aiImageDO.getId()).setStatus(AiImageStatusEnum.FAIL.getStatus())
|
aiImageMapper.updateById(new AiImageDO().setId(aiImageDO.getId()).setStatus(AiImageStatusEnum.FAIL.getStatus())
|
||||||
|
Loading…
Reference in New Issue
Block a user