开发指南文件获取,保存
This commit is contained in:
parent
94cf76e322
commit
416b27074a
|
@ -2,6 +2,7 @@ package io.renren.modules.category.controller;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
import io.renren.common.exception.ErrorCode;
|
import io.renren.common.exception.ErrorCode;
|
||||||
import io.renren.common.utils.MessageUtils;
|
import io.renren.common.utils.MessageUtils;
|
||||||
import io.renren.common.utils.Result;
|
import io.renren.common.utils.Result;
|
||||||
|
@ -20,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
@ -64,10 +66,18 @@ public class CategoryController {
|
||||||
ValidatorUtils.validateEntity(categoryDTO, AddGroup.class, DefaultGroup.class);
|
ValidatorUtils.validateEntity(categoryDTO, AddGroup.class, DefaultGroup.class);
|
||||||
categoryDTO.setDelFlag(0);
|
categoryDTO.setDelFlag(0);
|
||||||
//若为一级分类,增加文件夹
|
//若为一级分类,增加文件夹
|
||||||
if (ObjectUtil.isNull(categoryDTO.getPid())) {
|
if (ObjectUtils.isEmpty(categoryDTO.getPid())) {
|
||||||
File file = new File(devModelFilePath + categoryDTO.getName());
|
File file = new File(devModelFilePath + File.pathSeparator + categoryDTO.getName());
|
||||||
if (file.mkdirs()) {
|
//文件路径不存在,创建各种能力的子文件夹
|
||||||
throw new RuntimeException("创建文件夹失败!");
|
if (! new File(devModelFilePath).exists()) {
|
||||||
|
try {
|
||||||
|
file.createNewFile();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return new Result<>().error("开发指南文件夹创建失败!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return new Result<>().error("开发指南文件夹创建失败!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
categoryService.save(categoryDTO);
|
categoryService.save(categoryDTO);
|
||||||
|
|
|
@ -52,34 +52,17 @@ public class DevelopmentGuideController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/upload")
|
@PostMapping("/uploadDevelopmentFile")
|
||||||
@ApiOperation("开发指南文件上传")
|
@ApiOperation("开发指南文件上传")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "file", value = "开发指南文件", paramType = "file", dataType = "file", required = true)
|
@ApiImplicitParam(name = "file", value = "开发指南文件", paramType = "file", dataType = "file", required = true)
|
||||||
})
|
})
|
||||||
public Result upload(@RequestParam("file") MultipartFile uploadFile,
|
public Result uploadDevelopmentFile(@RequestParam("file") MultipartFile uploadFile, HttpServletRequest request) {
|
||||||
HttpServletRequest request) {
|
|
||||||
logger.info("上传文件:" + uploadFile.getOriginalFilename());
|
|
||||||
File folder = new File(devModelFilePath);
|
|
||||||
if (!folder.isDirectory()) {
|
|
||||||
folder.mkdirs();
|
|
||||||
}
|
|
||||||
if (folder.exists()) {
|
|
||||||
if (folder.isFile()) {
|
|
||||||
if (!folder.delete()) {
|
|
||||||
return new Result<>().error("保存开发指南失败!!!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 对上传的文件重命名,避免文件重名
|
|
||||||
String fileName = "devModelFile.md";
|
|
||||||
try {
|
try {
|
||||||
// 文件保存
|
developmentGuideService.uploadDevelopmentFile(uploadFile, request);
|
||||||
uploadFile.transferTo(new File(folder, fileName));
|
return new Result();
|
||||||
|
}catch (Exception e) {
|
||||||
return new Result<>();
|
return new Result().error(e.getMessage());
|
||||||
} catch (IOException e) {
|
|
||||||
return new Result<String>().error(e.getMessage());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package io.renren.modules.developmentGuide.service;
|
package io.renren.modules.developmentGuide.service;
|
||||||
|
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
@ -7,5 +9,5 @@ public interface DevelopmentGuideService {
|
||||||
|
|
||||||
void getDevelopmentFile(HttpServletRequest request, HttpServletResponse response) throws Exception;
|
void getDevelopmentFile(HttpServletRequest request, HttpServletResponse response) throws Exception;
|
||||||
|
|
||||||
|
void uploadDevelopmentFile(MultipartFile uploadFile, HttpServletRequest request) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import io.renren.modules.developmentGuide.service.DevelopmentGuideService;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
@ -16,46 +17,52 @@ import java.io.OutputStream;
|
||||||
public class DevelopmentGuideServiceImpl implements DevelopmentGuideService {
|
public class DevelopmentGuideServiceImpl implements DevelopmentGuideService {
|
||||||
|
|
||||||
@Value("${resource.devModelFilePath}")
|
@Value("${resource.devModelFilePath}")
|
||||||
private String delModelFilePath;
|
private String devModelFilePath;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getDevelopmentFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
public void getDevelopmentFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
//String type = request.getParameter("type").toString();
|
String type = request.getParameter("type").toString();
|
||||||
//Long resourceId = Long.parseLong(request.getParameter("resourceId"));
|
Long resourceId = Long.parseLong(request.getParameter("resourceId"));
|
||||||
//String url = type + "/devModelFile.txt";
|
String url = devModelFilePath + File.separator + type + File.separator + resourceId + ".md";
|
||||||
String url = delModelFilePath + File.separator + "devModelFile.md";
|
|
||||||
File file = new File(url);
|
File file = new File(url);
|
||||||
if (!file.exists()) {
|
//开发指南未保存过获取默认模板文件
|
||||||
Exception e = new Exception("文件不存在");
|
if (! file.exists()) {
|
||||||
e.printStackTrace();
|
file = new File(devModelFilePath + File.separator + type + File.separator + type + ".md");
|
||||||
throw e;//抛出文件不存在的
|
|
||||||
}
|
}
|
||||||
response.setContentType("text/html");
|
response.setContentType("text/html");
|
||||||
FileInputStream fis = null;
|
try (
|
||||||
OutputStream outputStream = response.getOutputStream();
|
FileInputStream fis = new FileInputStream(file);
|
||||||
try {
|
OutputStream outputStream = response.getOutputStream();
|
||||||
fis = new FileInputStream(file);
|
) {
|
||||||
//将读取流拷贝到输出流中
|
//将读取流拷贝到输出流中
|
||||||
IOUtils.copy(fis, outputStream);
|
IOUtils.copy(fis, outputStream);
|
||||||
//清空缓存的读取流,保证数据完整性
|
//清空缓存的读取流,保证数据完整性
|
||||||
response.flushBuffer();
|
response.flushBuffer();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
System.err.println("解析失败!!!");
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw new Exception("解析失败");
|
throw e;
|
||||||
} finally {
|
}
|
||||||
if (fis != null) {
|
}
|
||||||
try {
|
|
||||||
fis.close();
|
@Override
|
||||||
} catch (IOException e) {
|
public void uploadDevelopmentFile(MultipartFile uploadFile, HttpServletRequest request) throws Exception{
|
||||||
e.printStackTrace();
|
String type = request.getParameter("type").toString();
|
||||||
|
File folder = new File(devModelFilePath + File.pathSeparator + type + File.separator + uploadFile.getName());
|
||||||
|
File path = new File(devModelFilePath + File.pathSeparator + type);
|
||||||
|
//文件保存过删除后重新保存
|
||||||
|
if (folder.exists()) {
|
||||||
|
if (folder.isFile()) {
|
||||||
|
if (!folder.delete()) {
|
||||||
|
throw new IOException("保存文件失败!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (outputStream != null) {
|
|
||||||
outputStream.close();//输出流关闭
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
System.err.println("获取开发指南成功!!!");
|
try {
|
||||||
|
// 文件保存
|
||||||
|
uploadFile.transferTo(new File(path, uploadFile.getName()));
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,6 +134,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
@Override
|
@Override
|
||||||
public Object pageWithAttrs(JSONObject jsonObject) {
|
public Object pageWithAttrs(JSONObject jsonObject) {
|
||||||
ResourceDTO resourceDTO = JSON.toJavaObject(jsonObject, ResourceDTO.class);
|
ResourceDTO resourceDTO = JSON.toJavaObject(jsonObject, ResourceDTO.class);
|
||||||
|
resourceDTO.setCreator(SecurityUser.getUser().getId());
|
||||||
Integer pageNum = jsonObject.getInteger("pageNum");
|
Integer pageNum = jsonObject.getInteger("pageNum");
|
||||||
Integer pageSize = jsonObject.getInteger("pageSize");
|
Integer pageSize = jsonObject.getInteger("pageSize");
|
||||||
//默认按上架时间降序排列
|
//默认按上架时间降序排列
|
||||||
|
@ -163,7 +164,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
List<ResourceDTO> resourceDTOS = resourceDao.selectWithAttrs(resourceDTO);
|
List<ResourceDTO> resourceDTOS = resourceDao.selectWithAttrs(resourceDTO);
|
||||||
int j = pageNum * pageSize > resourceDTOS.size() ? resourceDTOS.size() : pageNum * pageSize;
|
int j = Math.min(pageNum * pageSize, resourceDTOS.size());
|
||||||
if (resourceDTOS.isEmpty()) {
|
if (resourceDTOS.isEmpty()) {
|
||||||
resultPage.setRecords(null);
|
resultPage.setRecords(null);
|
||||||
resultPage.setTotal(0);
|
resultPage.setTotal(0);
|
||||||
|
|
|
@ -41,8 +41,6 @@ public class ResourceCollectionServiceImpl extends CrudServiceImpl<ResourceColle
|
||||||
@Override
|
@Override
|
||||||
public QueryWrapper<ResourceCollectionEntity> getWrapper(Map<String, Object> params){
|
public QueryWrapper<ResourceCollectionEntity> getWrapper(Map<String, Object> params){
|
||||||
QueryWrapper<ResourceCollectionEntity> wrapper = new QueryWrapper<>();
|
QueryWrapper<ResourceCollectionEntity> wrapper = new QueryWrapper<>();
|
||||||
|
|
||||||
|
|
||||||
return wrapper;
|
return wrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue