tplink缓存视频存储
This commit is contained in:
parent
e40e60bad6
commit
7aae2df595
|
|
@ -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.*;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
|
|
@ -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项目信息
|
||||
|
|
@ -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分组信息
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.mapper.AppCameraInfoMapper">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.camerainfo.mapper.AppCameraInfoMapper">
|
||||
|
||||
<select id="findPage" parameterType="com.nu.modules.iot.tplink.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.entity.AppCameraInfo">
|
||||
<select id="findPage" parameterType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo">
|
||||
select a.id,
|
||||
a.device_index as deviceIndex,
|
||||
device_name as deviceName,
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findAllList" parameterType="com.nu.modules.iot.tplink.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.entity.AppCameraInfo">
|
||||
<select id="findAllList" parameterType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo">
|
||||
select a.id,
|
||||
device_index as deviceIndex,
|
||||
device_name as deviceName,
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
from nu_iot_tplink_camera a
|
||||
</select>
|
||||
|
||||
<select id="findNuPage" parameterType="com.nu.modules.iot.tplink.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.entity.AppCameraInfo">
|
||||
<select id="findNuPage" parameterType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo">
|
||||
select
|
||||
nu_id as nuId,
|
||||
nu_name as nuName
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getByDeviceId" parameterType="com.nu.modules.iot.tplink.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.entity.AppCameraInfo">
|
||||
<select id="getByDeviceId" parameterType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo">
|
||||
select a.id,
|
||||
device_index as deviceIndex,
|
||||
device_name as deviceName,
|
||||
|
|
@ -132,7 +132,7 @@
|
|||
where device_index = #{deviceIndex}
|
||||
</select>
|
||||
|
||||
<select id="getByNuId" parameterType="com.nu.modules.iot.tplink.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.entity.AppCameraInfo">
|
||||
<select id="getByNuId" parameterType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo">
|
||||
select a.id,
|
||||
device_index as deviceIndex,
|
||||
device_name as deviceName,
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
where a.nu_id = #{nuId}
|
||||
</select>
|
||||
|
||||
<select id="getCapabilityByDeviceId" parameterType="com.nu.modules.iot.tplink.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.entity.AppCameraInfo">
|
||||
<select id="getCapabilityByDeviceId" parameterType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppCameraInfo">
|
||||
select a.id,
|
||||
device_index as deviceIndex,
|
||||
motion_detection as motionDetection,
|
||||
|
|
@ -246,4 +246,4 @@
|
|||
where id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.mapper.AppErrorCodeMapper">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.camerainfo.mapper.AppErrorCodeMapper">
|
||||
|
||||
<select id="getByCode" parameterType="String" resultType="com.nu.modules.iot.tplink.entity.AppErrorCode">
|
||||
<select id="getByCode" parameterType="String" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppErrorCode">
|
||||
select
|
||||
error_code as errorCode,
|
||||
error_msg as errorMsg
|
||||
|
|
@ -10,4 +10,4 @@
|
|||
where error_code = #{errorCode}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.mapper.AppProjectInfoMapper">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.camerainfo.mapper.AppProjectInfoMapper">
|
||||
|
||||
<insert id="addProjectInfo">
|
||||
insert into nu_iot_tplink_project(
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.mapper.AppRegionInfoMapper">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.camerainfo.mapper.AppRegionInfoMapper">
|
||||
|
||||
<insert id="addRegionInfo">
|
||||
insert into nu_iot_tplink_region(
|
||||
|
|
@ -23,4 +23,4 @@
|
|||
delete from nu_iot_tplink_region
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.mapper.AppTumsConfigMapper">
|
||||
<mapper namespace="com.nu.modules.iot.tplink.camerainfo.mapper.AppTumsConfigMapper">
|
||||
|
||||
<select id="getByCode" parameterType="String" resultType="com.nu.modules.iot.tplink.entity.AppTumsConfig">
|
||||
<select id="getByCode" parameterType="String" resultType="com.nu.modules.iot.tplink.camerainfo.entity.AppTumsConfig">
|
||||
select
|
||||
id,
|
||||
tums_url as tumsUrl,
|
||||
|
|
@ -50,4 +50,4 @@
|
|||
delete from nu_iot_tplink_tums_base
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
|
@ -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;
|
||||
|
|
@ -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: 护理单元-物联管理-错误码
|
||||
|
|
@ -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: 护理单元-物联管理-图门系统配置
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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验证登录
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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<TplinkVideoStorage, ITplinkVideoStorageService> {
|
||||
@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<IPage<TplinkVideoStorage>> queryPageList(TplinkVideoStorage tplinkVideoStorage,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<TplinkVideoStorage> queryWrapper = QueryGenerator.initQueryWrapper(tplinkVideoStorage, req.getParameterMap());
|
||||
Page<TplinkVideoStorage> page = new Page<TplinkVideoStorage>(pageNo, pageSize);
|
||||
IPage<TplinkVideoStorage> 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<String> 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<String> 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<String> 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<String> 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<TplinkVideoStorage> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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<TplinkVideoStorage> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.tplink.storage.mapper.TplinkVideoStorageMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -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<TplinkVideoStorage> {
|
||||
|
||||
}
|
||||
|
|
@ -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<TplinkVideoStorageMapper, TplinkVideoStorage> 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);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue