diff --git a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java index 675f9c12..e2f6cfcb 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -59,6 +59,7 @@ import org.bytedeco.javacv.Java2DFrameConverter; import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -253,7 +254,7 @@ public class GenerateServiceImpl extends ServiceImpl i jsonString = JSON.toJSONString(imageProcessRequest); } // 4、将请求信息落库,将本次generate的请求信息添加到t_generate表中 - save(generate); + saveGenerateImmediately(generate); Boolean requestResult = pythonService.generateSketchOrPrint(jsonString, port, path,generateThroughImageTextDTO.getUniqueId()); @@ -270,6 +271,10 @@ public class GenerateServiceImpl extends ServiceImpl i redisUtil.addToString(key, new Gson().toJson(generateResultVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME); } + @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) + public void saveGenerateImmediately(Generate generate) { + save(generate); + } public GenerateModeEnum getMode(GenerateThroughImageTextDTO generateThroughImageTextDTO) { if (!StringUtil.isNullOrEmpty(generateThroughImageTextDTO.getText())) { @@ -308,14 +313,14 @@ public class GenerateServiceImpl extends ServiceImpl i } } // Generate generate = selectByUniqueId(taskId); -// String md5 = MD5Utils.encryptFile(minioUtil.getPreSignedUrl(url, 24 * 60), Boolean.FALSE); -// // 通过MD5值和level1Type,判断不同level1Type下相同的图片是否被like过 -// List> libraryIdList = generateDetailMapper.getLibraryIdThroughMD5(md5, generate.getLevel1Type()); -// if (!libraryIdList.isEmpty()) { -// generateDetail.setIsLike((byte) 1); -// generateDetail.setLibraryId(libraryIdList.get(0).get("library_id")); -// generateCollectionItemVO.setIsLiked(Boolean.TRUE); -// } + String md5 = MD5Utils.encryptFile(minioUtil.getPreSignedUrl(url, 24 * 60), Boolean.FALSE); + // 通过MD5值和level1Type,判断不同level1Type下相同的图片是否被like过 + List> libraryIdList = generateDetailMapper.getLibraryIdThroughMD5(md5, generate.getLevel1Type()); + if (!libraryIdList.isEmpty()) { + generateDetail.setIsLike((byte) 1); + generateDetail.setLibraryId(libraryIdList.get(0).get("library_id")); + generateCollectionItemVO.setIsLiked(Boolean.TRUE); + } generateDetail.setUrl(url); generateDetail.setGenerateId(generate.getId()); generateDetail.setCreateDate(LocalDateTime.now());