feat(web): 新增设备联调中心功能

- 新增设备联调中心相关控制器、服务、DTO和VO
- 实现设备列表查询、文件上传、操作视频添加、设备详情等功能
- 优化设备 logo 上传逻辑,支持批量上传
- 重构部分代码结构,提高可维护性
This commit is contained in:
2025-09-11 11:07:58 +08:00
parent 228e26df7f
commit e2274bdf09
28 changed files with 628 additions and 6 deletions

View File

@ -51,5 +51,9 @@ public class SysOss extends TenantEntity {
* 服务商
*/
private String service;
/**
* 内容哈希
*/
private String fileHash;
}

View File

@ -50,5 +50,9 @@ public class SysOssBo extends BaseEntity {
* 服务商
*/
private String service;
/**
* 内容哈希
*/
private String fileHash;
}

View File

@ -72,6 +72,10 @@ public class SysOssVo implements Serializable {
* 服务商
*/
private String service;
/**
* 内容哈希
*/
private String fileHash;
}

View File

@ -1,9 +1,16 @@
package com.fuyuanshen.system.mapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.fuyuanshen.common.mybatis.annotation.DataColumn;
import com.fuyuanshen.common.mybatis.annotation.DataPermission;
import com.fuyuanshen.common.mybatis.core.mapper.BaseMapperPlus;
import com.fuyuanshen.system.domain.SysOss;
import com.fuyuanshen.system.domain.SysUser;
import com.fuyuanshen.system.domain.vo.SysOssVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.io.Serializable;
/**
* 文件上传 数据层
@ -12,4 +19,20 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface SysOssMapper extends BaseMapperPlus<SysOss, SysOssVo> {
/**
* 用内容哈希查询文件
*
* @param fileHash 内容哈希
* @return 文件信息
*/
SysOssVo selectByHash(String fileHash);
/**
* 根据主键更新内容哈希
*
* @param ossId 主键
* @return 结果
*/
int updateHashById(long ossId,String fileHash);
}

View File

@ -44,6 +44,22 @@ public interface ISysOssService {
*/
SysOssVo getById(Long ossId);
/**
* 根据文件 hash 值从缓存或数据库中获取 SysOssVo 对象
*
* @param fileHash 文件 hash 值
* @return 匹配的 SysOssVo 列表
*/
SysOssVo selectByHash(String fileHash);
/**
* 更新文件 hash 值
*
* @param ossId OSS对象ID
* @param fileHash 文件 hash 值
*/
int updateHashById(long ossId,String fileHash);
/**
* 上传 MultipartFile 到对象存储服务,并保存文件信息到数据库
*

View File

@ -162,6 +162,16 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
return baseMapper.selectVoById(ossId);
}
@Override
public SysOssVo selectByHash(String fileHash) {
return baseMapper.selectByHash(fileHash);
}
@Override
public int updateHashById(long ossId, String fileHash) {
return baseMapper.updateHashById(ossId,fileHash);
}
/**
* 文件下载方法,支持一次性下载完整文件

View File

@ -2,4 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fuyuanshen.system.mapper.SysOssMapper">
<select id="selectByHash" resultType="com.fuyuanshen.system.domain.vo.SysOssVo">
select oss_id,file_name,original_name,file_suffix,url,service,file_hash from sys_oss WHERE file_hash = #{fileHash} LIMIT 1
</select>
<update id="updateHashById">
UPDATE sys_oss SET file_hash = #{fileHash} WHERE oss_id = #{ossId}
</update>
</mapper>