|
@ -14,8 +14,9 @@ import com.ai.abc.api.model.CommonRequest;
|
14
|
14
|
import com.ai.abc.api.model.CommonResponse;
|
15
|
15
|
import com.ai.abc.util.JsonUtils;
|
16
|
16
|
import com.ai.bss.security.protection.service.interfaces.AiIdenLogManageService;
|
17
|
|
import com.ai.bss.security.protection.service.interfaces.ResourceToolManageService;
|
18
|
17
|
import com.ai.bss.security.protection.utils.EbcConstant;
|
|
18
|
import com.ai.bss.user.dto.EmployeeDto;
|
|
19
|
import com.ai.bss.user.service.api.EmployeeService;
|
19
|
20
|
import com.ai.bss.work.safety.model.AiIdenLog;
|
20
|
21
|
import com.ai.bss.work.safety.service.api.AiTaskCommand;
|
21
|
22
|
import com.ai.bss.work.safety.service.api.MonitorSceneQuery;
|
|
@ -38,14 +39,14 @@ public class AiResultRecordKafkaTask {
|
38
|
39
|
private AiTaskCommand aiTaskCommand;
|
39
|
40
|
|
40
|
41
|
@Autowired
|
41
|
|
private ResourceToolManageService resourceToolManageService;
|
42
|
|
|
43
|
|
@Autowired
|
44
|
42
|
private MonitorSceneQuery monitorSceneQuery;
|
45
|
43
|
|
46
|
44
|
@Autowired
|
47
|
45
|
private AiIdenLogManageService aiIdenLogManageService;
|
48
|
46
|
|
|
47
|
@Autowired
|
|
48
|
private EmployeeService employeeService;
|
|
49
|
|
49
|
50
|
@KafkaListener(containerFactory = "kafkaBatchListener6", topics = "${kafka.topic.aitask:topic_ai_task}", groupId = "ai_group")
|
50
|
51
|
public void AiResultRecordListener(ConsumerRecord<String, String> records, Acknowledgment ack) throws Throwable {
|
51
|
52
|
try {
|
|
@ -54,11 +55,15 @@ public class AiResultRecordKafkaTask {
|
54
|
55
|
String message = records.value();
|
55
|
56
|
log.info("已接AI任务执行结果消息,消息为:" + message);
|
56
|
57
|
|
|
58
|
AiIdenLog aiIdenLog = JSON.parseObject(message, new TypeReference<AiIdenLog>() {
|
|
59
|
});
|
|
60
|
|
57
|
61
|
JSONObject messageJson = JSONObject.parseObject(message);
|
58
|
62
|
String resourceToolId = messageJson.getString("resourceToolId");
|
59
|
63
|
String idenResultType = messageJson.getString("idenResultType");
|
|
64
|
Long relateEmployeeRoleId = messageJson.getLong("relateEmployeeRoleId");
|
60
|
65
|
|
61
|
|
// 查询相关数据
|
|
66
|
// 关联场景信息
|
62
|
67
|
CommonResponse<List<Map<String, Object>>> sceneTerminalRelResponse = monitorSceneQuery
|
63
|
68
|
.selectSceneTerminalRel(new CommonRequest<Long>(Long.valueOf(resourceToolId)));
|
64
|
69
|
if (sceneTerminalRelResponse == null || CollectionUtils.isEmpty(sceneTerminalRelResponse.getData())) {
|
|
@ -68,9 +73,6 @@ public class AiResultRecordKafkaTask {
|
68
|
73
|
|
69
|
74
|
Map<String, Object> sceneTerminalRelMap = sceneTerminalRelResponse.getData().get(0);
|
70
|
75
|
|
71
|
|
// 封装数据
|
72
|
|
AiIdenLog aiIdenLog = JSON.parseObject(message, new TypeReference<AiIdenLog>() {
|
73
|
|
});
|
74
|
76
|
aiIdenLog.setMonitorSceneId(sceneTerminalRelMap.get("monitorSceneId") == null ? ""
|
75
|
77
|
: String.valueOf(sceneTerminalRelMap.get("monitorSceneId")));
|
76
|
78
|
aiIdenLog.setMonitorSceneName(sceneTerminalRelMap.get("monitorSceneName") == null ? ""
|
|
@ -82,9 +84,26 @@ public class AiResultRecordKafkaTask {
|
82
|
84
|
aiIdenLog.setOrganizationId(
|
83
|
85
|
sceneTerminalRelMap.get("orgId") == null ? "" : String.valueOf(sceneTerminalRelMap.get("orgId")));
|
84
|
86
|
|
85
|
|
// TODO 人员信息暂时默认
|
86
|
|
aiIdenLog.setRelateEmployeeRoleId("201613310867");
|
87
|
|
aiIdenLog.setRelateEmployeeRoleName("王浩");
|
|
87
|
// 关联员工信息
|
|
88
|
EmployeeDto employeeDto = null;
|
|
89
|
if (relateEmployeeRoleId != null) {
|
|
90
|
employeeDto = new EmployeeDto();
|
|
91
|
employeeDto.setId(relateEmployeeRoleId);
|
|
92
|
CommonRequest<EmployeeDto> employeeDtoRequest = new CommonRequest<EmployeeDto>(employeeDto);
|
|
93
|
CommonResponse<EmployeeDto> employeeDtoResponse = employeeService.queryEmployee(employeeDtoRequest);
|
|
94
|
if (employeeDtoResponse == null || employeeDtoResponse.getData() == null) {
|
|
95
|
employeeDto = null;
|
|
96
|
} else {
|
|
97
|
employeeDto = employeeDtoResponse.getData();
|
|
98
|
}
|
|
99
|
}
|
|
100
|
if (employeeDto != null) {
|
|
101
|
aiIdenLog.setRelateEmployeeRoleName(employeeDto.getName());
|
|
102
|
aiIdenLog.setOrganizationId(String.valueOf(employeeDto.getOrganizeId()));
|
|
103
|
} else {
|
|
104
|
aiIdenLog.setRelateEmployeeRoleId("-1");
|
|
105
|
aiIdenLog.setRelateEmployeeRoleName(null);
|
|
106
|
}
|
88
|
107
|
|
89
|
108
|
// 执行操作
|
90
|
109
|
CommonResponse<AiIdenLog> aiIdenLogRunningResult = aiIdenLogManageService.createAiIdenLog(aiIdenLog);
|