BUGFIX:generate prompt modify

This commit is contained in:
2024-04-23 11:40:02 +08:00
parent 3114d3cb36
commit d000eaa6b8

View File

@@ -123,6 +123,9 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
String text = generateThroughImageTextDTO.getText();
Long elementId = generateThroughImageTextDTO.getCollectionElementId();
validateGeneraType(generate, text, elementId, generateType);
if (generateType.equals("text") || generateType.equals("text-image")){
text = modifyPrompt(text, generate, generateThroughImageTextDTO.getLevel1Type());
}
// 2.1 sketch或print在t_collection_element表/t_library表中的信息是否需要更新 如 level2Type
CollectionElement collectionElement = collectionElementService.editLevel2Type(elementId, generateThroughImageTextDTO.getLevel2Type(), generateThroughImageTextDTO.getDesignType());
@@ -232,39 +235,41 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
if (StringUtil.isNullOrEmpty(text)) {
throw new BusinessException("please.input.the.caption");
}
// generate.setText(text);
modifyPrompt(text, generate);
generate.setText(text);
break;
case "image":
if (Objects.isNull(elementId)) {
throw new BusinessException("please.choose.an.image");
}
generate.setElementId(elementId);
modifyPrompt(text, generate);
break;
case "text-image":
if (StringUtil.isNullOrEmpty(text) || Objects.isNull(elementId)) {
throw new BusinessException("please.input.the.caption.and.choose.an.image");
}
// generate.setText(text);
generate.setText(text);
generate.setElementId(elementId);
modifyPrompt(text, generate);
default:
}
}
private void modifyPrompt(String userInput, Generate generate){
switch (generate.getLevel1Type()) {
private String modifyPrompt(String userInput, Generate generate, String level1Type){
String text = "";
switch (level1Type) {
case "Moodboard":
generate.setText(userInput + ",high quality");
text = userInput + ",high quality";
generate.setText(text);
break;
case "Printboard":
generate.setText(userInput + ", fabric print, high quality");
text = userInput + ", fabric print, high quality";
generate.setText(text);
break;
case "Sketchboard":
generate.setText("a single item of " + userInput + "with clean background, hand-drawing sketch style, high quality");
text = "a single item of " + userInput + "with clean background, hand-drawing sketch style, high quality";
generate.setText(text);
default:
}
return text;
}
@Override