diff --git a/src/main/java/cn/teammodel/service/impl/ChatMessageServiceImpl.java b/src/main/java/cn/teammodel/service/impl/ChatMessageServiceImpl.java index 7ec5b44..ece5764 100644 --- a/src/main/java/cn/teammodel/service/impl/ChatMessageServiceImpl.java +++ b/src/main/java/cn/teammodel/service/impl/ChatMessageServiceImpl.java @@ -318,26 +318,32 @@ public class ChatMessageServiceImpl implements ChatMessageService { break; } } - - if (chatModel != null) { - //角色条件 - builder.append(String.format(chatModel.getRole().get(0), chatCommentsDto.getPeriod(), chatCommentsDto.getSubject())); - } String chatName = ""; - - switch(phase){ case 1: - chatName = chatCommentsDto.getName()+"班级"; + if (chatCommentsDto.getName().contains("班") || chatCommentsDto.getName().contains("班级")) { + chatName = chatCommentsDto.getName(); + } else { + chatName = chatCommentsDto.getName()+"班级"; + } break; case 2: - chatName = chatCommentsDto.getName()+"年级"; + if (chatCommentsDto.getName().contains("年级")) { + chatName = chatCommentsDto.getName(); + } else { + chatName = chatCommentsDto.getName()+"年级"; + } break; default: chatName = chatCommentsDto.getName()+"同学"; break; } + if (chatModel != null) { + //角色条件 + builder.append(String.format(chatModel.getRole().get(0), chatCommentsDto.getPeriod(), chatCommentsDto.getSubject(), chatName)); + } + ChatModelDto finalChatModel = chatModel; //模版 switch (chatCommentsDto.getType()) { @@ -385,7 +391,7 @@ public class ChatMessageServiceImpl implements ChatMessageService { )); } }); - builder.append(String.format(finalChatModel.getEnd().get(0),chatName, wisdomComments.getDims().size())); + //builder.append(String.format(finalChatModel.getEnd().get(0),chatName, wisdomComments.getDims().size())); break; } //智育 表现模版 @@ -418,7 +424,7 @@ public class ChatMessageServiceImpl implements ChatMessageService { count++; } } - builder.append(String.format(finalChatModel.getEnd().get(0),chatName)); + //builder.append(String.format(finalChatModel.getEnd().get(0),chatName)); break; } // 智育 学科评语模版 @@ -452,7 +458,7 @@ public class ChatMessageServiceImpl implements ChatMessageService { builder.append(String.format(finalChatModel.getCycleChats().get(2), name, comments.getClaasRanking().ranking, comments.getClaasRanking().scoreRate * 100, comments.getClaasRanking().average * 100)); } } - builder.append(String.format(finalChatModel.getEnd().get(0), subjectComments.size(),chatName)); + //builder.append(String.format(finalChatModel.getEnd().get(0), subjectComments.size(),chatName)); break; } //艺术 考核指标纬度评语 @@ -476,12 +482,11 @@ public class ChatMessageServiceImpl implements ChatMessageService { builder.append(finalChatModel.getChat().get(0)); } } - for (ArtLatitudeDto artLatitude : artLatitudes) - { + for (ArtLatitudeDto artLatitude : artLatitudes){ builder.append(String.format(finalChatModel.getCycleChats().get(0), artLatitude.getQuotaN1(),artLatitude.getQuotaP1(), artLatitude.getQuotaN2(),artLatitude.getQuotaP2(), artLatitude.getQuotaN3(),artLatitude.getQuotaP3(), artLatitude.getPercent(),artLatitude.getLevel())); } - builder.append(String.format(finalChatModel.getEnd().get(0),chatName)); + //builder.append(String.format(finalChatModel.getEnd().get(0),chatName)); break; } //艺术 学科评语模版 @@ -502,7 +507,7 @@ public class ChatMessageServiceImpl implements ChatMessageService { builder.append(String.format(finalChatModel.getCycleChats().get(0), artSubject.getDimension(),artSubject.getBlock(), artSubject.getPoint(),artSubject.getScore(), artSubject.getTotalScore(),artSubject.getPercent())); } - builder.append(String.format(finalChatModel.getEnd().get(0),chatName)); + //builder.append(String.format(finalChatModel.getEnd().get(0),chatName)); break; } //体育 @@ -523,14 +528,10 @@ public class ChatMessageServiceImpl implements ChatMessageService { throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "评语类型异常"); } - if (chatCommentsDto.getSize() > 0) { - builder.append("限制条件如下:1、") - .append(chatCommentsDto.getSize()) - .append("字左右;2、直接返回评语的内容;3、评语的开篇不允许出现提示语;4、评语的开篇不允许出现特殊字符。"); - } else { - builder.append("限制条件如下:1、200字左右;2、直接返回评语的内容;3、评语的开篇不允许出现提示语;4、评语的开篇不允许出现特殊字符。"); - //builder.append("限制条件如下:1、200字左右;2、返回评语内容:不要开头提示语;开头不允许出现特殊字符。"); - } + String limitChat = "。限制条件如下:1.%s字左右;2.直接返回评价的内容;3.评价开头不要提示语;4.评价开头不允许出现特殊字符。"; + int size = chatCommentsDto.getSize() > 0 ? chatCommentsDto.getSize() : 200; + builder.append(String.format(limitChat, size)); + return builder.toString(); } catch (Exception e) { log.info(Arrays.toString(e.getStackTrace())); diff --git a/src/main/resources/Json/ChatModel.json b/src/main/resources/Json/ChatModel.json index f5886e4..3b071d5 100644 --- a/src/main/resources/Json/ChatModel.json +++ b/src/main/resources/Json/ChatModel.json @@ -3,44 +3,49 @@ { "type": "wisdom", "name": "智育 总体评语模版", - "role": ["请扮演[%s%s]老师角色;\n 数据如下:"], + "role": ["请扮演[%s%s]老师角色,依据提供的数据,对%s的总体的表现做一个评价。\n 数据如下:"], "chat": ["%s同学,在%s学年度,第%s学期中,共计参加了%s次评测,其中课中评测%s次、线上评测%s次、阅卷评测%s次,素养等级为%s,已超过班级%s%% 的同学。\n %s同学的总体表现:", "%s,在%s学年度,第%s学期,共计参加了%s次评测,其中课中评测%s次、线上评测%s次、阅卷评测%s次,总体表现如下:" ], "cycleChats": ["在%s中:学习态度为:%s、学习成效:%s、合作能力:%s、评价能力:%s、评价能力:%s ;\n"], - "end": ["请根据我提供的数据,对该%s的考试成绩表现做一个评价。\n"] + "end": ["请根据我提供的数据,对%s的考试成绩表现做一个评价。\n"], + "limit": "。限制条件如下:1、%s字左右;2、直接返回评语的内容;3、评语的开篇不允许出现提示语;4、评语的开篇不允许出现特殊字符。" }, { "type": "wisdomExam", "name": "智育 成绩表现模版", - "role": ["请扮演[%s%s]老师角色;数据如下:\n"], + "role": ["请扮演[%s%s]老师角色,依据我提供的数据,对%s的学习成效表现做一个评价。数据如下:\n"], "chat": ["%s\n,"], "cycleChats": ["参加第%s次,考试结果:名称:%s,时间:%s,得分:%s,考试得分率:%s %% 排名:%s ;\n"], - "end": ["请根据我提供的数据,对该%s的考试成绩表现做一个评价。\n"] + "end": ["请根据我提供的数据,对%s的考试成绩表现做一个评价。\n"], + "limit": "。限制条件如下:1、%s字左右;2、直接返回评语的内容;3、评语的开篇不允许出现提示语;4、评语的开篇不允许出现特殊字符。" }, { "type": "wisdomSubject", "name": "智育 学科评语模版", - "role": ["请扮演[%s%s]老师角色; 数据如下:\n"], + "role": ["请扮演[%s%s]老师角色,依据我提供的数据,对%s的各科评测表现做一个评价。 数据如下:\n"], "chat": ["的各科评测表现:","%s的各科评测表现:\""], "cycleChats":["科目:%s 班级top10"," 排名:%s,姓名:%s,得分率:%s %% ,\n " ,"%s在班级排名:%s,得分率:%s %%,排在班级平均得分率:(%s %%)"], - "end": ["请根据我提供的数据,对这%s门学科,【%s】的表现做一个评价。 \n"] + "end": ["请根据我提供的数据,对这%s门学科,对%s的表现做一个评价。 \n"], + "limit": "。限制条件如下:1、%s字左右;2、直接返回评语的内容;3、评语的开篇不允许出现提示语;4、评语的开篇不允许出现特殊字符。" }, { "type": "artLatitude", "name": "艺术 考核指标评语模版", - "role": ["请扮演[%s%s]老师角色;数据如下:\n"], + "role": ["请扮演[%s%s]老师角色,依据我提供的数据,对%s的表现做一个整体的评价。数据如下:\n"], "chat": ["考核指标评纬度\n","%s的考核指标评纬度\n"], "cycleChats": [" 一级指标:%s( %s %%);二级指标:%s( %s %%);三级指标 %s( %s %%) ;得分率:%s %% 等级:%s\n"], - "end": ["请根据我提供的数据,对该%s做一个整体的评价。 \n"] + "end": ["请根据我提供的数据,对%s做一个整体的评价。 \n"], + "limit": "" }, { "type": "artSubject", "name": "艺术 学科评语模版", - "role": ["请扮演[%s%s]老师角色;数据如下:\n "], + "role": ["请扮演[%s%s]老师角色,依据我提供的数据,对%s的表现做一个整体的评价。 数据如下:\n "], "chat": ["%s的学科\n"], "cycleChats": [" 考核纬度:%s;一级知识点:%s;二级知识点 %s;得分:%s/%s 得分率:%s\n"], - "end": ["请根据我提供的数据,对该%s的表现做一个整体的评价。 \n"] + "end": ["请根据我提供的数据,对%s的表现做一个整体的评价。 \n"], + "limit": "。限制条件如下:1、%s字左右;2、直接返回评语的内容;3、评语的开篇不允许出现提示语;4、评语的开篇不允许出现特殊字符。" } ] }