Commit f347b15a1e5a98118e535b5e92340a1e292bb001

Authored by cherishsince
1 parent ed372cff

【解决todo】删除 mj 相关字段,抽离到 drawRequest 和 drwaResponse

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/mysql/image/AiImageMapper.java
... ... @@ -24,7 +24,8 @@ public interface AiImageMapper extends BaseMapperX<AiImageDO> {
24 24 * @param aiImageDO
25 25 */
26 26 default void updateByMjNonce(Long mjNonceId, AiImageDO aiImageDO) {
27   - this.update(aiImageDO, new LambdaQueryWrapperX<AiImageDO>().eq(AiImageDO::getMjNonceId, mjNonceId));
  27 +// this.update(aiImageDO, new LambdaQueryWrapperX<AiImageDO>().eq(AiImageDO::getMjNonceId, mjNonceId));
  28 + return;
28 29 }
29 30  
30 31 }
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java
... ... @@ -26,7 +26,7 @@ public interface AiImageService {
26 26 * @param id
27 27 * @return
28 28 */
29   - AiImageListRespVO get(Long id);
  29 + AiImageListRespVO getMy(Long id);
30 30  
31 31 /**
32 32 * ai绘画 - dall2/dall3 绘画
... ... @@ -54,7 +54,8 @@ public interface AiImageService {
54 54 * 删除 - image 记录
55 55 *
56 56 * @param id
  57 + * @param loginUserId
57 58 */
58   - void delete(Long id);
  59 + void deleteMy(Long id, Long loginUserId);
59 60  
60 61 }
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
... ... @@ -39,6 +39,9 @@ import java.util.concurrent.LinkedBlockingQueue;
39 39 import java.util.concurrent.ThreadPoolExecutor;
40 40 import java.util.concurrent.TimeUnit;
41 41  
  42 +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  43 +
  44 +
