diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/controller/AppCameraInfoController.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/controller/AppCameraInfoController.java
similarity index 96%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/controller/AppCameraInfoController.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/controller/AppCameraInfoController.java
index f8b699e5..df5d3b93 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/controller/AppCameraInfoController.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/controller/AppCameraInfoController.java
@@ -1,16 +1,13 @@
-package com.nu.modules.iot.tplink.controller;
+package com.nu.modules.iot.tplink.camerainfo.controller;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.nu.modules.iot.tplink.entity.AppCameraInfo;
-import com.nu.modules.iot.tplink.service.IAppCameraInfoService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo;
+import com.nu.modules.iot.tplink.camerainfo.service.IAppCameraInfoService;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppCameraInfo.java
similarity index 99%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppCameraInfo.java
index 81d303e7..45bccdbb 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppCameraInfo.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.entity;
+package com.nu.modules.iot.tplink.camerainfo.entity;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppErrorCode.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppErrorCode.java
similarity index 95%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppErrorCode.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppErrorCode.java
index 2bade913..f6408c77 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppErrorCode.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppErrorCode.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.entity;
+package com.nu.modules.iot.tplink.camerainfo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppProjectInfo.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppProjectInfo.java
similarity index 98%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppProjectInfo.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppProjectInfo.java
index 83a2a75b..f49e626d 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppProjectInfo.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppProjectInfo.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.entity;
+package com.nu.modules.iot.tplink.camerainfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppRegionInfo.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppRegionInfo.java
similarity index 98%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppRegionInfo.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppRegionInfo.java
index 74fd8d98..5f70a14d 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppRegionInfo.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppRegionInfo.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.entity;
+package com.nu.modules.iot.tplink.camerainfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppTumsConfig.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppTumsConfig.java
similarity index 97%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppTumsConfig.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppTumsConfig.java
index d0e3bcfd..e3131a0b 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppTumsConfig.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/entity/AppTumsConfig.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.entity;
+package com.nu.modules.iot.tplink.camerainfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/enums/AppApiEnum.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/enums/AppApiEnum.java
similarity index 97%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/enums/AppApiEnum.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/enums/AppApiEnum.java
index 02a85bcb..6299eb25 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/enums/AppApiEnum.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/enums/AppApiEnum.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.enums;
+package com.nu.modules.iot.tplink.camerainfo.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppCameraInfoMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java
similarity index 89%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppCameraInfoMapper.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java
index 6bb9b619..95207d03 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppCameraInfoMapper.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java
@@ -1,9 +1,9 @@
-package com.nu.modules.iot.tplink.mapper;
+package com.nu.modules.iot.tplink.camerainfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.nu.modules.iot.tplink.entity.AppCameraInfo;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppErrorCodeMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppErrorCodeMapper.java
similarity index 75%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppErrorCodeMapper.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppErrorCodeMapper.java
index ab0c2581..47787b19 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppErrorCodeMapper.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppErrorCodeMapper.java
@@ -1,7 +1,7 @@
-package com.nu.modules.iot.tplink.mapper;
+package com.nu.modules.iot.tplink.camerainfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.nu.modules.iot.tplink.entity.AppErrorCode;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppErrorCode;
import org.apache.ibatis.annotations.Mapper;
/**
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppProjectInfoMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppProjectInfoMapper.java
similarity index 74%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppProjectInfoMapper.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppProjectInfoMapper.java
index 03bf737b..8f9be51b 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppProjectInfoMapper.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppProjectInfoMapper.java
@@ -1,7 +1,7 @@
-package com.nu.modules.iot.tplink.mapper;
+package com.nu.modules.iot.tplink.camerainfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.nu.modules.iot.tplink.entity.AppProjectInfo;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppProjectInfo;
/**
* @Description: 护理单元-物联管理-TPLINK项目信息
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppRegionInfoMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppRegionInfoMapper.java
similarity index 74%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppRegionInfoMapper.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppRegionInfoMapper.java
index f81b36fa..083d6c26 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppRegionInfoMapper.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppRegionInfoMapper.java
@@ -1,7 +1,7 @@
-package com.nu.modules.iot.tplink.mapper;
+package com.nu.modules.iot.tplink.camerainfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.nu.modules.iot.tplink.entity.AppRegionInfo;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppRegionInfo;
/**
* @Description: 护理单元-物联管理-TPLINK分组信息
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppTumsConfigMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppTumsConfigMapper.java
similarity index 77%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppTumsConfigMapper.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppTumsConfigMapper.java
index 34998a25..500101ed 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/AppTumsConfigMapper.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppTumsConfigMapper.java
@@ -1,7 +1,7 @@
-package com.nu.modules.iot.tplink.mapper;
+package com.nu.modules.iot.tplink.camerainfo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.nu.modules.iot.tplink.entity.AppTumsConfig;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppTumsConfig;
import org.apache.ibatis.annotations.Mapper;
/**
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppCameraInfoMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml
similarity index 92%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppCameraInfoMapper.xml
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml
index 5fa822a3..24b3eccf 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppCameraInfoMapper.xml
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml
@@ -1,8 +1,8 @@
-
+
-
\ No newline at end of file
+
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppErrorCodeMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppErrorCodeMapper.xml
similarity index 72%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppErrorCodeMapper.xml
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppErrorCodeMapper.xml
index f4c26174..8d2533c1 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppErrorCodeMapper.xml
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppErrorCodeMapper.xml
@@ -1,8 +1,8 @@
-
+
-
+
select
error_code as errorCode,
error_msg as errorMsg
@@ -10,4 +10,4 @@
where error_code = #{errorCode}
-
\ No newline at end of file
+
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppProjectInfoMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppProjectInfoMapper.xml
similarity index 85%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppProjectInfoMapper.xml
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppProjectInfoMapper.xml
index 5bc71c62..9c9759d7 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppProjectInfoMapper.xml
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppProjectInfoMapper.xml
@@ -1,6 +1,6 @@
-
+
insert into nu_iot_tplink_project(
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppRegionInfoMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppRegionInfoMapper.xml
similarity index 86%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppRegionInfoMapper.xml
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppRegionInfoMapper.xml
index 16c8ddcd..18c0c13a 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppRegionInfoMapper.xml
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppRegionInfoMapper.xml
@@ -1,6 +1,6 @@
-
+
insert into nu_iot_tplink_region(
@@ -23,4 +23,4 @@
delete from nu_iot_tplink_region
-
\ No newline at end of file
+
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppTumsConfigMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppTumsConfigMapper.xml
similarity index 90%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppTumsConfigMapper.xml
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppTumsConfigMapper.xml
index 7f66734a..105ed802 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/mapper/xml/AppTumsConfigMapper.xml
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppTumsConfigMapper.xml
@@ -1,8 +1,8 @@
-
+
-
+
select
id,
tums_url as tumsUrl,
@@ -50,4 +50,4 @@
delete from nu_iot_tplink_tums_base
-
\ No newline at end of file
+
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppCameraInfoService.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppCameraInfoService.java
similarity index 95%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppCameraInfoService.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppCameraInfoService.java
index 2fa5e972..bb43aa15 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppCameraInfoService.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppCameraInfoService.java
@@ -1,10 +1,10 @@
-package com.nu.modules.iot.tplink.service;
+package com.nu.modules.iot.tplink.camerainfo.service;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.nu.modules.iot.tplink.entity.AppCameraInfo;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo;
import org.jeecg.common.api.vo.Result;
import java.util.Map;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppErrorCodeService.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppErrorCodeService.java
similarity index 72%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppErrorCodeService.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppErrorCodeService.java
index 8b8b3e2d..fc57d521 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppErrorCodeService.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppErrorCodeService.java
@@ -1,7 +1,7 @@
-package com.nu.modules.iot.tplink.service;
+package com.nu.modules.iot.tplink.camerainfo.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.nu.modules.iot.tplink.entity.AppErrorCode;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppErrorCode;
/**
* @Description: 护理单元-物联管理-错误码
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppTumsConfigService.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppTumsConfigService.java
similarity index 71%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppTumsConfigService.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppTumsConfigService.java
index 6d0d8e6e..c4f80dac 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/IAppTumsConfigService.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/IAppTumsConfigService.java
@@ -1,7 +1,7 @@
-package com.nu.modules.iot.tplink.service;
+package com.nu.modules.iot.tplink.camerainfo.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.nu.modules.iot.tplink.entity.AppTumsConfig;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppTumsConfig;
/**
* @Description: 护理单元-物联管理-图门系统配置
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppCameraInfoServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java
similarity index 99%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppCameraInfoServiceImpl.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java
index 7dde614a..10476b83 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppCameraInfoServiceImpl.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java
@@ -1,4 +1,4 @@
-package com.nu.modules.iot.tplink.service.impl;
+package com.nu.modules.iot.tplink.camerainfo.service.impl;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
@@ -6,19 +6,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.nu.modules.iot.tplink.entity.AppCameraInfo;
-import com.nu.modules.iot.tplink.entity.AppErrorCode;
-import com.nu.modules.iot.tplink.entity.AppTumsConfig;
-import com.nu.modules.iot.tplink.mapper.AppCameraInfoMapper;
-import com.nu.modules.iot.tplink.mapper.AppTumsConfigMapper;
-import com.nu.modules.iot.tplink.service.IAppCameraInfoService;
-import com.nu.modules.iot.tplink.service.IAppErrorCodeService;
-import com.nu.modules.iot.tplink.utils.AppTumsApi;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppErrorCode;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppCameraInfoMapper;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppTumsConfig;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppTumsConfigMapper;
+import com.nu.modules.iot.tplink.camerainfo.service.IAppCameraInfoService;
+import com.nu.modules.iot.tplink.camerainfo.service.IAppErrorCodeService;
+import com.nu.modules.iot.tplink.camerainfo.utils.AppTumsApi;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
-import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppErrorCodeServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppErrorCodeServiceImpl.java
similarity index 65%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppErrorCodeServiceImpl.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppErrorCodeServiceImpl.java
index aa623937..31fe6087 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppErrorCodeServiceImpl.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppErrorCodeServiceImpl.java
@@ -1,9 +1,9 @@
-package com.nu.modules.iot.tplink.service.impl;
+package com.nu.modules.iot.tplink.camerainfo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.nu.modules.iot.tplink.entity.AppErrorCode;
-import com.nu.modules.iot.tplink.mapper.AppErrorCodeMapper;
-import com.nu.modules.iot.tplink.service.IAppErrorCodeService;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppErrorCode;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppErrorCodeMapper;
+import com.nu.modules.iot.tplink.camerainfo.service.IAppErrorCodeService;
import org.springframework.stereotype.Service;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppTumsConfigServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppTumsConfigServiceImpl.java
similarity index 64%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppTumsConfigServiceImpl.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppTumsConfigServiceImpl.java
index f62053d9..d1249013 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/service/impl/AppTumsConfigServiceImpl.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppTumsConfigServiceImpl.java
@@ -1,9 +1,9 @@
-package com.nu.modules.iot.tplink.service.impl;
+package com.nu.modules.iot.tplink.camerainfo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.nu.modules.iot.tplink.entity.AppTumsConfig;
-import com.nu.modules.iot.tplink.mapper.AppTumsConfigMapper;
-import com.nu.modules.iot.tplink.service.IAppTumsConfigService;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppTumsConfig;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppTumsConfigMapper;
+import com.nu.modules.iot.tplink.camerainfo.service.IAppTumsConfigService;
import org.springframework.stereotype.Service;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/utils/AppTumsApi.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/utils/AppTumsApi.java
similarity index 95%
rename from nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/utils/AppTumsApi.java
rename to nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/utils/AppTumsApi.java
index 43520e1c..cf6d4709 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/utils/AppTumsApi.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/utils/AppTumsApi.java
@@ -1,21 +1,19 @@
-package com.nu.modules.iot.tplink.utils;
+package com.nu.modules.iot.tplink.camerainfo.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.nu.modules.iot.tplink.entity.AppProjectInfo;
-import com.nu.modules.iot.tplink.entity.AppRegionInfo;
-import com.nu.modules.iot.tplink.entity.AppTumsConfig;
-import com.nu.modules.iot.tplink.enums.AppApiEnum;
-import com.nu.modules.iot.tplink.mapper.AppProjectInfoMapper;
-import com.nu.modules.iot.tplink.mapper.AppRegionInfoMapper;
-import com.nu.modules.iot.tplink.mapper.AppTumsConfigMapper;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppProjectInfo;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppRegionInfo;
+import com.nu.modules.iot.tplink.camerainfo.enums.AppApiEnum;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppProjectInfoMapper;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppRegionInfoMapper;
+import com.nu.modules.iot.tplink.camerainfo.mapper.AppTumsConfigMapper;
+import com.nu.modules.iot.tplink.camerainfo.entity.AppTumsConfig;
import com.nu.modules.sysconfig.ISysConfigApi;
import com.nu.utils.HttpRequestUtil;
import com.tplink.ignite.libs.developersdk.api.TumsClient;
import com.tplink.ignite.libs.developersdk.vo.ResultVO;
import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.system.vo.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/storage/api/TplinkVideoStoApi.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/storage/api/TplinkVideoStoApi.java
new file mode 100644
index 00000000..86ec7b72
--- /dev/null
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/storage/api/TplinkVideoStoApi.java
@@ -0,0 +1,29 @@
+package com.nu.modules.iot.tplink.storage.api;
+
+import com.nu.modules.camerainfo.api.TplinkVideoStorageApi;
+import org.jeecg.common.api.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+@RestController
+@RequestMapping("/api/tplink/videoStorage")
+public class TplinkVideoStoApi {
+
+ @Autowired
+ private TplinkVideoStorageApi storageApi;
+
+ /**
+ * tplink缓存视频存储
+ *
+ * @param pic 封面图片
+ * @param video 视频缓存
+ * @param url 存储路径
+ */
+ @PostMapping("/tplinkVideoStorage")
+ public Result> tplinkVideoStorage(@RequestPart("pic") MultipartFile pic, @RequestPart("video") MultipartFile video, @RequestParam("url") String url) {
+ storageApi.tplinkVideoStorage(pic, video, url);
+ return Result.ok();
+ }
+
+}
diff --git a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
index 43d73ea2..0274840b 100644
--- a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
+++ b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
@@ -83,6 +83,7 @@ public class ShiroConfig {
}
// 配置不会被拦截的链接 顺序判断
+ filterChainDefinitionMap.put("/api/tplink/videoStorage/**", "anon"); //视频缓存存储接口
filterChainDefinitionMap.put("/iot/tq/api/electricityMeter/**", "anon"); //电表回调
filterChainDefinitionMap.put("/iot/tq/api/waterMeter/**", "anon"); //水表回调
filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon"); //cas验证登录
diff --git a/nursing-unit-iot/nu-iot-api/nu-iot-local-api/src/main/java/com/nu/modules/camerainfo/api/TplinkVideoStorageApi.java b/nursing-unit-iot/nu-iot-api/nu-iot-local-api/src/main/java/com/nu/modules/camerainfo/api/TplinkVideoStorageApi.java
new file mode 100644
index 00000000..e69a5ec8
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-api/nu-iot-local-api/src/main/java/com/nu/modules/camerainfo/api/TplinkVideoStorageApi.java
@@ -0,0 +1,7 @@
+package com.nu.modules.camerainfo.api;
+
+import org.springframework.web.multipart.MultipartFile;
+
+public interface TplinkVideoStorageApi {
+ void tplinkVideoStorage(MultipartFile pic, MultipartFile video, String url);
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/controller/TplinkVideoStorageController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/controller/TplinkVideoStorageController.java
new file mode 100644
index 00000000..27f2eb12
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/controller/TplinkVideoStorageController.java
@@ -0,0 +1,179 @@
+package com.nu.modules.tplink.storage.controller;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.query.QueryRuleEnum;
+import org.jeecg.common.util.oConvertUtils;
+import com.nu.modules.tplink.storage.entity.TplinkVideoStorage;
+import com.nu.modules.tplink.storage.service.ITplinkVideoStorageService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 护理单元-物联管理-TPLINK图门系统视频存储
+ * @Author: jeecg-boot
+ * @Date: 2025-09-01
+ * @Version: V1.0
+ */
+@Api(tags="护理单元-物联管理-TPLINK图门系统视频存储")
+@RestController
+@RequestMapping("/iot/tplink/videoStorage")
+@Slf4j
+public class TplinkVideoStorageController extends JeecgController {
+ @Autowired
+ private ITplinkVideoStorageService tplinkVideoStorageService;
+
+ /**
+ * 分页列表查询
+ *
+ * @param tplinkVideoStorage
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ //@AutoLog(value = "护理单元-物联管理-TPLINK图门系统视频存储-分页列表查询")
+ @ApiOperation(value="护理单元-物联管理-TPLINK图门系统视频存储-分页列表查询", notes="护理单元-物联管理-TPLINK图门系统视频存储-分页列表查询")
+ @GetMapping(value = "/list")
+ public Result> queryPageList(TplinkVideoStorage tplinkVideoStorage,
+ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+ HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(tplinkVideoStorage, req.getParameterMap());
+ Page page = new Page(pageNo, pageSize);
+ IPage pageList = tplinkVideoStorageService.page(page, queryWrapper);
+ return Result.OK(pageList);
+ }
+
+ /**
+ * 添加
+ *
+ * @param tplinkVideoStorage
+ * @return
+ */
+ @AutoLog(value = "护理单元-物联管理-TPLINK图门系统视频存储-添加")
+ @ApiOperation(value="护理单元-物联管理-TPLINK图门系统视频存储-添加", notes="护理单元-物联管理-TPLINK图门系统视频存储-添加")
+ @PostMapping(value = "/add")
+ public Result add(@RequestBody TplinkVideoStorage tplinkVideoStorage) {
+ tplinkVideoStorageService.save(tplinkVideoStorage);
+ return Result.OK("添加成功!");
+ }
+
+ /**
+ * 编辑
+ *
+ * @param tplinkVideoStorage
+ * @return
+ */
+ @AutoLog(value = "护理单元-物联管理-TPLINK图门系统视频存储-编辑")
+ @ApiOperation(value="护理单元-物联管理-TPLINK图门系统视频存储-编辑", notes="护理单元-物联管理-TPLINK图门系统视频存储-编辑")
+ @RequiresPermissions("tplinkvideostorage:nu_iot_tplink_video_storage:edit")
+ @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+ public Result edit(@RequestBody TplinkVideoStorage tplinkVideoStorage) {
+ tplinkVideoStorageService.updateById(tplinkVideoStorage);
+ return Result.OK("编辑成功!");
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @AutoLog(value = "护理单元-物联管理-TPLINK图门系统视频存储-通过id删除")
+ @ApiOperation(value="护理单元-物联管理-TPLINK图门系统视频存储-通过id删除", notes="护理单元-物联管理-TPLINK图门系统视频存储-通过id删除")
+ @RequiresPermissions("tplinkvideostorage:nu_iot_tplink_video_storage:delete")
+ @DeleteMapping(value = "/delete")
+ public Result delete(@RequestParam(name="id",required=true) String id) {
+ tplinkVideoStorageService.removeById(id);
+ return Result.OK("删除成功!");
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @AutoLog(value = "护理单元-物联管理-TPLINK图门系统视频存储-批量删除")
+ @ApiOperation(value="护理单元-物联管理-TPLINK图门系统视频存储-批量删除", notes="护理单元-物联管理-TPLINK图门系统视频存储-批量删除")
+ @RequiresPermissions("tplinkvideostorage:nu_iot_tplink_video_storage:deleteBatch")
+ @DeleteMapping(value = "/deleteBatch")
+ public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+ this.tplinkVideoStorageService.removeByIds(Arrays.asList(ids.split(",")));
+ return Result.OK("批量删除成功!");
+ }
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ //@AutoLog(value = "护理单元-物联管理-TPLINK图门系统视频存储-通过id查询")
+ @ApiOperation(value="护理单元-物联管理-TPLINK图门系统视频存储-通过id查询", notes="护理单元-物联管理-TPLINK图门系统视频存储-通过id查询")
+ @GetMapping(value = "/queryById")
+ public Result queryById(@RequestParam(name="id",required=true) String id) {
+ TplinkVideoStorage tplinkVideoStorage = tplinkVideoStorageService.getById(id);
+ if(tplinkVideoStorage==null) {
+ return Result.error("未找到对应数据");
+ }
+ return Result.OK(tplinkVideoStorage);
+ }
+
+ /**
+ * 导出excel
+ *
+ * @param request
+ * @param tplinkVideoStorage
+ */
+ @RequiresPermissions("tplinkvideostorage:nu_iot_tplink_video_storage:exportXls")
+ @RequestMapping(value = "/exportXls")
+ public ModelAndView exportXls(HttpServletRequest request, TplinkVideoStorage tplinkVideoStorage) {
+ return super.exportXls(request, tplinkVideoStorage, TplinkVideoStorage.class, "护理单元-物联管理-TPLINK图门系统视频存储");
+ }
+
+ /**
+ * 通过excel导入数据
+ *
+ * @param request
+ * @param response
+ * @return
+ */
+ @RequiresPermissions("tplinkvideostorage:nu_iot_tplink_video_storage:importExcel")
+ @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+ public Result> importExcel(HttpServletRequest request, HttpServletResponse response) {
+ return super.importExcel(request, response, TplinkVideoStorage.class);
+ }
+
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/entity/TplinkVideoStorage.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/entity/TplinkVideoStorage.java
new file mode 100644
index 00000000..4e6c409f
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/entity/TplinkVideoStorage.java
@@ -0,0 +1,54 @@
+package com.nu.modules.tplink.storage.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 护理单元-物联管理-TPLINK图门系统视频存储
+ * @Author: jeecg-boot
+ * @Date: 2025-09-01
+ * @Version: V1.0
+ */
+@Data
+@TableName("nu_iot_tplink_video_storage")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="nu_iot_tplink_video_storage对象", description="护理单元-物联管理-TPLINK图门系统视频存储")
+public class TplinkVideoStorage implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**id*/
+ @TableId(type = IdType.ASSIGN_ID)
+ @ApiModelProperty(value = "id")
+ private java.lang.String id;
+ /**封面*/
+ @Excel(name = "封面", width = 15)
+ @ApiModelProperty(value = "封面")
+ private java.lang.String pic;
+ /**视频存储路径*/
+ @Excel(name = "视频存储路径", width = 15)
+ @ApiModelProperty(value = "视频存储路径")
+ private java.lang.String videoUrl;
+ /**存储时间*/
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "存储时间")
+ private java.util.Date createTime;
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/mapper/TplinkVideoStorageMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/mapper/TplinkVideoStorageMapper.java
new file mode 100644
index 00000000..95bbf531
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/mapper/TplinkVideoStorageMapper.java
@@ -0,0 +1,17 @@
+package com.nu.modules.tplink.storage.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.nu.modules.tplink.storage.entity.TplinkVideoStorage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 护理单元-物联管理-TPLINK图门系统视频存储
+ * @Author: jeecg-boot
+ * @Date: 2025-09-01
+ * @Version: V1.0
+ */
+public interface TplinkVideoStorageMapper extends BaseMapper {
+
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/mapper/xml/TplinkVideoStorageMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/mapper/xml/TplinkVideoStorageMapper.xml
new file mode 100644
index 00000000..c439558f
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/mapper/xml/TplinkVideoStorageMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/service/ITplinkVideoStorageService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/service/ITplinkVideoStorageService.java
new file mode 100644
index 00000000..f9e6b531
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/service/ITplinkVideoStorageService.java
@@ -0,0 +1,14 @@
+package com.nu.modules.tplink.storage.service;
+
+import com.nu.modules.tplink.storage.entity.TplinkVideoStorage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 护理单元-物联管理-TPLINK图门系统视频存储
+ * @Author: jeecg-boot
+ * @Date: 2025-09-01
+ * @Version: V1.0
+ */
+public interface ITplinkVideoStorageService extends IService {
+
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/service/impl/TplinkVideoStorageServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/service/impl/TplinkVideoStorageServiceImpl.java
new file mode 100644
index 00000000..cf750038
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/storage/service/impl/TplinkVideoStorageServiceImpl.java
@@ -0,0 +1,67 @@
+package com.nu.modules.tplink.storage.service.impl;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.IdUtil;
+import com.nu.modules.camerainfo.api.TplinkVideoStorageApi;
+import com.nu.modules.tplink.storage.entity.TplinkVideoStorage;
+import com.nu.modules.tplink.storage.mapper.TplinkVideoStorageMapper;
+import com.nu.modules.tplink.storage.service.ITplinkVideoStorageService;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Paths;
+
+/**
+ * @Description: 护理单元-物联管理-TPLINK图门系统视频存储
+ * @Author: jeecg-boot
+ * @Date: 2025-09-01
+ * @Version: V1.0
+ */
+@Service
+public class TplinkVideoStorageServiceImpl extends ServiceImpl implements ITplinkVideoStorageService, TplinkVideoStorageApi {
+
+ @Value("${jeecg.path.upload}")
+ private String upLoadPath;
+
+ @Override
+ public void tplinkVideoStorage(MultipartFile pic, MultipartFile video, String url) {
+
+ // 1. 目录准备
+ String baseurl = "";
+ if (System.getProperty("os.name").toLowerCase().contains("win")) {
+ baseurl = Paths.get(System.getProperty("user.dir")).getRoot().toString().replaceAll("[/\\\\]+$", "");
+ }
+ String dirPath = baseurl + upLoadPath + File.separator + url;
+ FileUtil.mkdir(dirPath);
+
+ // 2. 生成不重复文件名
+ String picExt = FileUtil.extName(pic.getOriginalFilename());
+ String picName = IdUtil.fastSimpleUUID() + "." + picExt;
+
+ String videoExt = FileUtil.extName(video.getOriginalFilename());
+ String videoName = IdUtil.fastSimpleUUID() + "." + videoExt;
+
+ // 3. 保存文件
+ File picFile = new File(dirPath, picName);
+ File videoFile = new File(dirPath, videoName);
+ try {
+ pic.transferTo(picFile);
+ video.transferTo(videoFile);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ String picAccessUrl = url.replace("\\", "/") + picName;
+ String videoAccessUrl = url.replace("\\", "/") + videoName;
+
+ TplinkVideoStorage tplinkVideoStorage = new TplinkVideoStorage();
+ tplinkVideoStorage.setPic(picAccessUrl);
+ tplinkVideoStorage.setVideoUrl(videoAccessUrl);
+ baseMapper.insert(tplinkVideoStorage);
+ }
+}