新增谷歌模型违规提示词或图片报错
模型扣除积分修改 压缩转产品图的输入 fix:sort时有类型转换异常
This commit is contained in:
@@ -99,6 +99,12 @@ public class CollectionSortServiceImpl extends ServiceImpl<CollectionSortMapper,
|
||||
}
|
||||
|
||||
Map<String, Object> result = baseMapper.selectMaps(qw).get(0);
|
||||
Object maxSortObj = result.get("maxSort");
|
||||
if (maxSortObj instanceof Long) {
|
||||
return ((Long) maxSortObj).intValue();
|
||||
} else if (maxSortObj instanceof Integer) {
|
||||
return (Integer) maxSortObj;
|
||||
}
|
||||
return (Integer) result.get("maxSort");
|
||||
}
|
||||
|
||||
|
||||
@@ -650,7 +650,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
// ============== 以下是辅助方法 ==============
|
||||
private PrepareForGenerateVO handleImagenModelGeneration(GenerateThroughImageTextDTO generateDTO, String useModel, String prompt) {
|
||||
// 校验积分是否足够
|
||||
// validateCredits(CreditsEventsEnum.WX_TEXT2IMG);
|
||||
validateCredits(CreditsEventsEnum.SCETCH_TEXT2IMG);
|
||||
// 创建生成任务
|
||||
String taskId = null;
|
||||
try {
|
||||
@@ -658,13 +658,13 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// processCreditDeduction(generateDTO.getUserId(), taskId, CreditsEventsEnum.WX_TEXT2IMG);
|
||||
processCreditDeduction(generateDTO.getUserId(), taskId, CreditsEventsEnum.SCETCH_TEXT2IMG);
|
||||
return new PrepareForGenerateVO(Collections.singletonList(taskId), 200);
|
||||
}
|
||||
|
||||
private PrepareForGenerateVO handleNanoBananaModelGeneration(GenerateThroughImageTextDTO generateDTO, String useModel, String prompt) {
|
||||
// 校验积分是否足够
|
||||
// validateCredits(CreditsEventsEnum.WX_TEXT2IMG);
|
||||
validateCredits(CreditsEventsEnum.SCETCH_IMG2IMG);
|
||||
// 创建生成任务
|
||||
String taskId = null;
|
||||
try {
|
||||
@@ -672,7 +672,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// processCreditDeduction(generateDTO.getUserId(), taskId, CreditsEventsEnum.WX_TEXT2IMG);
|
||||
processCreditDeduction(generateDTO.getUserId(), taskId, CreditsEventsEnum.SCETCH_IMG2IMG);
|
||||
return new PrepareForGenerateVO(Collections.singletonList(taskId), 200);
|
||||
}
|
||||
|
||||
@@ -695,11 +695,15 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
String finalImagePath = null;
|
||||
try {
|
||||
finalImagePath = addWhiteBackground(imagePath);
|
||||
//去掉"data:image/png;base64,"
|
||||
finalImagePath = finalImagePath.replace("data:image/png;base64,", "");
|
||||
// 如果白色背景处理失败或不需要,直接获取原图的base64编码
|
||||
if (StringUtil.isNullOrEmpty(finalImagePath)) {
|
||||
finalImagePath = minioUtil.getImageAsBase64(imagePath);
|
||||
// 如果白色背景处理成功,对base64图片进行压缩以降低模型成本
|
||||
if (!StringUtil.isNullOrEmpty(finalImagePath)) {
|
||||
// 压缩到512x512分辨率
|
||||
finalImagePath = minioUtil.compressBase64Image(finalImagePath, 512, 512);
|
||||
//去掉"data:image/png;base64,"
|
||||
finalImagePath = finalImagePath.replace("data:image/png;base64,", "");
|
||||
} else {
|
||||
// 如果白色背景处理失败或不需要,直接获取原图的压缩base64编码
|
||||
finalImagePath = minioUtil.getCompressedImageAsBase64(imagePath, 512, 512);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.error("Error getting image as base64 taskId: {} ", taskId, e);
|
||||
@@ -741,7 +745,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
JSONObject generationConfig = new JSONObject();
|
||||
// generationConfig.set("temperature", 1);
|
||||
generationConfig.set("maxOutputTokens", 8192);
|
||||
generationConfig.set("responseModalities", Arrays.asList("TEXT", "IMAGE"));
|
||||
generationConfig.set("responseModalities", Arrays.asList("IMAGE"));
|
||||
// generationConfig.set("topP", 0.95);
|
||||
JSONObject imageConfig = new JSONObject();
|
||||
imageConfig.set("aspectRatio", "9:16");
|
||||
@@ -815,7 +819,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
}
|
||||
|
||||
String result = response.body().string();
|
||||
// log.info("Google 响应结果:{}", result);
|
||||
log.info("Google 响应结果:{}", result);
|
||||
com.alibaba.fastjson.JSONObject jsonResponse = JSON.parseObject(result);
|
||||
|
||||
String base64Data = null;
|
||||
@@ -826,18 +830,36 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
|
||||
if (candidates != null && !candidates.isEmpty()) {
|
||||
com.alibaba.fastjson.JSONObject candidate = candidates.getJSONObject(0);
|
||||
com.alibaba.fastjson.JSONObject contentResult = candidate.getJSONObject("content");
|
||||
JSONArray parts = contentResult.getJSONArray("parts");
|
||||
String finishReason = candidate.getString("finishReason");
|
||||
if (finishReason != null && finishReason.equals("STOP")) {
|
||||
success = true;
|
||||
com.alibaba.fastjson.JSONObject contentResult = candidate.getJSONObject("content");
|
||||
JSONArray parts = contentResult.getJSONArray("parts");
|
||||
|
||||
// 遍历parts数组找到包含inlineData的对象
|
||||
for (int i = 0; i < parts.size(); i++) {
|
||||
com.alibaba.fastjson.JSONObject part = parts.getJSONObject(i);
|
||||
if (part.containsKey("inlineData")) {
|
||||
com.alibaba.fastjson.JSONObject inlineDataResult = part.getJSONObject("inlineData");
|
||||
base64Data = inlineDataResult.getString("data");
|
||||
break;
|
||||
// 遍历parts数组找到包含inlineData的对象
|
||||
for (int i = 0; i < parts.size(); i++) {
|
||||
com.alibaba.fastjson.JSONObject part = parts.getJSONObject(i);
|
||||
if (part.containsKey("inlineData")) {
|
||||
com.alibaba.fastjson.JSONObject inlineDataResult = part.getJSONObject("inlineData");
|
||||
base64Data = inlineDataResult.getString("data");
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (finishReason != null && finishReason.equals("IMAGE_SAFETY")) {
|
||||
String finishMessage = candidate.getString("finishMessage");
|
||||
if (finishMessage != null && finishMessage.contains("Try rephrasing the prompt or ")) {
|
||||
finishMessage = "Try rephrasing the prompt or modifying the model image. If you think this was an error, send feedback.";
|
||||
LambdaQueryWrapper<Account> select = new LambdaQueryWrapper<Account>().eq(Account::getId, userId).select(Account::getLanguage);
|
||||
Account account = accountService.getOne(select);
|
||||
if ("CHINESE_SIMPLIFIED".equals(account.getLanguage())) {
|
||||
finishMessage = "请尝试重新表述提示词,或修改模特图。若您认为这是误判,可提交反馈。";
|
||||
}
|
||||
GenerateResultVO failResultVO = new GenerateResultVO(taskId, null, finishMessage, "Fail");
|
||||
redisUtil.addToString(key, new Gson().toJson(failResultVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -969,7 +991,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
JSONObject generationConfig = new JSONObject();
|
||||
// generationConfig.set("temperature", 1);
|
||||
generationConfig.set("maxOutputTokens", 8192);
|
||||
generationConfig.set("responseModalities", Arrays.asList("TEXT", "IMAGE"));
|
||||
generationConfig.set("responseModalities", Arrays.asList("IMAGE"));
|
||||
JSONObject imageConfig = new JSONObject();
|
||||
imageConfig.set("aspectRatio", "9:16");
|
||||
generationConfig.set("imageConfig", imageConfig);
|
||||
@@ -1075,17 +1097,34 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
if (candidates != null && !candidates.isEmpty()) {
|
||||
com.alibaba.fastjson.JSONObject candidate = candidates.getJSONObject(0);
|
||||
com.alibaba.fastjson.JSONObject content = candidate.getJSONObject("content");
|
||||
JSONArray parts = content.getJSONArray("parts");
|
||||
String finishReason = candidate.getString("finishReason");
|
||||
if (finishReason != null && finishReason.equals("STOP")) {
|
||||
JSONArray parts = content.getJSONArray("parts");
|
||||
|
||||
// 遍历parts数组找到包含inlineData的对象
|
||||
for (int i = 0; i < parts.size(); i++) {
|
||||
com.alibaba.fastjson.JSONObject part = parts.getJSONObject(i);
|
||||
if (part.containsKey("inlineData")) {
|
||||
com.alibaba.fastjson.JSONObject inlineData = part.getJSONObject("inlineData");
|
||||
base64Data = inlineData.getString("data");
|
||||
break;
|
||||
// 遍历parts数组找到包含inlineData的对象
|
||||
for (int i = 0; i < parts.size(); i++) {
|
||||
com.alibaba.fastjson.JSONObject part = parts.getJSONObject(i);
|
||||
if (part.containsKey("inlineData")) {
|
||||
com.alibaba.fastjson.JSONObject inlineData = part.getJSONObject("inlineData");
|
||||
base64Data = inlineData.getString("data");
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (finishReason != null && finishReason.equals("IMAGE_SAFETY")) {
|
||||
String finishMessage = candidate.getString("finishMessage");
|
||||
if (finishMessage != null && finishMessage.contains("Try rephrasing the prompt or ")) {
|
||||
finishMessage = "Try rephrasing the prompt or replacing the image. If you think this was an error, send feedback.";
|
||||
LambdaQueryWrapper<Account> select = new LambdaQueryWrapper<Account>().eq(Account::getId, userId).select(Account::getLanguage);
|
||||
Account account = accountService.getOne(select);
|
||||
if ("CHINESE_SIMPLIFIED".equals(account.getLanguage())) {
|
||||
finishMessage = "请尝试重新表述提示词,或更换图片。若您认为这是误判,可提交反馈。";
|
||||
}
|
||||
GenerateResultVO failResultVO = new GenerateResultVO(taskId, null, finishMessage, "Fail");
|
||||
redisUtil.addToString(key, new Gson().toJson(failResultVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
} else if (ModelConstants.IMAGEN_MODEL.equals(useModel)) {
|
||||
JSONArray predictions = jsonResponse.getJSONArray("predictions");
|
||||
@@ -1093,6 +1132,17 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
if (predictions != null && !predictions.isEmpty()) {
|
||||
com.alibaba.fastjson.JSONObject prediction = predictions.getJSONObject(0);
|
||||
base64Data = prediction.getString("bytesBase64Encoded");
|
||||
String raiFilteredReason = prediction.getString("raiFilteredReason");
|
||||
if (raiFilteredReason != null && raiFilteredReason.contains("Try rephrasing the prompt")) {
|
||||
raiFilteredReason = "Input data may contain inappropriate content.";
|
||||
LambdaQueryWrapper<Account> select = new LambdaQueryWrapper<Account>().eq(Account::getId, userId).select(Account::getLanguage);
|
||||
Account account = accountService.getOne(select);
|
||||
if ("CHINESE_SIMPLIFIED".equals(account.getLanguage())) {
|
||||
raiFilteredReason = "输入数据可能包含不当内容。";
|
||||
}
|
||||
GenerateResultVO failResultVO = new GenerateResultVO(taskId, null, raiFilteredReason, "Fail");
|
||||
redisUtil.addToString(key, new Gson().toJson(failResultVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1291,20 +1341,24 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
|
||||
private PrepareForGenerateVO handleQwenModelGeneration(GenerateThroughImageTextDTO generateDTO, String useModel, String prompt) {
|
||||
|
||||
//TODO:校验积分是否足够
|
||||
validateCredits(CreditsEventsEnum.QWEN_TEXT2IMG);
|
||||
String taskId = createQwenAsyncTask(generateDTO, useModel, prompt);
|
||||
// TODO:处理积分扣除
|
||||
processCreditDeduction(generateDTO.getUserId(), taskId, CreditsEventsEnum.QWEN_TEXT2IMG);
|
||||
return new PrepareForGenerateVO(Collections.singletonList(taskId), 200);
|
||||
}
|
||||
|
||||
private PrepareForGenerateVO handleDouBaoModelGeneration(GenerateThroughImageTextDTO generateDTO, String useModel, String prompt) {
|
||||
//TODO:校验积分是否足够
|
||||
validateCredits(CreditsEventsEnum.DOUBAO_TEXT2IMG);
|
||||
CreditsEventsEnum creditsEvents = null;
|
||||
if (useModel.equals(ModelConstants.PRINTBOARD_ADVANCED_I2I)){
|
||||
creditsEvents = CreditsEventsEnum.DOUBAO_IMG2IMG_ADVANCED;
|
||||
}else if (useModel.equals(ModelConstants.PRINTBOARD_HIGH_I2I)){
|
||||
creditsEvents = CreditsEventsEnum.DOUBAO_IMG2IMG_HIGH;
|
||||
}else if (useModel.equals(ModelConstants.PRINTBOARD_HIGH_T2I)||useModel.equals(ModelConstants.MOODBOARD_ADVANCED)){
|
||||
creditsEvents = CreditsEventsEnum.DOUBAO_TEXT2IMG;
|
||||
}
|
||||
validateCredits(creditsEvents);
|
||||
String taskId = createDouBaoAsyncTask(generateDTO, useModel, prompt);
|
||||
// TODO:处理积分扣除
|
||||
processCreditDeduction(generateDTO.getUserId(), taskId, CreditsEventsEnum.DOUBAO_TEXT2IMG);
|
||||
processCreditDeduction(generateDTO.getUserId(), taskId, creditsEvents);
|
||||
|
||||
return new PrepareForGenerateVO(Collections.singletonList(taskId), 200);
|
||||
}
|
||||
@@ -1344,20 +1398,20 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
// 解析JSON格式的异常信息
|
||||
JSONObject jsonObj = JSONUtil.parseObj(exceptionMessage);
|
||||
exceptionMessage = jsonObj.getStr("message");
|
||||
if ("Input data may contain inappropriate content.".equals(exceptionMessage)){
|
||||
if ("Input data may contain inappropriate content.".equals(exceptionMessage)) {
|
||||
LambdaQueryWrapper<Account> select = new LambdaQueryWrapper<Account>().eq(Account::getId, userId).select(Account::getLanguage);
|
||||
Account account = accountService.getOne(select);
|
||||
if ("CHINESE_SIMPLIFIED".equals(account.getLanguage())){
|
||||
if ("CHINESE_SIMPLIFIED".equals(account.getLanguage())) {
|
||||
exceptionMessage = "输入数据可能包含不当内容。";
|
||||
}
|
||||
}
|
||||
throw new RuntimeException(exceptionMessage);
|
||||
throw new BusinessException(exceptionMessage, ResultEnum.PROMPT.getCode());
|
||||
} catch (Exception parseException) {
|
||||
// 如果解析失败,返回原始消息
|
||||
throw new RuntimeException(exceptionMessage);
|
||||
throw new BusinessException(exceptionMessage, ResultEnum.PROMPT.getCode());
|
||||
}
|
||||
}
|
||||
throw new RuntimeException(e.getMessage());
|
||||
throw new BusinessException(e.getMessage(), ResultEnum.PROMPT.getCode());
|
||||
}
|
||||
String taskId = result.getOutput().getTaskId();
|
||||
log.info("qwen text2image 请求生成:{}, taskId:{}", JsonUtils.toJson(result), taskId);
|
||||
@@ -2320,7 +2374,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
? handleLibrarySave(accountId, originalId, minioPath, category, gender, isOverride, generateModifyDTO.getType())
|
||||
: originalIdSource.equals("Generate")
|
||||
? handleGenerateSave(originalId, pathInfo.generateId, minioPath, category, isOverride)
|
||||
: handleUploadSave(accountId, originalId, minioPath, category, isOverride, generateModifyDTO.getType());
|
||||
: handleUploadSave(accountId, originalId, minioPath, category, generateModifyDTO.getGender(), isOverride, generateModifyDTO.getType());
|
||||
}
|
||||
|
||||
private static class PathInfo {
|
||||
@@ -2388,7 +2442,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
}
|
||||
|
||||
private GenerateResultVO handleUploadSave(Long accountId, Long originalId, String minioPath,
|
||||
String category, boolean isOverride, String level1Type) {
|
||||
String category, String gender, boolean isOverride, String level1Type) {
|
||||
CollectionElement collectionElement;
|
||||
String md5 = MD5Utils.encryptFile(minioUtil.getPreSignedUrl(minioPath, CommonConstant.MINIO_IMAGE_EXPIRE_TIME), false);
|
||||
if (isOverride) {
|
||||
@@ -2401,7 +2455,11 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
} else {
|
||||
CollectionElement originalElement = collectionElementMapper.selectById(originalId);
|
||||
String name = minioPath.substring(minioPath.lastIndexOf("/") + 1, minioPath.lastIndexOf("."));
|
||||
collectionElement = new CollectionElement(accountId, level1Type, category, name, minioPath, (byte) 0, md5, new Date(), originalElement.getProjectId());
|
||||
if ("Sketchboard".equals(level1Type)) {
|
||||
collectionElement = new CollectionElement(accountId, level1Type, category, gender, name, minioPath, (byte) 0, md5, new Date(), originalElement.getProjectId());
|
||||
} else {
|
||||
collectionElement = new CollectionElement(accountId, level1Type, category, name, minioPath, (byte) 0, md5, new Date(), originalElement.getProjectId());
|
||||
}
|
||||
collectionElementMapper.insert(collectionElement);
|
||||
}
|
||||
return buildResultVO(collectionElement.getId(), minioPath, category);
|
||||
@@ -3262,6 +3320,12 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
generateResultVO.setCategory(generateRecord.getLevel2Type());
|
||||
}
|
||||
return generateResultVO;
|
||||
} else if ("Fail".equals(cachedResult.getStatus())) {
|
||||
// 获取失败原因
|
||||
String errorMessage = cachedResult.getUrl();
|
||||
if (errorMessage != null) {
|
||||
throw new BusinessException(errorMessage, ResultEnum.PROMPT.getCode());
|
||||
}
|
||||
} else {
|
||||
throw new BusinessException("Unknown generate task");
|
||||
}
|
||||
|
||||
@@ -456,7 +456,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
}
|
||||
// 初始化基础提示词,确保生成高质量的真实图像
|
||||
StringBuilder sb = new StringBuilder("The best quality, masterpiece, real image.");
|
||||
if (!StringUtil.isNullOrEmpty(prompt)&&!advanced) {
|
||||
if (!StringUtil.isNullOrEmpty(prompt) && !advanced) {
|
||||
// 调用Python服务进行提示词翻译(中文转英文等)
|
||||
prompt = pythonService.promptTranslate(prompt);
|
||||
|
||||
@@ -858,14 +858,19 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
toProductImageResultMapper.updateById(toProductImageResult);
|
||||
collectionSortMapper.delete(new QueryWrapper<CollectionSort>().lambda().eq(CollectionSort::getRelationId, toProductImageResult.getId()));
|
||||
results.add(new MagicToolResultVO(taskId, "Fail"));
|
||||
} else if ("Pending".equals(cachedResult.getStatus())||"Fail".equals(cachedResult.getStatus())) {
|
||||
} else if ("Pending".equals(cachedResult.getStatus()) || "Fail".equals(cachedResult.getStatus())) {
|
||||
// 如果结果为失败或待处理状态,更新状态并返回对应结果
|
||||
toProductImageResult.setStatus(cachedResult.getStatus());
|
||||
toProductImageResultMapper.updateById(toProductImageResult);
|
||||
if (cachedResult.getStatus().equals("Fail")){
|
||||
if (cachedResult.getStatus().equals("Fail")) {
|
||||
collectionSortMapper.delete(new QueryWrapper<CollectionSort>().lambda().eq(CollectionSort::getRelationId, toProductImageResult.getId()));
|
||||
}
|
||||
results.add(new MagicToolResultVO(taskId, cachedResult.getStatus()));
|
||||
String errorMessage = cachedResult.getUrl();
|
||||
if (errorMessage != null) {
|
||||
results.add(new MagicToolResultVO(taskId, cachedResult.getStatus(), errorMessage));
|
||||
} else {
|
||||
results.add(new MagicToolResultVO(taskId, cachedResult.getStatus()));
|
||||
}
|
||||
} else {
|
||||
// 如果结果成功,处理flux结果并构建返回对象
|
||||
results.add(processNanoBananaResult(cachedResult.getUrl(), toProductImageResult, taskId, toProductImageRecord.getPrompt()));
|
||||
@@ -1011,10 +1016,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
/**
|
||||
* 处理Flux模型生成的结果,构建返回给前端的结果对象
|
||||
*
|
||||
* @param fluxImgMinioPath Flux生成的图片在Minio中的路径
|
||||
* @param fluxImgMinioPath Flux生成的图片在Minio中的路径
|
||||
* @param toProductImageResult 产品图像生成结果记录
|
||||
* @param taskId 任务ID
|
||||
* @param prompt 生成提示词
|
||||
* @param taskId 任务ID
|
||||
* @param prompt 生成提示词
|
||||
* @return MagicToolResultVO 构建好的魔法工具结果对象
|
||||
*/
|
||||
private MagicToolResultVO processFluxResult(String fluxImgMinioPath, ToProductImageResult toProductImageResult, String taskId, String prompt) {
|
||||
@@ -1798,6 +1803,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean productImageInitialize(ProductImageInitializeDTO productImageInitializeDTO) {
|
||||
AuthPrincipalVo userHolder = UserContext.getUserHolder();
|
||||
@@ -2165,7 +2171,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
|
||||
if (CollectionUtils.isEmpty(userLikeSortList)) {
|
||||
moduleChooseVO.setDesign(vo);
|
||||
}else {
|
||||
} else {
|
||||
List<AllCollectionVO> list = new ArrayList<>();
|
||||
|
||||
for (CollectionSort collectionSort : userLikeSortList) {
|
||||
@@ -2199,7 +2205,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
for (CollectionSort userLikeSort : childSortList) {
|
||||
if (userLikeSort.getRelationType().equals(CollectionType.TO_PRODUCT_IMAGE.getValue())) {
|
||||
ToProductImageResult toProductImageResult = toProductImageResultMapper.selectById(userLikeSort.getRelationId());
|
||||
if (isGenerateTaskFailed(toProductImageResult.getStatus(), toProductImageResult.getCreateTime())){
|
||||
if (isGenerateTaskFailed(toProductImageResult.getStatus(), toProductImageResult.getCreateTime())) {
|
||||
continue;
|
||||
}
|
||||
toProductImageResult.setUrl(getMinioUrl(toProductImageResult.getUrl()));
|
||||
@@ -2215,10 +2221,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
if (toProductImageResultVO.getElementType().equals("ProductElement")) {
|
||||
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageResultVO.getElementId());
|
||||
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductElement.getUrl()));
|
||||
}else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
|
||||
} else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
|
||||
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageResultVO.getElementId());
|
||||
toProductImageResultVO.setSourceUrl(getMinioUrl(tDesignPythonOutfit.getDesignUrl()));
|
||||
}else {
|
||||
} else {
|
||||
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageResultVO.getElementId());
|
||||
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductImageResult1.getUrl()));
|
||||
}
|
||||
@@ -2230,7 +2236,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
childList.add(toProductImageResultVO);
|
||||
} else if (userLikeSort.getRelationType().equals(CollectionType.RELIGHT.getValue())) {
|
||||
ToProductImageResult toProductImageResult = toProductImageResultMapper.selectById(userLikeSort.getRelationId());
|
||||
if (isGenerateTaskFailed(toProductImageResult.getStatus(), toProductImageResult.getCreateTime())){
|
||||
if (isGenerateTaskFailed(toProductImageResult.getStatus(), toProductImageResult.getCreateTime())) {
|
||||
continue;
|
||||
}
|
||||
toProductImageResult.setUrl(getMinioUrl(toProductImageResult.getUrl()));
|
||||
@@ -2246,10 +2252,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
if (toProductImageResultVO.getElementType().equals("ProductElement")) {
|
||||
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageResultVO.getElementId());
|
||||
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductElement.getUrl()));
|
||||
}else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
|
||||
} else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
|
||||
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageResultVO.getElementId());
|
||||
toProductImageResultVO.setSourceUrl(getMinioUrl(tDesignPythonOutfit.getDesignUrl()));
|
||||
}else {
|
||||
} else {
|
||||
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageResultVO.getElementId());
|
||||
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductImageResult1.getUrl()));
|
||||
}
|
||||
@@ -2261,7 +2267,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
childList.add(toProductImageResultVO);
|
||||
} else if (userLikeSort.getRelationType().equals(CollectionType.POSE_TRANSFORM.getValue())) {
|
||||
PoseTransformation item = poseTransformationMapper.selectById(userLikeSort.getRelationId());
|
||||
if (isGenerateTaskFailed(item.getTaskStatus(), item.getCreateTime())){
|
||||
if (isGenerateTaskFailed(item.getTaskStatus(), item.getCreateTime())) {
|
||||
continue;
|
||||
}
|
||||
PoseTransformationVO poseTransformationVO = new PoseTransformationVO();
|
||||
@@ -2345,7 +2351,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
setSourceUrl(vo);
|
||||
// 设置prompt
|
||||
ToProductImageRecord toProductImageRecord = toProductImageRecordMapper.selectById(result.getToProductImageRecordId());
|
||||
if (Objects.nonNull(toProductImageRecord)){
|
||||
if (Objects.nonNull(toProductImageRecord)) {
|
||||
vo.setPrompt(toProductImageRecord.getPrompt());
|
||||
}
|
||||
vo.setParentId(getUnlikedResultParentId(result, null));
|
||||
@@ -2604,7 +2610,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Objects.nonNull(moduleSaveDTO.getPrintBoard())){
|
||||
if (Objects.nonNull(moduleSaveDTO.getPrintBoard())) {
|
||||
List<DesignCollectionPrintElementDTO> printBoards = moduleSaveDTO.getPrintBoard();
|
||||
QueryWrapper<CollectionElement> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(CollectionElement::getProjectId, projectId);
|
||||
@@ -2661,7 +2667,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
collectionElementMapper.deleteBatchIds(old);
|
||||
}
|
||||
}
|
||||
if (Objects.nonNull(moduleSaveDTO.getColorBoard())){
|
||||
if (Objects.nonNull(moduleSaveDTO.getColorBoard())) {
|
||||
List<CollectionColorDTO> colorBoards = moduleSaveDTO.getColorBoard();
|
||||
QueryWrapper<CollectionElement> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(CollectionElement::getProjectId, projectId);
|
||||
@@ -2695,7 +2701,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
||||
collectionElementMapper.deleteBatchIds(old);
|
||||
}
|
||||
}
|
||||
if (Objects.nonNull(moduleSaveDTO.getSketchBoard())){
|
||||
if (Objects.nonNull(moduleSaveDTO.getSketchBoard())) {
|
||||
boundingBox = true;
|
||||
QueryWrapper<CollectionElement> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(CollectionElement::getProjectId, projectId);
|
||||
|
||||
Reference in New Issue
Block a user