Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
shahaibo
2023-11-02 11:28:20 +08:00
5 changed files with 25 additions and 9 deletions

View File

@@ -42,6 +42,11 @@ public class GenerateDetail {
*/
private Long libraryId;
/**
* 图片的md5
*/
private String md5;
/**
* 创建时间
*/

View File

@@ -30,6 +30,9 @@ public class GenerateThroughImageTextDTO {
@ApiModelProperty("Outwear Dress Blouse Skirt Trousers")
String level2Type;
@ApiModelProperty("性别")
String gender;
@ApiModelProperty("选择的模型名")
String version;

View File

@@ -2013,7 +2013,7 @@ public class PythonService {
throw new BusinessException("system error!");
}
public List<String> generateSketchOrPrint(Long userId, String url, String category, String text, int mode, String modelName) {
public List<String> generateSketchOrPrint(Long userId, String url, String category, String text, int mode, String modelName, String gender) {
//限流校验
AccessLimitUtils.validate("generateSketchOrPrint", 5);
OkHttpClient client = new OkHttpClient().newBuilder()
@@ -2030,6 +2030,7 @@ public class PythonService {
content.put("mode", mode);
content.put("str", text);
content.put("version", modelName);
content.put("gender", gender);
RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(content, SerializerFeature.WriteMapNullValue));
Request request = new Request.Builder()
// .url(accessPythonIp + ":2828/aida/diffusion")

View File

@@ -861,6 +861,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
@Override
public DesignItemDetailVO detail(Long designPythonOutfitId, Long designItemId) {
// 1、校验
DesignItem designItem = designItemService.getById(designItemId);
if (Objects.isNull(designItem)) {
throw new BusinessException("designItem.not.found");
@@ -884,6 +885,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
flag = Boolean.TRUE;
}
// 2、组装返回参数
DesignItemDetailVO response = new DesignItemDetailVO();
response.setSingleOverall(design.getSingleOverall());
response.setSwitchCategory(design.getSwitchCategory());
@@ -1023,7 +1025,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
* @return
*/
private DesignItemDetailVO editResponseColor(List<DesignItemDetail> designItemDetails, DesignItemDetailVO designItemDetailVO) {
// 使用designItemDetailId做映射
// 使用designItemDetailId rgb(String)做映射
HashMap<Long, String> designItemDetailIdColor = new HashMap<>();
designItemDetails.forEach(designItemDetail -> {
if (!StringUtil.isNullOrEmpty(designItemDetail.getColor())) {

View File

@@ -23,13 +23,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.minio.errors.MinioException;
import io.netty.util.internal.StringUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;
import static com.ai.da.common.enums.CollectionLevel1TypeEnum.*;
@Service
public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> implements GenerateService {
@@ -73,10 +74,13 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
// 2、判断必须入参是否为非空
Generate generate = new Generate();
generate.setAccountId(accountId);
generate.setGenerateType(generateThroughImageTextDTO.getGenerateType());
generate.setLevel1Type(generateThroughImageTextDTO.getLevel1Type());
generate.setGenerateType(generate.getLevel1Type().equals(SKETCH_BOARD.getRealName()) ?
generateThroughImageTextDTO.getGender() + "_" + generateThroughImageTextDTO.getGenerateType() :
generateThroughImageTextDTO.getGenerateType());
generate.setModelName(StringUtil.isNullOrEmpty(generateThroughImageTextDTO.getVersion()) ? ModelNameEnum.MODEL_0.getCode() : generateThroughImageTextDTO.getVersion());
generate.setCreateDate(DateUtil.getByTimeZone(generateThroughImageTextDTO.getTimeZone()));
generate.setLevel1Type(generateThroughImageTextDTO.getLevel1Type());
String text = generateThroughImageTextDTO.getText();
Long elementId = generateThroughImageTextDTO.getCollectionElementId();
@@ -91,10 +95,10 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
// 4、向模型发起请求
int mode = GenerateModeEnum.TEXT.getValue().equals(generate.getGenerateType()) ? GenerateModeEnum.TEXT.getCode() : GenerateModeEnum.TEXT_IMAGE.getCode();
String category = generateThroughImageTextDTO.getLevel1Type().equals(CollectionLevel1TypeEnum.SKETCH_BOARD.getRealName()) ? "sketch" :
generateThroughImageTextDTO.getLevel1Type().equals(CollectionLevel1TypeEnum.PRINT_BOARD.getRealName()) ? "print" : "moodboard";
String category = generateThroughImageTextDTO.getLevel1Type().equals(SKETCH_BOARD.getRealName()) ? "sketch" :
generateThroughImageTextDTO.getLevel1Type().equals(PRINT_BOARD.getRealName()) ? "print" : "moodboard";
List<String> generatedSketchUrl = pythonService.generateSketchOrPrint(accountId, Objects.isNull(elementId) ? null : collectionElement.getUrl(),
category, text, mode, generateThroughImageTextDTO.getVersion());
category, text, mode, generateThroughImageTextDTO.getVersion(), generateThroughImageTextDTO.getGender());
// List<String> generatedSketchUrl = Arrays.asList("testUrl1","testUrl2","testUrl3","testUrl4");
@@ -106,6 +110,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
generateDetail.setUrl(item);
generateDetail.setGenerateId(generate.getId());
generateDetail.setCreateDate(DateUtil.getByTimeZone(generateThroughImageTextDTO.getTimeZone()));
generateDetail.setMd5(MD5Utils.encryptFile(minioUtil.getPresignedUrl(item, 24 * 60), Boolean.FALSE));
generateDetailMapper.insert(generateDetail);
GenerateCollectionItemVO generateCollectionItemVO = new GenerateCollectionItemVO();
@@ -142,7 +147,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
public GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO) {
// 1、判断参数是否正确
// 1.1 必须参数是否非空
if (CollectionLevel1TypeEnum.SKETCH_BOARD.getRealName().equals(generateLikeDTO.getLevel1Type())) {
if (SKETCH_BOARD.getRealName().equals(generateLikeDTO.getLevel1Type())) {
Assert.isTrue(!StringUtil.isNullOrEmpty(generateLikeDTO.getLevel2Type()), "level2Type cannot be empty");
}
// 1.2 判断参数是否真实有效