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

develop
zhouj1203@hotmail.com 3 months ago
commit 63de395694

@ -118,17 +118,16 @@
</dependency>
<!-- 修改后的jjwt -->
<!-- <dependency>
<dependency>
<groupId>jsonwebtoken</groupId>
<artifactId>habook-jjwt</artifactId>
<version>0.0.1</version>
</dependency>-->
<dependency>
</dependency>
<!--<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>

@ -2,15 +2,18 @@ package cn.teammodel.model.dto.ai.comment;
import lombok.Data;
/**
*
*/
@Data
public class artCommentsDto {
public class ArtLatitudeDto {
public String quotaN1;
public String quotaN2;
public String quotaN3;
public int quotaP1;
public int quotaP2;
public int quotaP3;
public int scoreD;
public String percent;
public String level;
}

@ -0,0 +1,16 @@
package cn.teammodel.model.dto.ai.comment;
import lombok.Data;
/**
*
*/
@Data
public class ArtSubjectDto {
public String dimension;
public String block;
public String point;
public int score;
public int percent;
public int totalScore;
}

@ -35,10 +35,12 @@ public class WisdomSubjectComments {
*
*/
public String name;
/**
*
*/
public int ranking;
/**
*
*/

@ -1,22 +0,0 @@
package cn.teammodel.model.dto.ai.comment;
import lombok.Data;
import java.util.List;
@Data
public class artSubjectCommentsDto {
public String subjectName;
public List<PointPdfs> pointPdfs;
public static class PointPdfs{
public String dimension;
public String block;
public String point;
public String score;
public String percent;
public String totalScore;
}
}

@ -10,10 +10,7 @@ import cn.teammodel.common.ErrorCode;
import cn.teammodel.common.PK;
import cn.teammodel.config.exception.ServiceException;
import cn.teammodel.model.dto.ai.*;
import cn.teammodel.model.dto.ai.comment.ChatCommentsDto;
import cn.teammodel.model.dto.ai.comment.WisdomCommentsDto;
import cn.teammodel.model.dto.ai.comment.WisdomExamCommentsDto;
import cn.teammodel.model.dto.ai.comment.WisdomSubjectComments;
import cn.teammodel.model.dto.ai.comment.*;
import cn.teammodel.model.entity.ai.ChatApp;
import cn.teammodel.repository.ChatAppRepository;
import cn.teammodel.repository.ChatSessionRepository;
@ -21,10 +18,8 @@ import cn.teammodel.model.entity.User;
import cn.teammodel.model.entity.ai.ChatSession;
import cn.teammodel.security.utils.SecurityUtil;
import cn.teammodel.service.ChatMessageService;
import cn.teammodel.utils.FileUtil;
import cn.teammodel.utils.RepositoryUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.TypeReference;
import com.azure.cosmos.models.CosmosPatchOperations;
import lombok.extern.slf4j.Slf4j;
@ -34,11 +29,6 @@ import org.springframework.stereotype.Service;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import javax.annotation.Resource;
import java.io.*;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.Instant;
import java.util.*;
@ -451,36 +441,79 @@ public class ChatMessageServiceImpl implements ChatMessageService {
}
}
builder.append(finalChatModel.getChat());
String name = "";
//拼接学科数组
for (WisdomSubjectComments comments : subjectComments) {
builder.append(String.format(finalChatModel.getCycleChats().get(0), comments.subjectName));
for (WisdomSubjectComments.StuInfo stuInfo : comments.getRankings()) {
builder.append(String.format(finalChatModel.getCycleChats().get(1), stuInfo.ranking,
stuInfo.name, stuInfo.scoreRate));
builder.append(String.format(finalChatModel.getCycleChats().get(1), stuInfo.ranking,stuInfo.name, stuInfo.scoreRate*100));
}
builder.append(String.format(finalChatModel.getCycleChats().get(2),
comments.getClaasRanking().ranking, comments.getClaasRanking().scoreRate,
comments.getClaasRanking().average));
name = comments.getClaasRanking().name;
builder.append(String.format(finalChatModel.getCycleChats().get(2),name,comments.getClaasRanking().ranking, comments.getClaasRanking().scoreRate * 100,comments.getClaasRanking().average));
}
builder.append(String.format(finalChatModel.getEnd(), subjectComments.size()));
builder.append(String.format(finalChatModel.getEnd(), subjectComments.size(),name));
break;
}
//艺术 考核指标纬度评语
case "artDimensions":
builder.append("请按照以下格式回复:\n");
builder.append("1. 艺术作品:\n");
builder.append("2. 艺术作品说明:\n");
builder.append("3. 艺术作品示例:\n");
builder.append("4. 艺术作品示例说明:\n");
case "artLatitude":{
List<ArtLatitudeDto> artLatitudes;
try {
artLatitudes = JSON.parseObject(strData, new TypeReference<List<ArtLatitudeDto>>() {
});
} catch (Exception e) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
if (artLatitudes.size() <= 1) {
if (artLatitudes.isEmpty()) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
}
builder.append(finalChatModel.getChat());
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(finalChatModel.getEnd());
break;
}
//艺术 学科评语模版
case "artSubject":{
List<ArtSubjectDto> artSubjects;
try {
artSubjects = JSON.parseObject(strData, new TypeReference<List<ArtSubjectDto>>() {
});
} catch (Exception e) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
if (artSubjects.size() <= 1) {
if (artSubjects.isEmpty()) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
}
builder.append(finalChatModel.getChat());
for (ArtSubjectDto artSubject : artSubjects){
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(),chatCommentsDto.getSubject()));
break;
case "sport":
}
//体育
case "sport":{
builder.append("请按照以下格式回复:\n");
builder.append("1. 运动作品:\n");
builder.append("2. 运动作品说明:\n");
builder.append("3. 运动作品示例:\n");
builder.append("4. 运动作品示例说明:\n");
break;
}
//德育
case "moral":{
builder.append(finalChatModel.getChat());
break;
}
default:
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "评语类型异常");
}

