-- ===================================================================== -- 机场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);