mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-29 09:18:42 +08:00 
			
		
		
		
	【优化】抽离 midjourneyNotify 需要更新的 image 对象,方便在job中公用
This commit is contained in:
		| @@ -64,6 +64,15 @@ public interface AiImageService { | ||||
|      */ | ||||
|     Boolean midjourneyNotify(MidjourneyNotifyReqVO notifyReqVO); | ||||
|  | ||||
|     /** | ||||
|      * 构建 midjourney - 更新对象 | ||||
|      * | ||||
|      * @param imageId | ||||
|      * @param notifyReqVO | ||||
|      * @return | ||||
|      */ | ||||
|     AiImageDO buildUpdateImage(Long imageId, MidjourneyNotifyReqVO notifyReqVO); | ||||
|  | ||||
|     /** | ||||
|      * midjourney - action(放大、缩小、U1、U2...) | ||||
|      * | ||||
|   | ||||
| @@ -193,6 +193,13 @@ public class AiImageServiceImpl implements AiImageService { | ||||
|             log.warn("midjourneyNotify 回调的 jobId 不存在! jobId: {}", notifyReqVO.getId()); | ||||
|             return false; | ||||
|         } | ||||
|         // 2、转换状态 | ||||
|         AiImageDO updateImage = buildUpdateImage(image.getId(), notifyReqVO); | ||||
|         // 3、更新 image 状态 | ||||
|         return imageMapper.updateById(updateImage) > 0; | ||||
|     } | ||||
|  | ||||
|     public AiImageDO buildUpdateImage(Long imageId, MidjourneyNotifyReqVO notifyReqVO) { | ||||
|         // 2、转换状态 | ||||
|         String imageStatus = null; | ||||
|         MidjourneyTaskStatusEnum taskStatusEnum = MidjourneyTaskStatusEnum.valueOf(notifyReqVO.getStatus()); | ||||
| @@ -211,17 +218,14 @@ public class AiImageServiceImpl implements AiImageService { | ||||
|             } | ||||
|         } | ||||
|         // 4、更新 image 状态 | ||||
|         imageMapper.updateById( | ||||
|                 new AiImageDO() | ||||
|                         .setId(image.getId()) | ||||
|                         .setStatus(imageStatus) | ||||
|                         .setPicUrl(filePath) | ||||
|                         .setProgress(notifyReqVO.getProgress()) | ||||
|                         .setResponse(notifyReqVO) | ||||
|                         .setButtons(notifyReqVO.getButtons()) | ||||
|                         .setErrorMessage(notifyReqVO.getFailReason()) | ||||
|         ); | ||||
|         return true; | ||||
|         return new AiImageDO() | ||||
|                 .setId(imageId) | ||||
|                 .setStatus(imageStatus) | ||||
|                 .setPicUrl(filePath) | ||||
|                 .setProgress(notifyReqVO.getProgress()) | ||||
|                 .setResponse(notifyReqVO) | ||||
|                 .setButtons(notifyReqVO.getButtons()) | ||||
|                 .setErrorMessage(notifyReqVO.getFailReason()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -234,12 +238,28 @@ public class AiImageServiceImpl implements AiImageService { | ||||
|             throw exception(AI_IMAGE_CUSTOM_ID_NOT_EXISTS); | ||||
|         } | ||||
|         // 3、调用 midjourney proxy | ||||
|         midjourneyProxyClient.action( | ||||
|         MidjourneySubmitRespVO submitRespVO = midjourneyProxyClient.action( | ||||
|                 new MidjourneyActionReqVO() | ||||
|                         .setCustomId(customId) | ||||
|                         .setTaskId(aiImageDO.getTaskId()) | ||||
|                         .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; | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 cherishsince
					cherishsince