42 45 // TODO @fan:注释优化下哈
43 46 /**
44 47 * ai 作图
... ... @@ -105,7 +108,7 @@ public class AiImageServiceImpl implements AiImageService {
105 108  
106 109 // TODO @fan:1)返回 DO;VO 的翻译,交给 Controller;2)还有,使用 BeanUtils 替代哈
107 110 @Override
108   - public AiImageListRespVO get(Long id) {
  111 + public AiImageListRespVO getMy(Long id) {
109 112 AiImageDO aiImageDO = aiImageMapper.selectById(id);
110 113 return AiImageConvert.INSTANCE.convertAiImageListRespVO(aiImageDO);
111 114 }
... ... @@ -172,34 +175,37 @@ public class AiImageServiceImpl implements AiImageService {
172 175 @Transactional(rollbackFor = Exception.class)
173 176 @Override
174 177 public void midjourneyOperate(AiImageMidjourneyOperateReqVO req) {
175   - // 校验是否存在
176   - AiImageDO aiImageDO = validateExists(req.getId());
177   - // 获取 midjourneyOperations
178   - List<AiImageMidjourneyOperationsVO> midjourneyOperations = getMidjourneyOperations(aiImageDO);
179   - // 校验 OperateId 是否存在
180   - AiImageMidjourneyOperationsVO midjourneyOperationsVO = validateMidjourneyOperationsExists(midjourneyOperations, req.getOperateId());
181   - // 校验 messageId
182   - validateMessageId(aiImageDO.getMjNonceId(), req.getMessageId());
183   - // 获取 mjOperationName
184   - String mjOperationName = midjourneyOperationsVO.getLabel();
185   - // 保存一个 image 任务记录
186   - // todo
187   -// doSave(aiImageDO.getPrompt(), aiImageDO.getSize(), aiImageDO.getModel(),
188   -// null, null, AiImageStatusEnum.SUBMIT, null,
189   -// req.getMessageId(), req.getOperateId(), mjOperationName);
190   - // 提交操作
191   - midjourneyInteractionsApi.reRoll(
192   - new ReRollReq()
193   - .setCustomId(req.getOperateId())
194   - .setMessageId(req.getMessageId())
195   - );
  178 +// // 校验是否存在
  179 +// AiImageDO aiImageDO = validateExists(req.getId());
  180 +// // 获取 midjourneyOperations
  181 +// List<AiImageMidjourneyOperationsVO> midjourneyOperations = getMidjourneyOperations(aiImageDO);
  182 +// // 校验 OperateId 是否存在
  183 +// AiImageMidjourneyOperationsVO midjourneyOperationsVO = validateMidjourneyOperationsExists(midjourneyOperations, req.getOperateId());
  184 +// // 校验 messageId
  185 +// validateMessageId(aiImageDO.getMjNonceId(), req.getMessageId());
  186 +// // 获取 mjOperationName
  187 +// String mjOperationName = midjourneyOperationsVO.getLabel();
  188 +// // 保存一个 image 任务记录
  189 +// // todo
  190 +//// doSave(aiImageDO.getPrompt(), aiImageDO.getSize(), aiImageDO.getModel(),
  191 +//// null, null, AiImageStatusEnum.SUBMIT, null,
  192 +//// req.getMessageId(), req.getOperateId(), mjOperationName);
  193 +// // 提交操作
  194 +// midjourneyInteractionsApi.reRoll(
  195 +// new ReRollReq()
  196 +// .setCustomId(req.getOperateId())
  197 +// .setMessageId(req.getMessageId())
  198 +// );
196 199 }
197 200  
198 201 // TODO @fan:1)需要校验存在;2)需要校验属于我;
199 202 @Override
200   - public void delete(Long id) {
  203 + public void deleteMy(Long id, Long loginUserId) {
201 204 // 校验记录是否存在
202 205 AiImageDO aiImageDO = validateExists(id);
  206 + if (!aiImageDO.getUserId().equals(loginUserId)) {
  207 + throw exception(ErrorCodeConstants.AI_IMAGE_NOT_CREATE_USER);
  208 + }
203 209 // 删除记录
204 210 aiImageMapper.deleteById(id);
205 211 }
... ... @@ -221,10 +227,11 @@ public class AiImageServiceImpl implements AiImageService {
221 227  
222 228  
223 229 private List<AiImageMidjourneyOperationsVO> getMidjourneyOperations(AiImageDO aiImageDO) {
224   - if (StrUtil.isBlank(aiImageDO.getMjOperations())) {
225   - return Collections.emptyList();
226   - }
227   - return JsonUtils.parseArray(aiImageDO.getMjOperations(), AiImageMidjourneyOperationsVO.class);
  230 +// if (StrUtil.isBlank(aiImageDO.getMjOperations())) {
  231 +// return Collections.emptyList();
  232 +// }
  233 +// return JsonUtils.parseArray(aiImageDO.getMjOperations(), AiImageMidjourneyOperationsVO.class);
  234 + return null;
228 235 }
229 236  
230 237 private AiImageDO validateExists(Long id) {
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/midjourneyHandler/YuDaoMidjourneyMessageHandler.java
... ... @@ -96,9 +96,10 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler {
96 96 drawingStatusEnum = AiImageStatusEnum.COMPLETE;
97 97 } else if (MidjourneyGennerateStatusEnum.IN_PROGRESS.getStatus().equals(generateStatus)) {
98 98 drawingStatusEnum = AiImageStatusEnum.IN_PROGRESS;
99   - } else if (MidjourneyGennerateStatusEnum.WAITING.getStatus().equals(generateStatus)) {
100   - drawingStatusEnum = AiImageStatusEnum.WAITING;
101 99 }
  100 +// else if (MidjourneyGennerateStatusEnum.WAITING.getStatus().equals(generateStatus)) {
  101 +// drawingStatusEnum = AiImageStatusEnum.WAITING;
  102 +// }
102 103 // 获取 midjourneyOperations
103 104 List<AiImageMidjourneyOperationsVO> midjourneyOperations = getMidjourneyOperationsList(midjourneyMessage);
104 105 // 更新数据库
... ... @@ -106,8 +107,8 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler {
106 107 new AiImageDO()
107 108 .setOriginalPicUrl(imageUrl)
108 109 .setStatus(drawingStatusEnum == null ? null : drawingStatusEnum.getStatus())
109   - .setMjNonceId(midjourneyMessage.getId())
110   - .setMjOperations(JsonUtils.toJsonString(midjourneyOperations))
  110 +// .setMjNonceId(midjourneyMessage.getId())
  111 +// .setMjOperations(JsonUtils.toJsonString(midjourneyOperations))
111 112 );
112 113 }
113 114  
... ...