From ae558a5086e4e9bf71e2068c3cb9bdd88b07c8bf Mon Sep 17 00:00:00 2001 From: yaxin Date: Wed, 25 Dec 2024 13:38:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=8D=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=A8=A1=E5=9E=8B=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/TaskRecordConstants.java | 15 ++++ .../java/com/supervision/job/XxlJobTask.java | 33 +++++++ .../controller/TaskRecordController.java | 31 +++++++ .../police/domain/TaskCaseRecord.java | 70 +++++++++++++++ .../supervision/police/domain/TaskRecord.java | 86 +++++++++++++++++++ .../police/dto/taskRecord/TaskRecordVo.java | 13 +++ .../police/mapper/TaskCaseRecordMapper.java | 18 ++++ .../police/mapper/TaskRecordMapper.java | 18 ++++ .../police/service/TaskCaseRecordService.java | 14 +++ .../police/service/TaskRecordService.java | 15 ++++ .../impl/TaskCaseRecordServiceImpl.java | 25 ++++++ .../service/impl/TaskRecordServiceImpl.java | 49 +++++++++++ .../resources/mapper/TaskCaseRecordMapper.xml | 26 ++++++ .../resources/mapper/TaskRecordMapper.xml | 29 +++++++ 14 files changed, 442 insertions(+) create mode 100644 src/main/java/com/supervision/common/constant/TaskRecordConstants.java create mode 100644 src/main/java/com/supervision/police/controller/TaskRecordController.java create mode 100644 src/main/java/com/supervision/police/domain/TaskCaseRecord.java create mode 100644 src/main/java/com/supervision/police/domain/TaskRecord.java create mode 100644 src/main/java/com/supervision/police/dto/taskRecord/TaskRecordVo.java create mode 100644 src/main/java/com/supervision/police/mapper/TaskCaseRecordMapper.java create mode 100644 src/main/java/com/supervision/police/mapper/TaskRecordMapper.java create mode 100644 src/main/java/com/supervision/police/service/TaskCaseRecordService.java create mode 100644 src/main/java/com/supervision/police/service/TaskRecordService.java create mode 100644 src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java create mode 100644 src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java create mode 100644 src/main/resources/mapper/TaskCaseRecordMapper.xml create mode 100644 src/main/resources/mapper/TaskRecordMapper.xml diff --git a/src/main/java/com/supervision/common/constant/TaskRecordConstants.java b/src/main/java/com/supervision/common/constant/TaskRecordConstants.java new file mode 100644 index 0000000..0c16be5 --- /dev/null +++ b/src/main/java/com/supervision/common/constant/TaskRecordConstants.java @@ -0,0 +1,15 @@ +package com.supervision.common.constant; + +public class TaskRecordConstants { + public static final String TASK_NAME_PREFIX = "任务"; + public static final String TASK_NAME_PREFIX_TYPE_ALL_CASE = "AllCase"; + public static final String TASK_NAME_PREFIX_TYPE_SPECIFIED_CASE = "CasePart"; + public static final String TASK_NAME_PREFIX_TYPE_SPECIFIED_RECORD = "CaseRecord"; + public static final String TASK_NAME_PREFIX_TYPE_SPECIFIED_EVIDENCE = "CaseEvidence"; + public static final String TASK_TYPE_ALL_CASE = "0"; + public static final String TASK_TYPE_SPECIFIED_CASE = "1"; + public static final String TASK_TYPE_SPECIFIED_RECORD = "2"; + public static final String TASK_TYPE_SPECIFIED_EVIDENCE = "3"; + public static final String TASK_EXTRACT_RECORD = "record"; + public static final String TASK_EXTRACT_EVIDENCE = "evidence"; +} diff --git a/src/main/java/com/supervision/job/XxlJobTask.java b/src/main/java/com/supervision/job/XxlJobTask.java index 2d17959..af8dbc8 100644 --- a/src/main/java/com/supervision/job/XxlJobTask.java +++ b/src/main/java/com/supervision/job/XxlJobTask.java @@ -28,4 +28,37 @@ public class XxlJobTask { log.info("任务执行完成"); } } + + /** + * 根据任务提取证据 + */ + @XxlJob("extractEvidenceByTask") + public void extractEvidenceByTask() { + String param = XxlJobHelper.getJobParam(); + log.info("【证据解析】任务开始。ID: 【{}】", param); + try { + caseEvidenceService.evidenceAnalysis(param); + } catch (Exception e) { + log.error("任务执行失败", e); + } finally { + log.info("任务执行完成"); + } + } + + /** + * 根据任务提取笔录 + */ + @XxlJob("extractRecordByTask") + public void extractRecordByTask() { + String param = XxlJobHelper.getJobParam(); + log.info("【证据解析】任务开始。ID: 【{}】", param); + try { + caseEvidenceService.evidenceAnalysis(param); + } catch (Exception e) { + log.error("任务执行失败", e); + } finally { + log.info("任务执行完成"); + } + } + } diff --git a/src/main/java/com/supervision/police/controller/TaskRecordController.java b/src/main/java/com/supervision/police/controller/TaskRecordController.java new file mode 100644 index 0000000..8382c29 --- /dev/null +++ b/src/main/java/com/supervision/police/controller/TaskRecordController.java @@ -0,0 +1,31 @@ +package com.supervision.police.controller; + +import com.supervision.common.domain.R; +import com.supervision.police.dto.taskRecord.TaskRecordVo; +import com.supervision.police.service.TaskCaseRecordService; +import com.supervision.police.service.TaskRecordService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "任务管理") +@RestController +@RequestMapping("/taskRecord") +@RequiredArgsConstructor +public class TaskRecordController { + + private final TaskRecordService taskRecordService; + + + @Operation(summary = "执行提示词提取任务") + @PostMapping("/executePromptExtractTask") + public R executePromptExtractTask(@RequestBody TaskRecordVo taskRecordVo) { + taskRecordService.executePromptExtractTask(taskRecordVo); + return R.ok(); + } + +} diff --git a/src/main/java/com/supervision/police/domain/TaskCaseRecord.java b/src/main/java/com/supervision/police/domain/TaskCaseRecord.java new file mode 100644 index 0000000..8fcbe53 --- /dev/null +++ b/src/main/java/com/supervision/police/domain/TaskCaseRecord.java @@ -0,0 +1,70 @@ +package com.supervision.police.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @TableName task_case_record + */ +@TableName(value = "task_case_record") +@Data +public class TaskCaseRecord implements Serializable { + /** + * + */ + @TableId + private String id; + + /** + * 任务ID + */ + private String taskRecordId; + + /** + * 案件ID + */ + private String caseId; + + /** + * 异常ID,逗号分隔 + */ + private String exceptionId; + + /** + * 0:待处理 1:处理中 2:取消中 3:已取消 4:处理成功 5:处理失败 + */ + private String status; + + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人ID + */ + private String updateUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 提取笔录还是证据 record:笔录 evidence:证据 + */ + private String recordOrEvidence; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/supervision/police/domain/TaskRecord.java b/src/main/java/com/supervision/police/domain/TaskRecord.java new file mode 100644 index 0000000..8b5b2fe --- /dev/null +++ b/src/main/java/com/supervision/police/domain/TaskRecord.java @@ -0,0 +1,86 @@ +package com.supervision.police.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author dxy + * @TableName task_record + */ +@TableName(value = "task_record") +@Data +public class TaskRecord implements Serializable { + /** + * + */ + @TableId + private String id; + + /** + * 名称 + */ + private String name; + + /** + * 案件ID,英文逗号分隔 + */ + private String caseId; + + /** + * 笔录ID,英文逗号分隔 + */ + private String recordId; + + /** + * 证据ID,英文逗号分隔 + */ + private String evidenceId; + + /** + * 提取笔录还是证据 record:笔录 evidence:证据 + */ + private String recordOrEvidence; + + /** + * 0:全部案件 1:部分案件 2:部分笔录 3:部分证据 + */ + private String type; + + /** + * 0:待处理 1:处理中 2:取消中 3:已取消 4:处理成功 5:处理失败 + */ + private String status; + + /** + * 取消时间 + */ + private Date cancelTime; + + /** + * 创建人ID + */ + private String createUserId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人ID + */ + private String updateUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/supervision/police/dto/taskRecord/TaskRecordVo.java b/src/main/java/com/supervision/police/dto/taskRecord/TaskRecordVo.java new file mode 100644 index 0000000..373950a --- /dev/null +++ b/src/main/java/com/supervision/police/dto/taskRecord/TaskRecordVo.java @@ -0,0 +1,13 @@ +package com.supervision.police.dto.taskRecord; + +import lombok.Data; + +@Data +public class TaskRecordVo { + private String caseId; + private String recordId; + private String evidenceId; + private String recordOrEvidence; + private String type; + private String status; +} diff --git a/src/main/java/com/supervision/police/mapper/TaskCaseRecordMapper.java b/src/main/java/com/supervision/police/mapper/TaskCaseRecordMapper.java new file mode 100644 index 0000000..c8ecea2 --- /dev/null +++ b/src/main/java/com/supervision/police/mapper/TaskCaseRecordMapper.java @@ -0,0 +1,18 @@ +package com.supervision.police.mapper; + +import com.supervision.police.domain.TaskCaseRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author dxy +* @description 针对表【task_case_record】的数据库操作Mapper +* @createDate 2024-12-25 09:57:08 +* @Entity com.supervision.police.domain.TaskCaseRecord +*/ +public interface TaskCaseRecordMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/supervision/police/mapper/TaskRecordMapper.java b/src/main/java/com/supervision/police/mapper/TaskRecordMapper.java new file mode 100644 index 0000000..674d715 --- /dev/null +++ b/src/main/java/com/supervision/police/mapper/TaskRecordMapper.java @@ -0,0 +1,18 @@ +package com.supervision.police.mapper; + +import com.supervision.police.domain.TaskRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author dxy +* @description 针对表【task_record】的数据库操作Mapper +* @createDate 2024-12-24 14:44:43 +* @Entity com.supervision.police.domain.TaskRecord +*/ +public interface TaskRecordMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/supervision/police/service/TaskCaseRecordService.java b/src/main/java/com/supervision/police/service/TaskCaseRecordService.java new file mode 100644 index 0000000..c252aa5 --- /dev/null +++ b/src/main/java/com/supervision/police/service/TaskCaseRecordService.java @@ -0,0 +1,14 @@ +package com.supervision.police.service; + +import com.supervision.police.domain.TaskCaseRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.police.dto.taskRecord.TaskRecordVo; + +/** +* @author dxy +* @description 针对表【task_case_record】的数据库操作Service +* @createDate 2024-12-25 09:57:08 +*/ +public interface TaskCaseRecordService extends IService { + +} diff --git a/src/main/java/com/supervision/police/service/TaskRecordService.java b/src/main/java/com/supervision/police/service/TaskRecordService.java new file mode 100644 index 0000000..13c2ab5 --- /dev/null +++ b/src/main/java/com/supervision/police/service/TaskRecordService.java @@ -0,0 +1,15 @@ +package com.supervision.police.service; + +import com.supervision.police.domain.TaskRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.police.dto.taskRecord.TaskRecordVo; + +/** +* @author dxy +* @description 针对表【task_record】的数据库操作Service +* @createDate 2024-12-24 14:44:43 +*/ +public interface TaskRecordService extends IService { + + void executePromptExtractTask(TaskRecordVo taskRecordVo); +} diff --git a/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java b/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java new file mode 100644 index 0000000..e25badd --- /dev/null +++ b/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java @@ -0,0 +1,25 @@ +package com.supervision.police.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.supervision.common.constant.TaskRecordConstants; +import com.supervision.police.domain.TaskCaseRecord; +import com.supervision.police.domain.TaskRecord; +import com.supervision.police.dto.taskRecord.TaskRecordVo; +import com.supervision.police.service.TaskCaseRecordService; +import com.supervision.police.mapper.TaskCaseRecordMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** +* @author dxy +* @description 针对表【task_case_record】的数据库操作Service实现 +* @createDate 2024-12-25 09:57:08 +*/ +@Service +public class TaskCaseRecordServiceImpl extends ServiceImpl + implements TaskCaseRecordService{ +} + + + + diff --git a/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java b/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java new file mode 100644 index 0000000..0dcc8b6 --- /dev/null +++ b/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java @@ -0,0 +1,49 @@ +package com.supervision.police.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.supervision.common.constant.TaskRecordConstants; +import com.supervision.police.domain.TaskRecord; +import com.supervision.police.dto.taskRecord.TaskRecordVo; +import com.supervision.police.service.TaskCaseRecordService; +import com.supervision.police.service.TaskRecordService; +import com.supervision.police.mapper.TaskRecordMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** +* @author dxy +* @description 针对表【task_record】的数据库操作Service实现 +* @createDate 2024-12-24 14:44:43 +*/ +@Service +@RequiredArgsConstructor +public class TaskRecordServiceImpl extends ServiceImpl + implements TaskRecordService{ + + final TaskCaseRecordService taskCaseRecordService; + + @Override + public void executePromptExtractTask(TaskRecordVo taskRecordVo) { + TaskRecord taskRecord = new TaskRecord(); + BeanUtils.copyProperties(taskRecordVo, taskRecord); + save(taskRecord); + switch (taskRecord.getType()) { + case TaskRecordConstants.TASK_TYPE_ALL_CASE: + break; + case TaskRecordConstants.TASK_TYPE_SPECIFIED_CASE: + break; + case TaskRecordConstants.TASK_TYPE_SPECIFIED_RECORD: + break; + case TaskRecordConstants.TASK_TYPE_SPECIFIED_EVIDENCE: + break; + default: + break; + } + } + +} + + + + diff --git a/src/main/resources/mapper/TaskCaseRecordMapper.xml b/src/main/resources/mapper/TaskCaseRecordMapper.xml new file mode 100644 index 0000000..0bbe853 --- /dev/null +++ b/src/main/resources/mapper/TaskCaseRecordMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + id,task_record_id,case_id, + exception_id,status,create_user_id, + create_time,update_user_id,update_time, + record_or_evidence + + diff --git a/src/main/resources/mapper/TaskRecordMapper.xml b/src/main/resources/mapper/TaskRecordMapper.xml new file mode 100644 index 0000000..7521c9d --- /dev/null +++ b/src/main/resources/mapper/TaskRecordMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + id,name,case_id, + record_id,evidence_id,type, + status,cancel_time,create_user_id, + create_time,update_user_id,update_time, + batch_no + +