Browse Source

增加多模态返回信息

master
wangxun 5 months ago
parent
commit
24094117e8
6 changed files with 65 additions and 22 deletions
  1. +4
    -0
      src/main/java/com/inspect/simulator/domain/bigmodelr/ContentJson.java
  2. +2
    -0
      src/main/java/com/inspect/simulator/mapper/PatrolResultMapper.java
  3. +5
    -1
      src/main/java/com/inspect/simulator/mapper/ResultAnalysisMapper.java
  4. +30
    -19
      src/main/java/com/inspect/simulator/service/impl/ModelServiceImpl.java
  5. +8
    -0
      src/main/resources/mapper/PatrolResultMapper.xml
  6. +16
    -2
      src/main/resources/mapper/ResultAnalysisMapper.xml

+ 4
- 0
src/main/java/com/inspect/simulator/domain/bigmodelr/ContentJson.java View File

@ -20,6 +20,10 @@ public class ContentJson {
private String objectId;
private String taskPatrolId;
private String businessId;
private String useType;
public ContentJson(boolean b, String 无描述内容, String 无缺陷类型, String s) {
}


+ 2
- 0
src/main/java/com/inspect/simulator/mapper/PatrolResultMapper.java View File

@ -95,4 +95,6 @@ public interface PatrolResultMapper {
List<PatrolResult> selectCurrentPatrolResultList(String createTimeStr);
List<PatrolResult> selectPatrolResults(PatrolResultParam patrolResultParam);
String selectPatrolResultByTaskPatrolledId(String taskPatrolledId);
}

+ 5
- 1
src/main/java/com/inspect/simulator/mapper/ResultAnalysisMapper.java View File

@ -3,6 +3,10 @@ package com.inspect.simulator.mapper;
import com.inspect.simulator.domain.analysis.vo.AnalysisResult;
import com.inspect.simulator.domain.bigmodelr.ContentJson;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ResultAnalysisMapper {
@ -11,5 +15,5 @@ public interface ResultAnalysisMapper {
String selectImgByPatrolPointId(String patrolPointId);
int addDmtModelInfo(ContentJson contentJson);
int addDmtModelInfo(@Param("list") List<ContentJson> contentJsonList);
}

+ 30
- 19
src/main/java/com/inspect/simulator/service/impl/ModelServiceImpl.java View File

@ -11,6 +11,7 @@ import com.inspect.simulator.domain.algorithm.out.AnalyseResPoint;
import com.inspect.simulator.domain.algorithm.out.AnalyseResult;
import com.inspect.simulator.domain.assistant.*;
import com.inspect.simulator.domain.bigmodelr.*;
import com.inspect.simulator.mapper.PatrolResultMapper;
import com.inspect.simulator.mapper.ResultAnalysisMapper;
import com.inspect.simulator.service.ModelService;
import com.inspect.simulator.service.remote.AnalysisRemoteService;
@ -70,6 +71,9 @@ public class ModelServiceImpl implements ModelService {
@Resource
private ResultAnalysisMapper resultAnalysisMapper;
@Resource
private PatrolResultMapper patrolResultMapper;
private final Logger log = LoggerFactory.getLogger(this.getClass());
private final ObjectMapper objectMapper = new ObjectMapper();
@ -288,28 +292,35 @@ public class ModelServiceImpl implements ModelService {
String content = (String) parsedResponse.getChoices().get(0).getMessage().getContent();
// 移除转义字符还原为标准JSON格式
String normalizedJson = content.replace("\\\"", "\"").replace("\\n", "");
// 使用Jackson反序列化
ContentJson contentJson = new ContentJson(false, "无描述内容", "无缺陷类型","");
try {
contentJson = objectMapper.readValue(normalizedJson, ContentJson.class);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
if (contentJson.getIsDefect()) {//true
contentJson.setIsDefectValue("1");
}else {
contentJson.setIsDefectValue("0");
}
//存入数据库
String objectId = analyseRequest.getObjectList().get(0).getObjectId();
contentJson.setObjectId(objectId);
contentJson.setFilter("2");
log.info("返回json"+new Gson().toJson(contentJson));
String lineId = patrolResultMapper.selectPatrolResultByTaskPatrolledId(analyseRequest.getTaskPatrolId());
String[] typeList = analyseRequest.getObjectList().get(0).getTypeList();
List<ContentJson> contentJsonList =new ArrayList<>();
for (int i = 0; i < typeList.length; i++) {
// 使用Jackson反序列化
ContentJson contentJson = new ContentJson(false, "无描述内容", "无缺陷类型","");
try {
contentJson = objectMapper.readValue(normalizedJson, ContentJson.class);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
if (contentJson.getIsDefect()) {//true-缺陷
contentJson.setIsDefectValue("0");
}else {
contentJson.setIsDefectValue("1");
}
int i = resultAnalysisMapper.addDmtModelInfo(contentJson);
//存入数据库
String objectId = analyseRequest.getObjectList().get(0).getObjectId();
contentJson.setObjectId(objectId);
contentJson.setFilter("2");
contentJson.setTaskPatrolId(analyseRequest.getTaskPatrolId());
contentJson.setBusinessId(lineId);
contentJson.setUseType(typeList[i]);
contentJsonList.add(contentJson);
}
int i = resultAnalysisMapper.addDmtModelInfo(contentJsonList);
return i;
}


+ 8
- 0
src/main/resources/mapper/PatrolResultMapper.xml View File

@ -834,4 +834,12 @@
</if>
order by s.task_patrolled_id desc
</select>
<select id="selectPatrolResultByTaskPatrolledId" parameterType="string" resultType="string">
select r.line_id
from patrol_task_result_main as p
LEFT JOIN patrol_result as r on p.line_id = r.main_id
where p.task_patrolled_id=#{taskPatrolledId}
</select>
</mapper>

+ 16
- 2
src/main/resources/mapper/ResultAnalysisMapper.xml View File

@ -31,8 +31,22 @@
</select>
<insert id="addDmtModelInfo" parameterType="com.inspect.simulator.domain.bigmodelr.ContentJson">
insert into result_analysis (point_status,description,result_type,filter,objectId) values (#{isDefectValue},#{info},#{defectType},#{filter},#{objectId})
<insert id="addDmtModelInfo" parameterType="java.util.List">
INSERT INTO result_analysis
(result_type, description, res_status, filter, objectId, task_patrol_id, business_id,alg_type)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.isDefectValue},
#{item.info},
#{item.defectType},
#{item.filter},
#{item.objectId},
#{item.taskPatrolId},
#{item.businessId},
#{item.useType}
)
</foreach>
</insert>
</mapper>

Loading…
Cancel
Save