|
@@ -4,17 +4,12 @@ import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
|
|
|
-import com.alibaba.druid.sql.dialect.oscar.visitor.OscarPermissionOutputVisitor;
|
|
|
-import com.ruoyi.common.config.RuoYiConfig;
|
|
|
-import com.ruoyi.common.constant.Constants;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
-import com.ruoyi.common.utils.file.FileUploadUtils;
|
|
|
import com.ruoyi.system.domain.SysRepoHistory;
|
|
|
import com.ruoyi.common.utils.VersionUtils;
|
|
|
import com.ruoyi.common.utils.OfficeCompareUtils;
|
|
|
import com.ruoyi.system.service.ISysRepoHistoryService;
|
|
|
import com.ruoyi.common.utils.file.FileUtils;
|
|
|
-import org.apache.commons.io.FilenameUtils;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -25,12 +20,8 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.enums.BusinessType;
|
|
|
import com.ruoyi.system.domain.SysRepo;
|
|
|
import com.ruoyi.system.service.ISysRepoService;
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
-import static com.ruoyi.common.config.RuoYiConfig.getProfile;
|
|
|
|
|
|
/**
|
|
|
* 仓库管理Controller
|
|
@@ -80,11 +71,7 @@ public class SysRepoController extends BaseController
|
|
|
{
|
|
|
sysRepo.setCreateBy(getUsername());
|
|
|
sysRepo.setUpdateBy(getUsername());
|
|
|
- String filename = FileUtils.getNameNotExtract(sysRepo.getUrl());
|
|
|
- sysRepo.setFileName(filename);
|
|
|
- sysRepo.setRepoType(FileUtils.getFileExtension(filename));
|
|
|
- sysRepo.setVersion(VersionUtils.incrementVersion(sysRepo.getVersion()));
|
|
|
- return toAjax(sysRepoService.insertSysRepo(sysRepo));
|
|
|
+ return toAjax(sysRepoService.insertSysRepo(sysRepoService.createSysRepo(sysRepo)));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -100,31 +87,32 @@ public class SysRepoController extends BaseController
|
|
|
}else{
|
|
|
SysRepo sysRepo_old = sysRepoService.selectSysRepoByRepoId(sysRepo.getRepoId());
|
|
|
sysRepo.setUpdateBy(getUsername());
|
|
|
- String filename = FileUtils.getNameNotExtract(sysRepo.getUrl());
|
|
|
- sysRepo.setFileName(filename);
|
|
|
- sysRepo.setRepoType(FileUtils.getFileExtension(filename));
|
|
|
- sysRepo.setVersion(VersionUtils.incrementVersion(sysRepo_old.getVersion()));
|
|
|
- SysRepoHistory sysRepoHistory = new SysRepoHistory();
|
|
|
- sysRepoHistory.setRepoId(sysRepo_old.getRepoId());
|
|
|
- sysRepoHistory.setUrl(sysRepo_old.getUrl());
|
|
|
- sysRepoHistory.setUploadBy(sysRepo_old.getUpdateBy());
|
|
|
- sysRepoHistory.setFileName(sysRepo_old.getFileName());
|
|
|
- sysRepoHistory.setVersion(sysRepo_old.getVersion());
|
|
|
- sysRepoHistory.setRemark(sysRepo_old.getRemark());
|
|
|
- if(sysRepoHistoryService.insertSysRepoHistory(sysRepoHistory)<1){
|
|
|
- return AjaxResult.error("文件插入失败");
|
|
|
- }
|
|
|
- if(sysRepoService.updateSysRepo(sysRepo)<1){
|
|
|
- return AjaxResult.error("文件插入失败");
|
|
|
- }
|
|
|
- if(sysRepo.getRepoType().equals(".docx")){
|
|
|
- Set<String> set = OfficeCompareUtils.compare(sysRepoHistory.getUrl(),sysRepo.getUrl(),"spire");
|
|
|
- return AjaxResult.success(set);
|
|
|
+ sysRepo.setVersion(sysRepo_old.getVersion());
|
|
|
+ SysRepoHistory sysRepoHistory = sysRepoHistoryService.createSysRepoHistory(sysRepo_old);
|
|
|
+ SysRepo sysRepo_new = sysRepoService.createSysRepo(sysRepo);
|
|
|
+ if(!sysRepo_old.getRepoType().equals(sysRepo_new.getRepoType())){
|
|
|
+ return error("新旧文件类型不一致,请重试");
|
|
|
}
|
|
|
- return success();
|
|
|
+ return toAjax(sysRepoService.insertSysRepoAndSysRepoHistory(sysRepo_new,sysRepoHistory));
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 对比接口
|
|
|
+ */
|
|
|
+ @PreAuthorize("@ss.hasPermi('system:repo:compare')")
|
|
|
+ @PostMapping("/compare")
|
|
|
+ public AjaxResult compare(@RequestBody SysRepo sysRepo)
|
|
|
+ {
|
|
|
+ SysRepo sysRepo_old = sysRepoService.selectSysRepoByRepoId(sysRepo.getRepoId());
|
|
|
+ if(FileUtils.getFileExtension(sysRepo_old.getUrl()).equals(".docx") ||
|
|
|
+ FileUtils.getFileExtension(sysRepo_old.getUrl()).equals(".doc" )){
|
|
|
+ return AjaxResult.success(OfficeCompareUtils.compare(FileUtils.getUploadPath(sysRepo_old.getUrl()),FileUtils.getUploadPath(sysRepo.getUrl()),"spire"));
|
|
|
+ }
|
|
|
+ return AjaxResult.error("对比失败");
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取文件版本
|
|
|
*/
|
|
@@ -147,25 +135,13 @@ public class SysRepoController extends BaseController
|
|
|
public AjaxResult upload_file(@RequestBody SysRepoHistory sysRepoHistory)
|
|
|
{
|
|
|
SysRepo sysRepo = sysRepoService.selectSysRepoByRepoId(sysRepoHistory.getRepoId());
|
|
|
- SysRepoHistory sysRepoHistory_repo = new SysRepoHistory();
|
|
|
- sysRepoHistory_repo.setRepoId(sysRepo.getRepoId());
|
|
|
- sysRepoHistory_repo.setUrl(sysRepo.getUrl());
|
|
|
- sysRepoHistory_repo.setUploadBy(sysRepo.getUpdateBy());
|
|
|
- sysRepoHistory_repo.setFileName(sysRepo.getFileName());
|
|
|
- sysRepoHistory_repo.setVersion(sysRepo.getVersion());
|
|
|
- sysRepoHistory_repo.setRemark(sysRepo.getRemark());
|
|
|
+ SysRepoHistory sysRepoHistory_repo = sysRepoHistoryService.createSysRepoHistory(sysRepo);
|
|
|
sysRepo.setUpdateBy(getUsername());
|
|
|
sysRepo.setUrl(sysRepoHistory.getUrl());
|
|
|
sysRepo.setVersion(VersionUtils.incrementVersion(sysRepo.getVersion()));
|
|
|
sysRepo.setFileName(sysRepoHistory.getFileName());
|
|
|
sysRepo.setRemark("回滚版本"+sysRepoHistory.getVersion());
|
|
|
- if(sysRepoHistoryService.insertSysRepoHistory(sysRepoHistory_repo)<1){
|
|
|
- return AjaxResult.error("文件插入失败");
|
|
|
- }
|
|
|
- if(sysRepoService.updateSysRepo(sysRepo)<1){
|
|
|
- return AjaxResult.error("文件插入失败");
|
|
|
- }
|
|
|
- return AjaxResult.success();
|
|
|
+ return toAjax(sysRepoService.insertSysRepoAndSysRepoHistory(sysRepo,sysRepoHistory_repo));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -180,10 +156,7 @@ public class SysRepoController extends BaseController
|
|
|
{
|
|
|
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", url));
|
|
|
}
|
|
|
- //去除固定前缀“/profile”
|
|
|
- url = url.substring(15);
|
|
|
- String filePath = RuoYiConfig.getUploadPath() + url;
|
|
|
- System.out.println(filePath);
|
|
|
+ String filePath = FileUtils.getUploadPath(url);
|
|
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
|
|
FileUtils.setAttachmentResponseHeader(response, fileName);
|
|
|
FileUtils.writeBytes(filePath, response.getOutputStream());
|