Administrator
2025-08-11 23f39aba86f01ffb3cab4d68d6971d0b5adf0e52
feat(ai): 新增雷达图数据项并更新报告模型

- 新增 RadarDataItem 类用于雷达图数据项
- 在 Report 类中添加 radarDataItems 字段
- 更新 AiServiceImpl 类,添加测试代码以验证新功能
2 files modified
1 files added
53 ■■■■■ changed files
src/main/java/cc/mrbird/febs/ai/res/ai/RadarDataItem.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/res/ai/Report.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/res/ai/RadarDataItem.java
New file
@@ -0,0 +1,24 @@
package cc.mrbird.febs.ai.res.ai;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author Administrator
 */
@Data
@ApiModel(value = "radar_data_item", description = "参数")
public class RadarDataItem {
    @ApiModelProperty(value = "名称")
    @JsonProperty("name")
    private String name;
    @ApiModelProperty(value = "编码")
    @JsonProperty("code")
    private String code;
    @ApiModelProperty(value = "分值")
    @JsonProperty("score")
    private String score;
}
src/main/java/cc/mrbird/febs/ai/res/ai/Report.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author Administrator
 */
@@ -18,6 +20,10 @@
    @JsonProperty("radar_data")
    private RadarData radarData;
    @ApiModelProperty(value = "雷达图表数据集合")
    @JsonProperty("radar_data_items")
    private List<RadarDataItem> radarDataItems;
    @ApiModelProperty(value = "亮点、建议、参考答案、核心知识点")
    @JsonProperty("evaluation")
    private Evaluation evaluation;
src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
@@ -3,9 +3,11 @@
import cc.mrbird.febs.ai.entity.AiProductRole;
import cc.mrbird.febs.ai.req.ai.AiRequest;
import cc.mrbird.febs.ai.res.ai.AiResponse;
import cc.mrbird.febs.ai.res.ai.RadarDataItem;
import cc.mrbird.febs.ai.res.ai.Report;
import cc.mrbird.febs.ai.service.AiProductRoleService;
import cc.mrbird.febs.ai.service.AiService;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -194,6 +196,27 @@
        }
    }
    public static void main(String[] args) {
        Report report = new Report();
        List<RadarDataItem> radarDataItems = new ArrayList<>();
        RadarDataItem item1 = new RadarDataItem();
        item1.setName("A");
        item1.setCode("A");
        item1.setScore("80");
        radarDataItems.add(item1);
        RadarDataItem item2 = new RadarDataItem();
        item2.setName("A");
        item2.setCode("A");
        item2.setScore("80");
        radarDataItems.add(item2);
        report.setRadarDataItems(radarDataItems);
        System.out.println(JSONUtil.parse( report));
    }
    @Override
    public void streamQuestion(AiRequest aiRequest, Consumer<AiResponse> callback) {