From fc0a6b039717825df712a030f404782ceae46fef Mon Sep 17 00:00:00 2001
From: tian <11429339@qq.com>
Date: Fri, 19 Jun 2026 10:26:48 +0800
Subject: [PATCH] =?UTF-8?q?Spec=20=E7=B1=BB=E5=91=BD=E5=90=8D=E7=A9=BA?=
=?UTF-8?q?=E9=97=B4=E4=BF=AE=E6=AD=A3=EF=BC=9ACounterDrone.Core=20?=
=?UTF-8?q?=E2=86=92=20CounterDrone.Core.Models?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- DroneSpec/FireUnitSpec/SensorSpec/EnvironmentSpec/FormationTemplate/RouteTemplate
- EnumMetadata 移到 Services 目录
- 238 测试全过
---
src/CounterDrone.Core/Models/DroneSpec.cs | 4 +--
.../Models/EnvironmentSpec.cs | 4 +--
src/CounterDrone.Core/Models/FireUnitSpec.cs | 4 +--
.../Models/FormationTemplate.cs | 4 +--
src/CounterDrone.Core/Models/PagedResult.cs | 14 ++++++++
src/CounterDrone.Core/Models/RouteTemplate.cs | 4 +--
.../Models/ScenarioConfig.cs | 10 ------
src/CounterDrone.Core/Models/ScenarioDrone.cs | 3 +-
src/CounterDrone.Core/Models/ScenarioUnit.cs | 3 +-
src/CounterDrone.Core/Models/SensorSpec.cs | 4 +--
.../Repository/DroneSpecRepository.cs | 11 ++++++
.../Repository/EnvironmentSpecRepository.cs | 11 ++++++
.../Repository/FireUnitSpecRepository.cs | 11 ++++++
.../Repository/FormationTemplateRepository.cs | 11 ++++++
.../Repository/RouteTemplateRepository.cs | 11 ++++++
.../Repository/SensorSpecRepository.cs | 11 ++++++
.../Repository/SpecRepositories.cs | 35 -------------------
.../Services/EnumMetadata.cs | 20 +++++++++++
.../Services/IScenarioService.cs | 16 ---------
19 files changed, 116 insertions(+), 75 deletions(-)
create mode 100644 src/CounterDrone.Core/Models/PagedResult.cs
create mode 100644 src/CounterDrone.Core/Repository/DroneSpecRepository.cs
create mode 100644 src/CounterDrone.Core/Repository/EnvironmentSpecRepository.cs
create mode 100644 src/CounterDrone.Core/Repository/FireUnitSpecRepository.cs
create mode 100644 src/CounterDrone.Core/Repository/FormationTemplateRepository.cs
create mode 100644 src/CounterDrone.Core/Repository/RouteTemplateRepository.cs
create mode 100644 src/CounterDrone.Core/Repository/SensorSpecRepository.cs
delete mode 100644 src/CounterDrone.Core/Repository/SpecRepositories.cs
create mode 100644 src/CounterDrone.Core/Services/EnumMetadata.cs
diff --git a/src/CounterDrone.Core/Models/DroneSpec.cs b/src/CounterDrone.Core/Models/DroneSpec.cs
index a9b62e4..bbf4f0c 100644
--- a/src/CounterDrone.Core/Models/DroneSpec.cs
+++ b/src/CounterDrone.Core/Models/DroneSpec.cs
@@ -1,7 +1,7 @@
-using CounterDrone.Core.Models;
+using CounterDrone.Core.Models;
using SQLite;
-namespace CounterDrone.Core
+namespace CounterDrone.Core.Models
{
/// 无人机规格(基础数据模板)
[Table("DroneSpec")]
diff --git a/src/CounterDrone.Core/Models/EnvironmentSpec.cs b/src/CounterDrone.Core/Models/EnvironmentSpec.cs
index 16ded46..75628cb 100644
--- a/src/CounterDrone.Core/Models/EnvironmentSpec.cs
+++ b/src/CounterDrone.Core/Models/EnvironmentSpec.cs
@@ -1,7 +1,7 @@
-using CounterDrone.Core.Models;
+using CounterDrone.Core.Models;
using SQLite;
-namespace CounterDrone.Core
+namespace CounterDrone.Core.Models
{
/// 环境规格(基础数据模板)
[Table("EnvironmentSpec")]
diff --git a/src/CounterDrone.Core/Models/FireUnitSpec.cs b/src/CounterDrone.Core/Models/FireUnitSpec.cs
index ce73599..2840b1d 100644
--- a/src/CounterDrone.Core/Models/FireUnitSpec.cs
+++ b/src/CounterDrone.Core/Models/FireUnitSpec.cs
@@ -1,8 +1,8 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using CounterDrone.Core.Models;
using SQLite;
-namespace CounterDrone.Core
+namespace CounterDrone.Core.Models
{
/// 火力单元规格(基础数据模板)
[Table("FireUnitSpec")]
diff --git a/src/CounterDrone.Core/Models/FormationTemplate.cs b/src/CounterDrone.Core/Models/FormationTemplate.cs
index fdcd09f..c5abef9 100644
--- a/src/CounterDrone.Core/Models/FormationTemplate.cs
+++ b/src/CounterDrone.Core/Models/FormationTemplate.cs
@@ -1,6 +1,6 @@
-using CounterDrone.Core.Models;
+using CounterDrone.Core.Models;
-namespace CounterDrone.Core
+namespace CounterDrone.Core.Models
{
/// 编队模板
public class FormationTemplate
diff --git a/src/CounterDrone.Core/Models/PagedResult.cs b/src/CounterDrone.Core/Models/PagedResult.cs
new file mode 100644
index 0000000..f54584f
--- /dev/null
+++ b/src/CounterDrone.Core/Models/PagedResult.cs
@@ -0,0 +1,14 @@
+using System.Collections.Generic;
+
+namespace CounterDrone.Core.Models
+{
+ /// 分页结果
+ public class PagedResult
+ {
+ public List Items { get; set; } = new();
+ public int TotalCount { get; set; }
+ public int Page { get; set; }
+ public int PageSize { get; set; }
+ public int TotalPages => (TotalCount + PageSize - 1) / PageSize;
+ }
+}
diff --git a/src/CounterDrone.Core/Models/RouteTemplate.cs b/src/CounterDrone.Core/Models/RouteTemplate.cs
index d71b2bd..db7a712 100644
--- a/src/CounterDrone.Core/Models/RouteTemplate.cs
+++ b/src/CounterDrone.Core/Models/RouteTemplate.cs
@@ -1,8 +1,8 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using CounterDrone.Core.Models;
using SQLite;
-namespace CounterDrone.Core
+namespace CounterDrone.Core.Models
{
/// 航线模板(基础数据模板)
[Table("RouteTemplate")]
diff --git a/src/CounterDrone.Core/Models/ScenarioConfig.cs b/src/CounterDrone.Core/Models/ScenarioConfig.cs
index 5d408bb..674c640 100644
--- a/src/CounterDrone.Core/Models/ScenarioConfig.cs
+++ b/src/CounterDrone.Core/Models/ScenarioConfig.cs
@@ -16,14 +16,4 @@ namespace CounterDrone.Core.Models
/// 按 WaveId 分组的航路点
public Dictionary> WaypointGroups { get; set; } = new();
}
-
- /// 分页结果
- public class PagedResult
- {
- public List Items { get; set; } = new();
- public int TotalCount { get; set; }
- public int Page { get; set; }
- public int PageSize { get; set; }
- public int TotalPages => (TotalCount + PageSize - 1) / PageSize;
- }
}
diff --git a/src/CounterDrone.Core/Models/ScenarioDrone.cs b/src/CounterDrone.Core/Models/ScenarioDrone.cs
index 6cc38d7..0247b8a 100644
--- a/src/CounterDrone.Core/Models/ScenarioDrone.cs
+++ b/src/CounterDrone.Core/Models/ScenarioDrone.cs
@@ -1,5 +1,6 @@
-using System;
+using System;
using SQLite;
+using CounterDrone.Core.Models;
namespace CounterDrone.Core.Models
{
diff --git a/src/CounterDrone.Core/Models/ScenarioUnit.cs b/src/CounterDrone.Core/Models/ScenarioUnit.cs
index 144c232..86306a6 100644
--- a/src/CounterDrone.Core/Models/ScenarioUnit.cs
+++ b/src/CounterDrone.Core/Models/ScenarioUnit.cs
@@ -1,5 +1,6 @@
-using System;
+using System;
using SQLite;
+using CounterDrone.Core.Models;
namespace CounterDrone.Core.Models
{
diff --git a/src/CounterDrone.Core/Models/SensorSpec.cs b/src/CounterDrone.Core/Models/SensorSpec.cs
index 3986e2c..9f3b5a6 100644
--- a/src/CounterDrone.Core/Models/SensorSpec.cs
+++ b/src/CounterDrone.Core/Models/SensorSpec.cs
@@ -1,7 +1,7 @@
-using CounterDrone.Core.Models;
+using CounterDrone.Core.Models;
using SQLite;
-namespace CounterDrone.Core
+namespace CounterDrone.Core.Models
{
/// 传感器规格(基础数据模板)
[Table("SensorSpec")]
diff --git a/src/CounterDrone.Core/Repository/DroneSpecRepository.cs b/src/CounterDrone.Core/Repository/DroneSpecRepository.cs
new file mode 100644
index 0000000..506b750
--- /dev/null
+++ b/src/CounterDrone.Core/Repository/DroneSpecRepository.cs
@@ -0,0 +1,11 @@
+using CounterDrone.Core;
+using SQLite;
+using CounterDrone.Core.Models;
+
+namespace CounterDrone.Core.Repository
+{
+ public class DroneSpecRepository : BaseRepository
+ {
+ public DroneSpecRepository(SQLiteConnection db) : base(db) { }
+ }
+}
diff --git a/src/CounterDrone.Core/Repository/EnvironmentSpecRepository.cs b/src/CounterDrone.Core/Repository/EnvironmentSpecRepository.cs
new file mode 100644
index 0000000..b1199dd
--- /dev/null
+++ b/src/CounterDrone.Core/Repository/EnvironmentSpecRepository.cs
@@ -0,0 +1,11 @@
+using CounterDrone.Core;
+using SQLite;
+using CounterDrone.Core.Models;
+
+namespace CounterDrone.Core.Repository
+{
+ public class EnvironmentSpecRepository : BaseRepository
+ {
+ public EnvironmentSpecRepository(SQLiteConnection db) : base(db) { }
+ }
+}
diff --git a/src/CounterDrone.Core/Repository/FireUnitSpecRepository.cs b/src/CounterDrone.Core/Repository/FireUnitSpecRepository.cs
new file mode 100644
index 0000000..9f9ef6d
--- /dev/null
+++ b/src/CounterDrone.Core/Repository/FireUnitSpecRepository.cs
@@ -0,0 +1,11 @@
+using CounterDrone.Core;
+using SQLite;
+using CounterDrone.Core.Models;
+
+namespace CounterDrone.Core.Repository
+{
+ public class FireUnitSpecRepository : BaseRepository
+ {
+ public FireUnitSpecRepository(SQLiteConnection db) : base(db) { }
+ }
+}
diff --git a/src/CounterDrone.Core/Repository/FormationTemplateRepository.cs b/src/CounterDrone.Core/Repository/FormationTemplateRepository.cs
new file mode 100644
index 0000000..4e9a99f
--- /dev/null
+++ b/src/CounterDrone.Core/Repository/FormationTemplateRepository.cs
@@ -0,0 +1,11 @@
+using CounterDrone.Core;
+using SQLite;
+using CounterDrone.Core.Models;
+
+namespace CounterDrone.Core.Repository
+{
+ public class FormationTemplateRepository : BaseRepository
+ {
+ public FormationTemplateRepository(SQLiteConnection db) : base(db) { }
+ }
+}
diff --git a/src/CounterDrone.Core/Repository/RouteTemplateRepository.cs b/src/CounterDrone.Core/Repository/RouteTemplateRepository.cs
new file mode 100644
index 0000000..d92d6dd
--- /dev/null
+++ b/src/CounterDrone.Core/Repository/RouteTemplateRepository.cs
@@ -0,0 +1,11 @@
+using CounterDrone.Core;
+using SQLite;
+using CounterDrone.Core.Models;
+
+namespace CounterDrone.Core.Repository
+{
+ public class RouteTemplateRepository : BaseRepository
+ {
+ public RouteTemplateRepository(SQLiteConnection db) : base(db) { }
+ }
+}
diff --git a/src/CounterDrone.Core/Repository/SensorSpecRepository.cs b/src/CounterDrone.Core/Repository/SensorSpecRepository.cs
new file mode 100644
index 0000000..eba9314
--- /dev/null
+++ b/src/CounterDrone.Core/Repository/SensorSpecRepository.cs
@@ -0,0 +1,11 @@
+using CounterDrone.Core;
+using SQLite;
+using CounterDrone.Core.Models;
+
+namespace CounterDrone.Core.Repository
+{
+ public class SensorSpecRepository : BaseRepository
+ {
+ public SensorSpecRepository(SQLiteConnection db) : base(db) { }
+ }
+}
diff --git a/src/CounterDrone.Core/Repository/SpecRepositories.cs b/src/CounterDrone.Core/Repository/SpecRepositories.cs
deleted file mode 100644
index f8fd1a2..0000000
--- a/src/CounterDrone.Core/Repository/SpecRepositories.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using CounterDrone.Core;
-using SQLite;
-
-namespace CounterDrone.Core.Repository
-{
- public class FireUnitSpecRepository : BaseRepository
- {
- public FireUnitSpecRepository(SQLiteConnection db) : base(db) { }
- }
-
- public class DroneSpecRepository : BaseRepository
- {
- public DroneSpecRepository(SQLiteConnection db) : base(db) { }
- }
-
- public class SensorSpecRepository : BaseRepository
- {
- public SensorSpecRepository(SQLiteConnection db) : base(db) { }
- }
-
- public class EnvironmentSpecRepository : BaseRepository
- {
- public EnvironmentSpecRepository(SQLiteConnection db) : base(db) { }
- }
-
- public class FormationTemplateRepository : BaseRepository
- {
- public FormationTemplateRepository(SQLiteConnection db) : base(db) { }
- }
-
- public class RouteTemplateRepository : BaseRepository
- {
- public RouteTemplateRepository(SQLiteConnection db) : base(db) { }
- }
-}
diff --git a/src/CounterDrone.Core/Services/EnumMetadata.cs b/src/CounterDrone.Core/Services/EnumMetadata.cs
new file mode 100644
index 0000000..ba9c260
--- /dev/null
+++ b/src/CounterDrone.Core/Services/EnumMetadata.cs
@@ -0,0 +1,20 @@
+using System.Collections.Generic;
+
+namespace CounterDrone.Core.Services
+{
+ /// 枚举元数据(前端下拉框数据源)
+ public class EnumMetadata
+ {
+ public Dictionary DroneType { get; set; } = new();
+ public Dictionary PowerType { get; set; } = new();
+ public Dictionary PlatformType { get; set; } = new();
+ public Dictionary AerosolType { get; set; } = new();
+ public Dictionary WeatherType { get; set; } = new();
+ public Dictionary WindDirection { get; set; } = new();
+ public Dictionary SceneType { get; set; } = new();
+ public Dictionary FormationMode { get; set; } = new();
+ public Dictionary TriggerMode { get; set; } = new();
+ public Dictionary ReleaseMode { get; set; } = new();
+ public Dictionary EquipmentRole { get; set; } = new();
+ }
+}
diff --git a/src/CounterDrone.Core/Services/IScenarioService.cs b/src/CounterDrone.Core/Services/IScenarioService.cs
index 95c107e..0d8fcdd 100644
--- a/src/CounterDrone.Core/Services/IScenarioService.cs
+++ b/src/CounterDrone.Core/Services/IScenarioService.cs
@@ -60,20 +60,4 @@ namespace CounterDrone.Core.Services
/// 返回所有枚举定义(供前端下拉框使用)
EnumMetadata GetEnums();
}
-
- /// 枚举元数据
- public class EnumMetadata
- {
- public Dictionary DroneType { get; set; } = new();
- public Dictionary PowerType { get; set; } = new();
- public Dictionary PlatformType { get; set; } = new();
- public Dictionary AerosolType { get; set; } = new();
- public Dictionary WeatherType { get; set; } = new();
- public Dictionary WindDirection { get; set; } = new();
- public Dictionary SceneType { get; set; } = new();
- public Dictionary FormationMode { get; set; } = new();
- public Dictionary TriggerMode { get; set; } = new();
- public Dictionary ReleaseMode { get; set; } = new();
- public Dictionary EquipmentRole { get; set; } = new();
- }
}