1. 基于 db 实现文件的存储

This commit is contained in:
YunaiV
2021-01-14 21:20:32 +08:00
parent f942b34d02
commit 629fa9b407
26 changed files with 351 additions and 168 deletions

View File

@@ -0,0 +1,29 @@
package cn.iocoder.dashboard.modules.system.service.common;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.common.SysFileDO;
/**
* 文件 Service 接口
*
* @author 芋道源码
*/
public interface SysFileService {
/**
* 保存文件,并返回文件的访问路径
*
* @param path 文件路径
* @param content 文件内容
* @return 文件路径
*/
String createFile(String path, byte[] content);
/**
* 获得文件
*
* @param path 文件路径
* @return 文件
*/
SysFileDO getFile(String path);
}

View File

@@ -0,0 +1,47 @@
package cn.iocoder.dashboard.modules.system.service.common.impl;
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.dashboard.framework.file.config.FileProperties;
import cn.iocoder.dashboard.modules.system.dal.mysql.dao.common.SysFileMapper;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.common.SysFileDO;
import cn.iocoder.dashboard.modules.system.service.common.SysFileService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.FILE_PATH_EXISTS;
/**
* 文件 Service 实现类
*
* @author 芋道源码
*/
@Service
public class SysFileServiceImpl implements SysFileService {
@Resource
private SysFileMapper fileMapper;
@Resource
private FileProperties fileProperties;
@Override
public String createFile(String path, byte[] content) {
if (fileMapper.selectCountById(path) > 0) {
throw ServiceExceptionUtil.exception(FILE_PATH_EXISTS);
}
// 保存到数据库
SysFileDO file = new SysFileDO();
file.setId(path);
file.setContent(content);
fileMapper.insert(file);
// 拼接路径返回
return fileProperties.getBasePath() + path;
}
@Override
public SysFileDO getFile(String path) {
return fileMapper.selectById(path);
}
}

View File

@@ -2,6 +2,7 @@ package cn.iocoder.dashboard.modules.system.service.dept;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostCreateReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostPageReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostUpdateReqVO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysPostDO;
@@ -18,7 +19,7 @@ import java.util.List;
public interface SysPostService {
/**
* 获得所有岗位列表
* 获得符合条件的岗位列表
*
* @param ids 岗位编号数组。如果为空,不进行筛选
* @param statuses 状态数组。如果为空,不进行筛选
@@ -34,6 +35,14 @@ public interface SysPostService {
*/
PageResult<SysPostDO> pagePosts(SysPostPageReqVO reqVO);
/**
* 获得岗位列表
*
* @param reqVO 查询条件
* @return 部门列表
*/
List<SysPostDO> listPosts(SysPostExportReqVO reqVO);
/**
* 获得岗位信息
*

View File

@@ -3,6 +3,7 @@ package cn.iocoder.dashboard.modules.system.service.dept.impl;
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostCreateReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostPageReqVO;
import cn.iocoder.dashboard.modules.system.controller.dept.vo.post.SysPostUpdateReqVO;
import cn.iocoder.dashboard.modules.system.convert.dept.SysPostConvert;
@@ -38,6 +39,11 @@ public class SysPostServiceImpl implements SysPostService {
return SysPostConvert.INSTANCE.convertPage02(postMapper.selectList(reqVO));
}
@Override
public List<SysPostDO> listPosts(SysPostExportReqVO reqVO) {
return postMapper.selectList(reqVO);
}
@Override
public SysPostDO getPost(Long id) {
return postMapper.selectById(id);