@ -21,16 +21,24 @@
"name": "智育 学科评语模版",
"role": "请扮演[%s%s]老师角色\n ",
"chat": "各科评测表现",
"cycleChats":["科目:%s 班级top10"," 排名:%s姓名%s得分率%s %% ,\n " ,"自己在班级排名:%s,得分率:%s %%,排在班级平均:(%s %%)"],
"end": "根据我提供的数据,对这%s次学科表现做一个整体的评价。 \n"
"cycleChats":["科目:%s 班级top10"," 排名:%s姓名%s得分率%s %% ,\n " ,"%s在班级排名:%s,得分率:%s %%,排在班级平均:(%s %%)"],
"end": "根据我提供的数据,对这%s门学科,【%s】在班级中的表现做一个评价。 \n"
},
{
"type": "artDimensions",
"type": "artLatitude",
"name": "艺术 考核指标评语模版",
"role": "请扮演[%s%s]老师角色\n ",
"chat": "考核指标评纬度\n",
"cycleChats": [" 指标:%s 、得分率:%s %% \n"],
"cycleChats": [" 一级指标:%s %s %%);二级指标:%s %s %%);三级指标 %s %s %% ;得分率:%s %% 等级:%s\n"],
"end": "根据我提供的【考核指标纬度】做一个整体的评价。 \n"
},
{
"type": "artSubject",
"name": "艺术 学科评语模版",
"role": "请扮演[%s%s]老师角色\n ",
"chat": "%s学科\n",
"cycleChats": [" 考核纬度:%s一级知识点%s二级知识点 %s得分%s/%s 得分率:%s\n"],
"end": "根据我提供的【%s学科】的表现做一个整体的评价。 \n"
}
]
}

Loading…
Cancel
Save