BUGFIX:aida;

This commit is contained in:
shahaibo
2024-07-02 13:48:53 +08:00
parent dd8f5696a2
commit ce384dbba9
6 changed files with 32 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ package com.ai.da.model.dto;
import com.ai.da.model.vo.ToProductImageVO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
@@ -10,4 +11,5 @@ public class ToProductImageDTO {
private Long userLikeGroupId;
private List<ToProductImageVO> toProductImageVOList;
private String prompt;
private BigDecimal imageStrength;
}

View File

@@ -18,4 +18,6 @@ public class PortfolioVO extends Portfolio {
private Long viewNums;
private String userName;
private String originalUserName;
}

View File

@@ -22,6 +22,10 @@ public class UserLikeGroupVO {
@ApiModelProperty("创建者")
private String author;
private Integer original;
private Long originalAccountId;
@ApiModelProperty("更新时间")
private Long updateDate;

View File

@@ -3311,7 +3311,7 @@ public class PythonService {
return text;
}
public Boolean toProductImage(String url, String taskId, String prompt) {
public Boolean toProductImage(String url, String taskId, String prompt, BigDecimal imageStrength) {
// todo 限流校验
// AccessLimitUtils.validate("design",5);
OkHttpClient client = new OkHttpClient().newBuilder()
@@ -3322,12 +3322,14 @@ public class PythonService {
.build();
MediaType mediaType = MediaType.parse("application/json");
//关闭FastJson的引用检测 防止出现$ref 现象
Map<String, String> map = new HashMap<>();
Map<String, Object> map = new HashMap<>();
map.put("tasks_id", taskId);
map.put("image_url", url);
map.put("prompt", prompt);
map.put("image_strength", imageStrength);
log.info("toProductImage请求python 参数:####{}", map);
String param = JSON.toJSONString(map, SerializerFeature.WriteNullStringAsEmpty);
System.out.println(param);
RequestBody body = RequestBody.create(mediaType, param);
Request request = new Request.Builder()
// .url(accessPythonIp + ":" + accessPythonPort + "/api/generate_product_image")
@@ -3370,6 +3372,7 @@ public class PythonService {
map.put("prompt", prompt);
log.info("relightImage请求python 参数:####{}", map);
String param = JSON.toJSONString(map, SerializerFeature.WriteNullStringAsEmpty);
log.info(param);
RequestBody body = RequestBody.create(mediaType, param);
Request request = new Request.Builder()
// .url(accessPythonIp + ":" + accessPythonPort + "/api/generate_product_image")

View File

@@ -408,6 +408,9 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
vo.setViewNums(redisUtil.getViewCount(vo.getId()));
Long accountId = vo.getAccountId();
vo.setUserName(accountMapper.selectById(accountId).getUserName());
if (vo.getOriginal() == 0) {
vo.setOriginalUserName(accountMapper.selectById(vo.getOriginalAccountId()).getUserName());
}
return vo;
}
return null;
@@ -454,6 +457,9 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
redisUtil.increaseViewCount(portfolioDTO.getId());
vo.setViewNums(redisUtil.getViewCount(portfolioDTO.getId()));
vo.setUserName(accountMapper.selectById(vo.getAccountId()).getUserName());
if (vo.getOriginal() == 0) {
vo.setOriginalUserName(accountMapper.selectById(vo.getOriginalAccountId()).getUserName());
}
return vo;
}

View File

@@ -11,7 +11,6 @@ import com.ai.da.common.utils.MinioUtil;
import com.ai.da.common.utils.RedisUtil;
import com.ai.da.mapper.primary.*;
import com.ai.da.mapper.primary.entity.*;
import com.ai.da.model.dto.ExportSaveDTO;
import com.ai.da.model.dto.ProductImageLikeDTO;
import com.ai.da.model.dto.ToProductImageDTO;
import com.ai.da.model.vo.*;
@@ -247,14 +246,18 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
// 翻译
String prompt = toProductImageDTO.getPrompt();
String s = "";
if (!StringUtil.isNullOrEmpty(prompt)) s = pythonService.promptTranslate(prompt);
if (!StringUtil.isNullOrEmpty(prompt)) {
s = pythonService.promptTranslate(prompt);
}else {
s = "best quality, masterpiece. detailed, high-res, simple background, studio photography, extremely detailed, updo, detailed face, face, close-up, HDR, UHD, 8K realistic, Highly detailed, simple background, Studio lighting";
}
for (ToProductImageVO toProductImageVO : toProductImageDTO.getToProductImageVOList()) {
String taskId;
if (toProductImageVO.getElementType().equals("DesignOutfit")) {
taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageVO.getElementId());
// 走模型
pythonService.toProductImage(tDesignPythonOutfit.getDesignUrl(), taskId, s);
pythonService.toProductImage(tDesignPythonOutfit.getDesignUrl(), taskId, s, toProductImageDTO.getImageStrength());
ToProductImageResult toProductImageResult = new ToProductImageResult();
toProductImageResult.setElementId(tDesignPythonOutfit.getId());
toProductImageResult.setElementType("DesignOutfit");
@@ -271,7 +274,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageVO.getElementId());
// 走模型
pythonService.toProductImage(toProductElement.getUrl(), taskId, s);
pythonService.toProductImage(toProductElement.getUrl(), taskId, s, toProductImageDTO.getImageStrength());
ToProductImageResult toProductImageResult = new ToProductImageResult();
toProductImageResult.setElementId(toProductElement.getId());
toProductImageResult.setElementType("ProductElement");
@@ -464,7 +467,12 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
int i = 0;
// 翻译
String prompt = toProductImageDTO.getPrompt();
String s = pythonService.promptTranslate(prompt);
String s = "";
if (!StringUtil.isNullOrEmpty(prompt)) {
s = pythonService.promptTranslate(prompt);
}else {
s = "Snow moutain, snowy day, natural light";
}
for (ToProductImageVO toProductImageVO : toProductImageDTO.getToProductImageVOList()) {
if (toProductImageVO.getElementType().equals("ToProductImage")) {
String taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();