mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-23 15:51:52 +08:00
【优化】抽离 midjourneyNotify 需要更新的 image 对象,方便在job中公用
This commit is contained in:
parent
000bcf1143
commit
2b3593dfe0
@ -64,6 +64,15 @@ public interface AiImageService {
|
|||||||
*/
|
*/
|
||||||
Boolean midjourneyNotify(MidjourneyNotifyReqVO notifyReqVO);
|
Boolean midjourneyNotify(MidjourneyNotifyReqVO notifyReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建 midjourney - 更新对象
|
||||||
|
*
|
||||||
|
* @param imageId
|
||||||
|
* @param notifyReqVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
AiImageDO buildUpdateImage(Long imageId, MidjourneyNotifyReqVO notifyReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* midjourney - action(放大、缩小、U1、U2...)
|
* midjourney - action(放大、缩小、U1、U2...)
|
||||||
*
|
*
|
||||||
|
@ -193,6 +193,13 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
log.warn("midjourneyNotify 回调的 jobId 不存在! jobId: {}", notifyReqVO.getId());
|
log.warn("midjourneyNotify 回调的 jobId 不存在! jobId: {}", notifyReqVO.getId());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// 2、转换状态
|
||||||
|
AiImageDO updateImage = buildUpdateImage(image.getId(), notifyReqVO);
|
||||||
|
// 3、更新 image 状态
|
||||||
|
return imageMapper.updateById(updateImage) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AiImageDO buildUpdateImage(Long imageId, MidjourneyNotifyReqVO notifyReqVO) {
|
||||||
// 2、转换状态
|
// 2、转换状态
|
||||||
String imageStatus = null;
|
String imageStatus = null;
|
||||||
MidjourneyTaskStatusEnum taskStatusEnum = MidjourneyTaskStatusEnum.valueOf(notifyReqVO.getStatus());
|
MidjourneyTaskStatusEnum taskStatusEnum = MidjourneyTaskStatusEnum.valueOf(notifyReqVO.getStatus());
|
||||||
@ -211,17 +218,14 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 4、更新 image 状态
|
// 4、更新 image 状态
|
||||||
imageMapper.updateById(
|
return new AiImageDO()
|
||||||
new AiImageDO()
|
.setId(imageId)
|
||||||
.setId(image.getId())
|
|
||||||
.setStatus(imageStatus)
|
.setStatus(imageStatus)
|
||||||
.setPicUrl(filePath)
|
.setPicUrl(filePath)
|
||||||
.setProgress(notifyReqVO.getProgress())
|
.setProgress(notifyReqVO.getProgress())
|
||||||
.setResponse(notifyReqVO)
|
.setResponse(notifyReqVO)
|
||||||
.setButtons(notifyReqVO.getButtons())
|
.setButtons(notifyReqVO.getButtons())
|
||||||
.setErrorMessage(notifyReqVO.getFailReason())
|
.setErrorMessage(notifyReqVO.getFailReason());
|
||||||
);
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -234,12 +238,28 @@ public class AiImageServiceImpl implements AiImageService {
|
|||||||
throw exception(AI_IMAGE_CUSTOM_ID_NOT_EXISTS);
|
throw exception(AI_IMAGE_CUSTOM_ID_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
// 3、调用 midjourney proxy
|
// 3、调用 midjourney proxy
|
||||||
midjourneyProxyClient.action(
|
MidjourneySubmitRespVO submitRespVO = midjourneyProxyClient.action(
|
||||||
new MidjourneyActionReqVO()
|
new MidjourneyActionReqVO()
|
||||||
.setCustomId(customId)
|
.setCustomId(customId)
|
||||||
.setTaskId(aiImageDO.getTaskId())
|
.setTaskId(aiImageDO.getTaskId())
|
||||||
.setNotifyHook(midjourneyNotifyUrl)
|
.setNotifyHook(midjourneyNotifyUrl)
|
||||||
);
|
);
|
||||||
|
// 6、保存任务 id (状态码: 1(提交成功), 21(已存在), 22(排队中), other(错误))
|
||||||
|
if (!MidjourneySubmitCodeEnum.SUCCESS_CODES.contains(submitRespVO.getCode())) {
|
||||||
|
throw exception(AI_IMAGE_MIDJOURNEY_SUBMIT_FAIL, submitRespVO.getDescription());
|
||||||
|
}
|
||||||
|
// 4、新增 image 记录
|
||||||
|
AiImageDO newImage = BeanUtils.toBean(aiImageDO, AiImageDO.class);
|
||||||
|
// 4.1、重置参数
|
||||||
|
newImage.setId(null);
|
||||||
|
newImage.setStatus(AiImageStatusEnum.IN_PROGRESS.getStatus());
|
||||||
|
newImage.setPicUrl(null);
|
||||||
|
newImage.setResponse(null);
|
||||||
|
newImage.setProgress(null);
|
||||||
|
newImage.setTaskId(submitRespVO.getResult());
|
||||||
|
newImage.setErrorMessage(null);
|
||||||
|
// 4.2、保存数据库
|
||||||
|
imageMapper.insert(newImage);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user