use of com.moxi.mougblog.base.exception.exceptionType.InsertException in project mogu_blog_v2 by moxi624.
the class FileServiceImpl method uploadPictureByUrl.
@Override
public String uploadPictureByUrl(FileVO fileVO) {
// 获取配置文件
SystemConfig systemConfig;
if (fileVO.getSystemConfig() != null) {
Map<String, String> resultMap = fileVO.getSystemConfig();
systemConfig = feignUtil.getSystemConfigByMap(resultMap);
} else {
// 从Redis中获取七牛云配置文件
systemConfig = feignUtil.getSystemConfig();
}
String userUid = fileVO.getUserUid();
String adminUid = fileVO.getAdminUid();
String projectName = fileVO.getProjectName();
String sortName = fileVO.getSortName();
List<String> urlList = fileVO.getUrlList();
// projectName现在默认base
if (StringUtils.isEmpty(projectName)) {
projectName = "base";
}
// 这里可以检测用户上传,如果不是网站的用户或会员就不能调用
if (StringUtils.isEmpty(userUid) && StringUtils.isEmpty(adminUid)) {
throw new InsertException(ErrorCode.INSERT_DEFAULT_ERROR, "请先注册");
}
QueryWrapper<FileSort> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SQLConf.SORT_NAME, sortName);
queryWrapper.eq(SQLConf.PROJECT_NAME, projectName);
queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
List<FileSort> fileSorts = fileSortService.list(queryWrapper);
FileSort fileSort = null;
if (fileSorts.size() > 0) {
fileSort = fileSorts.get(0);
} else {
throw new InsertException(ErrorCode.INSERT_DEFAULT_ERROR, "文件不被允许上传, 请填写文件分类信息");
}
List<com.moxi.mogublog.commons.entity.File> lists = new ArrayList<>();
// 文件上传
if (urlList != null && urlList.size() > 0) {
for (String itemUrl : urlList) {
// 获取新文件名(默认为jpg)
String newFileName = System.currentTimeMillis() + ".jpg";
// 将图片上传到本地服务器中以及七牛云中
String picurl = "";
String qiNiuUrl = "";
String minioUrl = "";
// 判断是否能够上传至本地
if (EOpenStatus.OPEN.equals(systemConfig.getUploadLocal())) {
picurl = localFileService.uploadPictureByUrl(itemUrl, fileSort);
}
// 上传七牛云,判断是否能够上传七牛云
if (EOpenStatus.OPEN.equals(systemConfig.getUploadMinio())) {
minioUrl = minioService.uploadPictureByUrl(itemUrl);
}
// 上传七牛云,判断是否能够上传七牛云
if (EOpenStatus.OPEN.equals(systemConfig.getUploadQiNiu())) {
qiNiuUrl = qiniuService.uploadPictureByUrl(itemUrl, systemConfig);
}
com.moxi.mogublog.commons.entity.File file = new com.moxi.mogublog.commons.entity.File();
file.setCreateTime(new Date(System.currentTimeMillis()));
file.setFileSortUid(fileSort.getUid());
file.setFileOldName(itemUrl);
file.setFileSize(0L);
file.setPicExpandedName("jpg");
file.setPicName(newFileName);
file.setPicUrl(picurl);
file.setQiNiuUrl(qiNiuUrl);
file.setMinioUrl(minioUrl);
file.setStatus(EStatus.ENABLE);
file.setUserUid(userUid);
file.setAdminUid(adminUid);
fileService.save(file);
lists.add(file);
}
// 保存成功返回数据
return ResultUtil.result(SysConf.SUCCESS, lists);
}
return ResultUtil.result(SysConf.ERROR, "请上传图片");
}
Aggregations