Sketchboard与Printboard的generate功能 修改

This commit is contained in:
徐佩
2023-08-18 10:42:08 +08:00
parent c5e5b51852
commit b13feb8f1f
7 changed files with 46 additions and 29 deletions

View File

@@ -8,5 +8,5 @@ public interface GenerateService {
GenerateCaptionVO generateCaption(Long sketchElementId);
GenerateCollectionVO generateSketchThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
GenerateCollectionVO generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
}

View File

@@ -53,7 +53,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper,Generate> im
}
@Override
public GenerateCollectionVO generateSketchThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO) {
public GenerateCollectionVO generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO) {
// 1、获取用户信息
AuthPrincipalVo userHolder = UserContext.getUserHolder();
Long accountId = userHolder.getId();
@@ -61,49 +61,53 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper,Generate> im
// 2、判断必须入参是否为非空
String generateType = generateThroughImageTextDTO.getGenerateType();
String text = generateThroughImageTextDTO.getText();
Long sketchId = generateThroughImageTextDTO.getCollectionElementId();
Long elementId = generateThroughImageTextDTO.getCollectionElementId();
String modelName = generateThroughImageTextDTO.getVersion();
Generate generate = new Generate();
generate.setAccountId(accountId);
generate.setGenerateType(generateType);
generate.setModelName(StringUtil.isNullOrEmpty(modelName) ? "0" : modelName);
generate.setCreateDate(DateUtil.getByTimeZone(generateThroughImageTextDTO.getTimeZone()));
int mode = 2;
switch(generateType){
case "text":
Assert.notNull(text,"Please input the caption");
generate.setText(text);
mode = 1;
break;
case "image":
Assert.notNull(sketchId,"Please choose a sketch");
generate.setCollectionElementId(sketchId);
Assert.notNull(elementId,"Please choose a image");
generate.setCollectionElementId(elementId);
break;
case "text-image":
Assert.isTrue(!StringUtil.isNullOrEmpty(text) && Objects.nonNull(sketchId),
"Please input the caption and choose a sketch");
Assert.isTrue(!StringUtil.isNullOrEmpty(text) && Objects.nonNull(elementId),
"Please input the caption and choose a image");
generate.setText(text);
generate.setCollectionElementId(sketchId);
generate.setCollectionElementId(elementId);
break;
}
// 3、将请求信息落库
// 3.1 sketch在t_collection_element表中的信息是否需要更新 如 level2Type
CollectionElement collectionElement = null;
if(!Objects.isNull(sketchId)){
collectionElement = collectionElementMapper.selectById(sketchId);
if(!Objects.isNull(elementId)){
collectionElement = collectionElementMapper.selectById(elementId);
if (StringUtil.isNullOrEmpty(collectionElement.getLevel2Type()) || !(collectionElement.getLevel2Type()).equals(generateThroughImageTextDTO.getLevel2Type()) ){
collectionElement.setLevel2Type(generateThroughImageTextDTO.getLevel2Type());
QueryWrapper<CollectionElement> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", sketchId);
queryWrapper.eq("id", elementId);
collectionElementMapper.update(collectionElement,queryWrapper);
}
}
// 3.2 将本次generate的请求信息添加到t_generate表中
save(generate);
// 4、向模型发起请求
// String generatedSketchUrl = pythonService.generateSketch(collectionElement.getUrl(), text);
// String generatedSketchUrl = pythonService.generateSketchOrPrint(collectionElement.getUrl(),text
// ,mode,generateThroughImageTextDTO.getVersion());
List<String> generatedSketchUrl = Arrays.asList("testUrl1","testUrl2","testUrl3","testUrl4");