nishiwei
5 days ago 3f43e40ed1a1e9f66b3ad2862da9dbc4b710c712
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
-- =====================================================================
-- 机场1(DJI Dock 1 / M30)设备型号字典数据
-- 表:manage_device_dictionary(DJI 上云线设备型号字典)
--
-- 背景:经核实 2026-10-16,2025-11-06 数据备份
--       (sql/backup/20251106091248.nb3)中以下数据行已随
--       DJI 官方 Demo 种子数据存在('DJI Dock'=id18 / 'Matrice 30'=id2 /
--       'Matrice 30T'=id3 等),开发库无需执行即可直接联调。
--       本脚本为幂等兜底:跨环境部署(dev / prod / daqing)若缺失则补齐,
--       已存在则跳过,可重复执行。
--
-- 消费点(皆为共享层,由 dock1/dock2 两条链共用):
--   DeviceServiceImpl#deviceGatewayConvertToDeviceEntity  :793  机场上线  domain=3
--   DeviceServiceImpl#subDeviceConvertToDeviceEntity      :827  飞行器上线 domain=0
--   DeviceServiceImpl#bindDevice2Entity                   :1373 设备绑定
--   DevicePayloadServiceImpl                              :205  负载上线  domain=1
--   CapacityCameraServiceImpl                             :68   相机能力上报 domain=1
--   FileServiceImpl                                       :209  媒体上传  domain=1
--
-- 官方文档:https://developer.dji.com/doc/cloud-api-tutorial/cn/api-reference/
--           dock-to-cloud/mqtt/dock/dock1/properties.html
--           (device_model_key 三段式 domain-type-sub_type 即下列前 3 列)
-- =====================================================================
 
-- 机场1(Dock1):domain=3(机场), device_type=1, sub_type=0
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 3, 1, 0, 'DJI Dock', 'DJI Airport' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 3 AND `device_type` = 1 AND `sub_type` = 0);
 
-- 飞行器 M30:domain=0(飞行器), device_type=67, sub_type=0
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 0, 67, 0, 'Matrice 30', NULL FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 0 AND `device_type` = 67 AND `sub_type` = 0);
 
-- 飞行器 M30T:domain=0, device_type=67, sub_type=1
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 0, 67, 1, 'Matrice 30T', NULL FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 0 AND `device_type` = 67 AND `sub_type` = 1);
 
-- M30 相机:domain=1(负载), device_type=52, sub_type=0
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 1, 52, 0, 'M30 Camera', NULL FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 1 AND `device_type` = 52 AND `sub_type` = 0);
 
-- M30T 相机:domain=1, device_type=53, sub_type=0
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 1, 53, 0, 'M30T Camera', NULL FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 1 AND `device_type` = 53 AND `sub_type` = 0);
 
-- 机场相机:domain=1, device_type=165, sub_type=0
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 1, 165, 0, 'DJI Dock Camera', NULL FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 1 AND `device_type` = 165 AND `sub_type` = 0);
 
-- M30 遥控器:domain=2(遥控器), device_type=119, sub_type=0
INSERT INTO `manage_device_dictionary` (`domain`, `device_type`, `sub_type`, `device_name`, `device_desc`)
SELECT 2, 119, 0, 'Matrice 30 Smart Controller', 'Remote control for M30' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `manage_device_dictionary` WHERE `domain` = 2 AND `device_type` = 119 AND `sub_type` = 0);