From 305e40da0fa28f0afa1da29ca26b1485170f67d4 Mon Sep 17 00:00:00 2001 From: sdy Date: Mon, 15 Jun 2026 19:41:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9E=E8=A1=8C=E6=9E=B6=E6=AC=A1=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0ai=E5=AA=92=E4=BD=93=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/business/dto/FlightTaskDTO.java | 115 +++++++++--------- .../business/entity/FlightTaskEntity.java | 4 + .../business/service/ZhiMouService.java | 3 + .../service/impl/FlightTaskServiceImpl.java | 6 + .../service/impl/ZhiMouServiceImpl.java | 10 ++ prj-deploy/file/pgsql/init.sql | 7 +- 6 files changed, 88 insertions(+), 57 deletions(-) diff --git a/admin/src/main/java/com/multictrl/modules/business/dto/FlightTaskDTO.java b/admin/src/main/java/com/multictrl/modules/business/dto/FlightTaskDTO.java index e58bcd1..26f4db4 100644 --- a/admin/src/main/java/com/multictrl/modules/business/dto/FlightTaskDTO.java +++ b/admin/src/main/java/com/multictrl/modules/business/dto/FlightTaskDTO.java @@ -11,93 +11,96 @@ import java.util.Date; /** * 飞行架次参数 * - * @author Sdy + * @author Sdy * @since 1.0.0 2026-05-02 */ @Data @Schema(name = "飞行架次参数") public class FlightTaskDTO implements Serializable { @Serial - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - @Schema(description = "任务标识") - private String taskId; + @Schema(description = "任务标识") + private String taskId; - @Schema(description = "任务类型 (1航线飞行 2手动飞行 3定时飞行)") - private Integer taskType; + @Schema(description = "任务类型 (1航线飞行 2手动飞行 3定时飞行)") + private Integer taskType; - @Schema(description = "机库SN") - private String dockSn; + @Schema(description = "机库SN") + private String dockSn; - @Schema(description = "机库名称") - private String dockName; + @Schema(description = "机库名称") + private String dockName; - @Schema(description = "机库类型") - private String dockType; + @Schema(description = "机库类型") + private String dockType; - @Schema(description = "机库型号") - private String dockModel; + @Schema(description = "机库型号") + private String dockModel; - @Schema(description = "航线标识") - private Long routeId; + @Schema(description = "航线标识") + private Long routeId; - @Schema(description = "航线名称") - private String routeName; + @Schema(description = "航线名称") + private String routeName; - @Schema(description = "航线类型") - private String routeType; + @Schema(description = "航线类型") + private String routeType; - @Schema(description = "航线距离") - private Double routeDistance; + @Schema(description = "航线距离") + private Double routeDistance; - @Schema(description = "航点数量") - private Integer waypointNum; + @Schema(description = "航点数量") + private Integer waypointNum; - @Schema(description = "部门标识") - private Long deptId; + @Schema(description = "部门标识") + private Long deptId; - @Schema(description = "任务状态(0进行中、-1失败、1完成、2阻飞)") - private Integer taskStatus; + @Schema(description = "任务状态(0进行中、-1失败、1完成、2阻飞)") + private Integer taskStatus; - @Schema(description = "飞行距离") - private Double flightDistance; + @Schema(description = "飞行距离") + private Double flightDistance; - @Schema(description = "飞行时长(秒)") - private Long flightDuration; + @Schema(description = "飞行时长(秒)") + private Long flightDuration; - @Schema(description = "飞行时长") - private String flightDurationText; + @Schema(description = "飞行时长") + private String flightDurationText; - @Schema(description = "媒体数量") - private Integer mediaNum; + @Schema(description = "媒体数量") + private Integer mediaNum; - @Schema(description = "是否断点续飞") - private Boolean isBreakpointFly; + @Schema(description = "是否断点续飞") + private Boolean isBreakpointFly; - @Schema(description = "断点续飞最大时间") - private String breakpointFlyMaxTime; + @Schema(description = "断点续飞最大时间") + private String breakpointFlyMaxTime; - @Schema(description = "断点续飞最小时间") - private String breakpointFlyMinTime; + @Schema(description = "断点续飞最小时间") + private String breakpointFlyMinTime; - @Schema(description = "出库时间") - private Date outboundDate; + @Schema(description = "出库时间") + private Date outboundDate; - @Schema(description = "入库时间") - private Date inboundDate; + @Schema(description = "入库时间") + private Date inboundDate; - @Schema(description = "任务时间") - private Date createDate; + @Schema(description = "任务时间") + private Date createDate; - @Schema(description = "操作人") - private Long creator; + @Schema(description = "操作人") + private Long creator; - @Schema(description = "操作人名称") - private String createName; + @Schema(description = "操作人名称") + private String createName; - @Schema(description = "失败原因") - private String failureReason; + @Schema(description = "失败原因") + private String failureReason; - @Schema(description = "飞机SN") - private String uavSn; + @Schema(description = "飞机SN") + private String uavSn; + + @Schema(description = "AI媒体数量") + private Integer aiMediaNum; } diff --git a/admin/src/main/java/com/multictrl/modules/business/entity/FlightTaskEntity.java b/admin/src/main/java/com/multictrl/modules/business/entity/FlightTaskEntity.java index 1e5d9bc..9774494 100644 --- a/admin/src/main/java/com/multictrl/modules/business/entity/FlightTaskEntity.java +++ b/admin/src/main/java/com/multictrl/modules/business/entity/FlightTaskEntity.java @@ -126,4 +126,8 @@ public class FlightTaskEntity { * 飞机SN */ private String uavSn; + /** + * AI媒体数量 + */ + private Integer aiMediaNum; } \ No newline at end of file diff --git a/admin/src/main/java/com/multictrl/modules/business/service/ZhiMouService.java b/admin/src/main/java/com/multictrl/modules/business/service/ZhiMouService.java index 51fa508..3566e69 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/ZhiMouService.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/ZhiMouService.java @@ -49,4 +49,7 @@ public interface ZhiMouService { //下载AI检测报告 byte[] downloadReport(DownloadReport downloadReport); + + //获取媒体数量 + Integer getMediaCount(String taskId); } diff --git a/admin/src/main/java/com/multictrl/modules/business/service/impl/FlightTaskServiceImpl.java b/admin/src/main/java/com/multictrl/modules/business/service/impl/FlightTaskServiceImpl.java index fd066b0..001de07 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/impl/FlightTaskServiceImpl.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/impl/FlightTaskServiceImpl.java @@ -51,6 +51,7 @@ public class FlightTaskServiceImpl extends CrudServiceImpl getWrapper(Map params) { @@ -190,6 +191,11 @@ public class FlightTaskServiceImpl extends CrudServiceImpl() .eq("task_id", taskId).eq("dock_sn", dockSn)); entity.setMediaNum(count.intValue()); + + //更新ai媒体数量 + Integer mediaCount = zhiMouService.getMediaCount(taskId); + entity.setAiMediaNum(mediaCount); + updateById(entity); } diff --git a/admin/src/main/java/com/multictrl/modules/business/service/impl/ZhiMouServiceImpl.java b/admin/src/main/java/com/multictrl/modules/business/service/impl/ZhiMouServiceImpl.java index 3a2b39e..d0c85ab 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/impl/ZhiMouServiceImpl.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/impl/ZhiMouServiceImpl.java @@ -469,6 +469,16 @@ public class ZhiMouServiceImpl implements ZhiMouService { } } + @Override + public Integer getMediaCount(String taskId) { + try { + JSONObject record = getMessageRecord(taskId); + return record.getJSONArray("data").size(); + } catch (Exception e) { + return 0; + } + } + private String replaceRtmpIpPort(String originalUrl, String newIp, String newPort) { // 定义RTMP URL的正则表达式模式 Pattern pattern = Pattern.compile("^rtmp://([^/:]+):([^/]+)(/.*)$"); diff --git a/prj-deploy/file/pgsql/init.sql b/prj-deploy/file/pgsql/init.sql index 06af099..cf53b2a 100644 --- a/prj-deploy/file/pgsql/init.sql +++ b/prj-deploy/file/pgsql/init.sql @@ -2346,4 +2346,9 @@ ALTER TABLE "public"."bus_maintenance" -- Primary Key structure for table bus_maintenance_img -- ---------------------------- ALTER TABLE "public"."bus_maintenance_img" - ADD CONSTRAINT "bus_maintenance_img_pkey" PRIMARY KEY ("id"); \ No newline at end of file + ADD CONSTRAINT "bus_maintenance_img_pkey" PRIMARY KEY ("id"); + +ALTER TABLE public.bus_flight_task + ADD ai_media_num int4 NULL; +COMMENT +ON COLUMN public.bus_flight_task.ai_media_num IS 'ai媒体数量'; \ No newline at end of file