mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-02-01 19:24:57 +08:00
【解决todo】增加 finishTime 完成时间
This commit is contained in:
parent
f20c27a7ef
commit
3d2b0decd9
@ -51,7 +51,12 @@ public class AiImageRespVO {
|
|||||||
@Schema(description = "mj buttons 按钮")
|
@Schema(description = "mj buttons 按钮")
|
||||||
private List<MidjourneyApi.Button> buttons;
|
private List<MidjourneyApi.Button> buttons;
|
||||||
|
|
||||||
|
@Schema(description = "完成时间")
|
||||||
|
private LocalDateTime finishTime;
|
||||||
|
|
||||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import lombok.Data;
|
|||||||
import org.springframework.ai.openai.OpenAiImageOptions;
|
import org.springframework.ai.openai.OpenAiImageOptions;
|
||||||
import org.springframework.ai.stabilityai.api.StabilityAiImageOptions;
|
import org.springframework.ai.stabilityai.api.StabilityAiImageOptions;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -111,6 +112,11 @@ public class AiImageDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private String taskId;
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime finishTime;
|
||||||
|
|
||||||
public static class ButtonTypeHandler extends AbstractJsonTypeHandler<Object> {
|
public static class ButtonTypeHandler extends AbstractJsonTypeHandler<Object> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -35,6 +35,7 @@ import org.springframework.scheduling.annotation.Async;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -106,11 +107,12 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
|
|
||||||
// 3. 更新数据库
|
// 3. 更新数据库
|
||||||
imageMapper.updateById(new AiImageDO().setId(image.getId()).setStatus(AiImageStatusEnum.SUCCESS.getStatus())
|
imageMapper.updateById(new AiImageDO().setId(image.getId()).setStatus(AiImageStatusEnum.SUCCESS.getStatus())
|
||||||
.setPicUrl(filePath));
|
.setPicUrl(filePath).setFinishTime(LocalDateTime.now()));
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
log.error("[doDall][image({}) 生成异常]", image, ex);
|
log.error("[doDall][image({}) 生成异常]", image, ex);
|
||||||
imageMapper.updateById(new AiImageDO().setId(image.getId())
|
imageMapper.updateById(new AiImageDO().setId(image.getId())
|
||||||
.setStatus(AiImageStatusEnum.FAIL.getStatus()).setErrorMessage(ex.getMessage()));
|
.setStatus(AiImageStatusEnum.FAIL.getStatus())
|
||||||
|
.setErrorMessage(ex.getMessage()).setFinishTime(LocalDateTime.now()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,12 +256,15 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
private void updateMidjourneyStatus(AiImageDO image, MidjourneyApi.Notify notify) {
|
private void updateMidjourneyStatus(AiImageDO image, MidjourneyApi.Notify notify) {
|
||||||
// 1. 转换状态
|
// 1. 转换状态
|
||||||
Integer status = null;
|
Integer status = null;
|
||||||
|
LocalDateTime finishTime = null;
|
||||||
if (StrUtil.isNotBlank(notify.status())) {
|
if (StrUtil.isNotBlank(notify.status())) {
|
||||||
MidjourneyApi.TaskStatusEnum taskStatusEnum = MidjourneyApi.TaskStatusEnum.valueOf(notify.status());
|
MidjourneyApi.TaskStatusEnum taskStatusEnum = MidjourneyApi.TaskStatusEnum.valueOf(notify.status());
|
||||||
if (MidjourneyApi.TaskStatusEnum.SUCCESS == taskStatusEnum) {
|
if (MidjourneyApi.TaskStatusEnum.SUCCESS == taskStatusEnum) {
|
||||||
status = AiImageStatusEnum.SUCCESS.getStatus();
|
status = AiImageStatusEnum.SUCCESS.getStatus();
|
||||||
|
finishTime = LocalDateTime.now();
|
||||||
} else if (MidjourneyApi.TaskStatusEnum.FAILURE == taskStatusEnum) {
|
} else if (MidjourneyApi.TaskStatusEnum.FAILURE == taskStatusEnum) {
|
||||||
status = AiImageStatusEnum.FAIL.getStatus();
|
status = AiImageStatusEnum.FAIL.getStatus();
|
||||||
|
finishTime = LocalDateTime.now();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,7 +281,8 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
|
|
||||||
// 3. 更新 image 状态
|
// 3. 更新 image 状态
|
||||||
imageMapper.updateById(new AiImageDO().setId(image.getId()).setStatus(status)
|
imageMapper.updateById(new AiImageDO().setId(image.getId()).setStatus(status)
|
||||||
.setPicUrl(picUrl).setButtons(notify.buttons()).setErrorMessage(notify.failReason()));
|
.setPicUrl(picUrl).setButtons(notify.buttons()).setErrorMessage(notify.failReason())
|
||||||
|
.setFinishTime(finishTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user