ci: 在线编辑调整1
This commit is contained in:
+88
-156
@@ -8,15 +8,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.util.CommonUtils;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.onlyoffice.entity.BusProcessModelHis;
|
||||
import com.jero.modules.onlyoffice.entity.OnlineFileLog;
|
||||
import com.jero.modules.onlyoffice.mapper.BusProcessModelHisMapper;
|
||||
import com.jero.modules.onlyoffice.entity.ProcessFile;
|
||||
import com.jero.modules.onlyoffice.mapper.OnlineFileLogDao;
|
||||
import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
|
||||
import com.jero.modules.onlyoffice.mapper.ProcessFileMapper;
|
||||
import com.jero.modules.onlyoffice.service.IProcessFileService;
|
||||
import com.jero.modules.onlyoffice.service.LawsUserInfoService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.sini.com.spire.doc.Document;
|
||||
import com.sini.com.spire.doc.documents.PageNumberStyle;
|
||||
@@ -26,12 +23,8 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.compress.utils.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -55,45 +48,37 @@ import java.util.*;
|
||||
@Slf4j
|
||||
public class OnlyOfficeController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(OnlyOfficeController.class);
|
||||
|
||||
@Value("${file.path}")
|
||||
private String standEditFilePath;//文件存储路径
|
||||
|
||||
@Resource
|
||||
private IBusProcessModelHisService busProcessModelHisService;
|
||||
private IProcessFileService ProcessFileService;
|
||||
|
||||
@Resource
|
||||
private LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@Resource
|
||||
private BusProcessModelHisMapper busProcessModelHisMapper;
|
||||
private ProcessFileMapper ProcessFileMapper;
|
||||
@Resource
|
||||
private IOSSFileService ossFileService;
|
||||
|
||||
@Resource
|
||||
private OnlineFileLogDao onlineFileLogDao;
|
||||
|
||||
@Value("#{'${onlyoffice.replaceUrl:}'.split(',')}")
|
||||
private List<String> replaceUrlList;
|
||||
|
||||
@Value("#{'${onlyoffice.toUrl:}'}")
|
||||
private String toUrl;
|
||||
/**
|
||||
* 文件后缀黑名单
|
||||
*/
|
||||
@Value(value = "${jero.fileSuffixLimits}")
|
||||
private String[] fileSuffixLimits;
|
||||
|
||||
@Value("${file.path}")
|
||||
private String filePath;//文件存储路径
|
||||
|
||||
@ApiOperation(value = "分页查询")
|
||||
@GetMapping("/pageList")
|
||||
public Result<IPage<BusProcessModelHis>> pageList(HttpServletRequest req, BusProcessModelHis processModelHis,
|
||||
public Result<IPage<ProcessFile>> pageList(HttpServletRequest req, ProcessFile processModelHis,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
QueryWrapper<BusProcessModelHis> queryWrapper = QueryGenerator.initQueryWrapper(processModelHis, req.getParameterMap());
|
||||
Page<BusProcessModelHis> page = new Page<>(pageNo, pageSize);
|
||||
IPage<BusProcessModelHis> pageList = busProcessModelHisService.page(page, queryWrapper);
|
||||
QueryWrapper<ProcessFile> queryWrapper = QueryGenerator.initQueryWrapper(processModelHis, req.getParameterMap());
|
||||
Page<ProcessFile> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessFile> pageList = ProcessFileService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@@ -107,7 +92,7 @@ public class OnlyOfficeController {
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error("参数不识别!");
|
||||
}
|
||||
boolean ok = busProcessModelHisService.removeById(id);
|
||||
boolean ok = ProcessFileService.removeById(id);
|
||||
if (ok) {
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
@@ -124,7 +109,7 @@ public class OnlyOfficeController {
|
||||
if (StringUtils.isBlank(ids)) {
|
||||
return Result.error("参数不识别!");
|
||||
} else {
|
||||
this.busProcessModelHisService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
this.ProcessFileService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
}
|
||||
@@ -140,7 +125,7 @@ public class OnlyOfficeController {
|
||||
return Result.error("id不能为空!");
|
||||
}
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
BusProcessModelHis his = busProcessModelHisService.getById(id);
|
||||
ProcessFile his = ProcessFileService.getById(id);
|
||||
if (his == null) {
|
||||
log.error("在线编辑queryById:{}", id);
|
||||
throw new JeroBootException("获取在线编辑文件记录错误,请检查");
|
||||
@@ -154,12 +139,12 @@ public class OnlyOfficeController {
|
||||
@ApiOperation(value = "|onlyOffice接收文件")
|
||||
@PostMapping("/receiveFile")
|
||||
public void receiveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String fileId, String standName, String key) {
|
||||
logger.info("**********进入receiveFile接收文档接口************");
|
||||
logger.info("**********fileNm************" + fileNm + "=======");
|
||||
logger.info("**********standNo************" + standNo + "=======");
|
||||
logger.info("**********fileId************" + fileId + "=======");
|
||||
logger.info("**********standName************" + standName + "=======");
|
||||
logger.info("**********key************" + key + "=======");
|
||||
log.info("**********进入receiveFile接收文档接口************");
|
||||
log.info("**********fileNm************" + fileNm + "=======");
|
||||
log.info("**********standNo************" + standNo + "=======");
|
||||
log.info("**********fileId************" + fileId + "=======");
|
||||
log.info("**********standName************" + standName + "=======");
|
||||
log.info("**********key************" + key + "=======");
|
||||
try {
|
||||
PrintWriter writer = response.getWriter();
|
||||
String body = "";
|
||||
@@ -179,7 +164,7 @@ public class OnlyOfficeController {
|
||||
}
|
||||
|
||||
net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body);
|
||||
logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
|
||||
log.info("**********onlyoffice接收文档接口获得结果body************" + body);
|
||||
int status = (Integer) jsonObj.get("status");
|
||||
|
||||
int saved = 0;
|
||||
@@ -188,57 +173,59 @@ public class OnlyOfficeController {
|
||||
String downloadUri = (String) jsonObj.get("url");
|
||||
|
||||
try {
|
||||
logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
|
||||
log.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
|
||||
if (StringUtils.isNotEmpty(downloadUri)) {
|
||||
for (String replaceUrl : replaceUrlList) {
|
||||
downloadUri = downloadUri.replace(replaceUrl, toUrl);
|
||||
}
|
||||
BusProcessModelHis modelHis = busProcessModelHisService.getById(fileId);
|
||||
ProcessFile modelHis = ProcessFileService.getById(fileId);
|
||||
String editFilePath = modelHis.getEditFilePath();
|
||||
String saveFileUrl = standEditFilePath + editFilePath;
|
||||
logger.info("**********onlyoffice文档下载路径************" + downloadUri);
|
||||
logger.info("**********onlyoffice文档保存本地路径************" + saveFileUrl);
|
||||
// String saveFileUrl = standEditFilePath + editFilePath;
|
||||
// TODO
|
||||
String saveFileUrl = editFilePath;
|
||||
log.info("**********onlyoffice文档下载路径************" + downloadUri);
|
||||
log.info("**********onlyoffice文档保存本地路径************" + saveFileUrl);
|
||||
HttpUtil.downloadFileFromUrl(downloadUri, saveFileUrl);
|
||||
File file = new File(saveFileUrl);
|
||||
downloadNetFile(downloadUri, file);
|
||||
// 更新在线编辑当前节点编辑状态
|
||||
busProcessModelHisService.modelHisOneUpdStatusById(fileId);
|
||||
ProcessFileService.modelHisOneUpdStatusById(fileId);
|
||||
Object keyObj = jsonObj.get("key");
|
||||
if (keyObj != null) {
|
||||
key = keyObj.toString();
|
||||
logger.info("**********key************" + key + "=======");
|
||||
log.info("**********key************" + key + "=======");
|
||||
}
|
||||
lawsUserInfoService.selectOnlineFile(fileId, standName, key);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
saved = 1;
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
|
||||
logger.error(ex.getMessage(), ex);
|
||||
log.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
|
||||
log.error(ex.getMessage(), ex);
|
||||
}
|
||||
} else if (status == 4) {
|
||||
logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
|
||||
log.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
|
||||
|
||||
logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
|
||||
log.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
|
||||
}
|
||||
logger.info("onlyoffice编辑完成--------------");
|
||||
log.info("onlyoffice编辑完成--------------");
|
||||
writer.write("{\"error\":" + saved + "}");
|
||||
|
||||
} catch (IOException e) {
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
|
||||
logger.error(e.getMessage(), e);
|
||||
log.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation(value = "|onlyOffice接收文件")
|
||||
@PostMapping("/receiveFileBefore")
|
||||
public void receiveFileBefore(HttpServletRequest request, HttpServletResponse response, String key, String fileNm, String standNo, String pid, String taskId, String standName) {
|
||||
logger.info("**********进入receiveFileBefore接收文档接口************");
|
||||
logger.info("**********fileNm************" + fileNm + "=======");
|
||||
logger.info("**********standNo************" + standNo + "=======");
|
||||
logger.info("**********pid************" + pid + "=======");
|
||||
logger.info("**********taskId************" + taskId + "=======");
|
||||
logger.info("**********standName************" + standName + "=======");
|
||||
logger.info("**********key************" + key + "=======");
|
||||
log.info("**********进入receiveFileBefore接收文档接口************");
|
||||
log.info("**********fileNm************" + fileNm + "=======");
|
||||
log.info("**********standNo************" + standNo + "=======");
|
||||
log.info("**********pid************" + pid + "=======");
|
||||
log.info("**********taskId************" + taskId + "=======");
|
||||
log.info("**********standName************" + standName + "=======");
|
||||
log.info("**********key************" + key + "=======");
|
||||
|
||||
try {
|
||||
PrintWriter writer = response.getWriter();
|
||||
@@ -259,7 +246,7 @@ public class OnlyOfficeController {
|
||||
}
|
||||
|
||||
net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body);
|
||||
logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
|
||||
log.info("**********onlyoffice接收文档接口获得结果body************" + body);
|
||||
int status = (Integer) jsonObj.get("status");
|
||||
|
||||
int saved = 0;
|
||||
@@ -268,44 +255,43 @@ public class OnlyOfficeController {
|
||||
String downloadUri = (String) jsonObj.get("url");
|
||||
|
||||
try {
|
||||
logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
|
||||
log.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
|
||||
if (StringUtils.isNotEmpty(downloadUri)) {
|
||||
String saveFileUrl = standEditFilePath +
|
||||
standNo + "/" +
|
||||
fileNm;
|
||||
// TODO
|
||||
String saveFileUrl = standNo + "/" + fileNm;
|
||||
File file = new File(saveFileUrl);
|
||||
downloadNetFile(downloadUri, file);
|
||||
// 更新在线编辑当前节点编辑状态
|
||||
busProcessModelHisService.modelHisOneUpdStatus(pid, taskId);
|
||||
QueryWrapper<BusProcessModelHis> objectQueryWrapper = new QueryWrapper<>();
|
||||
ProcessFileService.modelHisOneUpdStatus(pid, taskId);
|
||||
QueryWrapper<ProcessFile> objectQueryWrapper = new QueryWrapper<>();
|
||||
objectQueryWrapper.eq("P_ID", pid);
|
||||
objectQueryWrapper.eq("TASK_ID", taskId);
|
||||
BusProcessModelHis busProcessModelHis = busProcessModelHisMapper.selectOne(objectQueryWrapper);
|
||||
if (busProcessModelHis != null) {
|
||||
ProcessFile ProcessFile = ProcessFileMapper.selectOne(objectQueryWrapper);
|
||||
if (ProcessFile != null) {
|
||||
Object keyObj = jsonObj.get("key");
|
||||
if (keyObj != null) {
|
||||
key = keyObj.toString();
|
||||
logger.info("**********key************" + key + "=======");
|
||||
log.info("**********key************" + key + "=======");
|
||||
}
|
||||
lawsUserInfoService.selectOnlineFile(busProcessModelHis.getId(), standName, key);
|
||||
lawsUserInfoService.selectOnlineFile(ProcessFile.getId(), standName, key);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
saved = 1;
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
|
||||
logger.error(ex.getMessage(), ex);
|
||||
log.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
|
||||
log.error(ex.getMessage(), ex);
|
||||
}
|
||||
} else if (status == 4) {
|
||||
logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
|
||||
log.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
|
||||
|
||||
logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
|
||||
log.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
|
||||
}
|
||||
logger.info("onlyoffice编辑完成--------------");
|
||||
log.info("onlyoffice编辑完成--------------");
|
||||
writer.write("{\"error\":" + saved + "}");
|
||||
|
||||
} catch (IOException e) {
|
||||
logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
|
||||
logger.error(e.getMessage(), e);
|
||||
log.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,37 +309,38 @@ public class OnlyOfficeController {
|
||||
fileOutputStream.close();
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
logger.error("download error ! url :{}, exception:{}", downloadUrl, e);
|
||||
log.error("download error ! url :{}", downloadUrl);
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/processEditFile")
|
||||
public BusProcessModelHis processEditFile(String id) {
|
||||
return busProcessModelHisService.processEditFile(id);
|
||||
public ProcessFile processEditFile(String id) {
|
||||
return ProcessFileService.processEditFile(id);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "|model| 传入 模板文档名称(不带后缀)默认 docx")
|
||||
@GetMapping("/saveEditFile")
|
||||
public Result<BusProcessModelHis> saveEditFile(String model) {
|
||||
return Result.OK(busProcessModelHisService.saveEditFile(model));
|
||||
public Result<ProcessFile> saveEditFile(String model) {
|
||||
return Result.OK(ProcessFileService.saveEditFile(model));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "传入ossFileId获取在线编辑文件相关信息")
|
||||
@GetMapping("/saveEditFileWithOss")
|
||||
public Result<BusProcessModelHis> saveEditFileWithOss(String ossFileId) {
|
||||
return Result.OK(busProcessModelHisService.saveEditFileWithOss(ossFileId));
|
||||
public Result<ProcessFile> saveEditFileWithOss(String ossFileId) {
|
||||
return Result.OK(ProcessFileService.saveEditFileWithOss(ossFileId));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据传入的标准编号返回对应的在线编辑文件信息")
|
||||
@GetMapping("/findEditFileByStandardNo")
|
||||
public Result<BusProcessModelHis> findEditFileByStandardNo(String standardNo) {
|
||||
return Result.OK(busProcessModelHisService.findEditFileByStandardNo(standardNo));
|
||||
public Result<ProcessFile> findEditFileByStandardNo(String standardNo) {
|
||||
return Result.OK(ProcessFileService.findEditFileByStandardNo(standardNo));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据路径下载文件")
|
||||
@GetMapping("/downLoadFile")
|
||||
public void downLoadFile(@RequestParam(name = "path") String path, HttpServletResponse response) {
|
||||
busProcessModelHisService.downLoadFile(path, response);
|
||||
ProcessFileService.downLoadFile(path, response);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据路径下载文件(罗马数字页码)")
|
||||
@@ -388,7 +375,10 @@ public class OnlyOfficeController {
|
||||
File downloadDocxFileTempUrlFile = new File(downloadDocxFileTempUrl);
|
||||
|
||||
if (!downloadDocxFileTempUrlFile.exists()) {
|
||||
downloadDocxFileTempUrlFile.mkdirs();
|
||||
boolean mkdirs = downloadDocxFileTempUrlFile.mkdirs();
|
||||
if (!mkdirs) {
|
||||
log.info("创建临时文件目录失败:{}", downloadDocxFileTempUrl);
|
||||
}
|
||||
}
|
||||
String newFileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
|
||||
String newFileUrl = downloadDocxFileTempUrl + "/" + newFileName;
|
||||
@@ -404,12 +394,12 @@ public class OnlyOfficeController {
|
||||
|
||||
is.close();
|
||||
if (newFile.delete()) {
|
||||
logger.info("在线编辑下载-临时文件删除成功: " + newFileUrl);
|
||||
log.info("在线编辑下载-临时文件删除成功: " + newFileUrl);
|
||||
} else {
|
||||
logger.info("在线编辑下载-临时文件删除失败: " + newFileUrl);
|
||||
log.info("在线编辑下载-临时文件删除失败: " + newFileUrl);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
log.error(e.getMessage(), e);
|
||||
} finally {
|
||||
IOUtils.closeQuietly(is);
|
||||
IOUtils.closeQuietly(os);
|
||||
@@ -417,28 +407,28 @@ public class OnlyOfficeController {
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisOneUpdStatus")
|
||||
public BusProcessModelHis modelHisOneUpdStatus(String pid, String taskId) {
|
||||
return busProcessModelHisService.modelHisOneUpdStatus(pid, taskId);
|
||||
public ProcessFile modelHisOneUpdStatus(String pid, String taskId) {
|
||||
return ProcessFileService.modelHisOneUpdStatus(pid, taskId);
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisOneCount")
|
||||
public BusProcessModelHis modelHisOneCount(String pid) {
|
||||
return busProcessModelHisService.modelHisOneCount(pid);
|
||||
public ProcessFile modelHisOneCount(String pid) {
|
||||
return ProcessFileService.modelHisOneCount(pid);
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisOne")
|
||||
public BusProcessModelHis modelHisOne(String pid, String taskId) {
|
||||
return busProcessModelHisService.modelHisOne(pid, taskId);
|
||||
public ProcessFile modelHisOne(String pid, String taskId) {
|
||||
return ProcessFileService.modelHisOne(pid, taskId);
|
||||
}
|
||||
|
||||
@GetMapping("/processModelHisList")
|
||||
public List<BusProcessModelHis> evaluationHisList(String pid) {
|
||||
return busProcessModelHisService.modelHisList(pid);
|
||||
public List<ProcessFile> evaluationHisList(String pid) {
|
||||
return ProcessFileService.modelHisList(pid);
|
||||
}
|
||||
|
||||
@PostMapping("/selectOnlineFile")
|
||||
public OnlineFileLog selectOnlineFile(@RequestParam("onlineFileId") String onlineFileId) {
|
||||
return busProcessModelHisService.selectOnlineFile(onlineFileId);
|
||||
return ProcessFileService.selectOnlineFile(onlineFileId);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据在线文件Id查询所有onlyoffice历史文件")
|
||||
@@ -466,63 +456,5 @@ public class OnlyOfficeController {
|
||||
}
|
||||
return Result.error("历史文件为空");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文件上传统一方法
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/upload")
|
||||
@CrossOrigin(origins = "*", maxAge = 3600)
|
||||
public Result<OSSFile> upload(HttpServletRequest request, HttpServletResponse response) {
|
||||
Result<OSSFile> result = new Result<>();
|
||||
String savePath = "";
|
||||
String bizPath = request.getParameter("biz");
|
||||
|
||||
//sys/common/upload接口存在任意文件上传漏洞
|
||||
if (oConvertUtils.isNotEmpty(bizPath) && (bizPath.contains("../") || bizPath.contains("..\\"))) {
|
||||
throw new JeroBootException("上传目录bizPath,格式非法!");
|
||||
}
|
||||
|
||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||
// 获取上传文件对象
|
||||
MultipartFile file = multipartRequest.getFile("file");
|
||||
if (file == null) {
|
||||
return result;
|
||||
}
|
||||
// 文件类型是否处于黑名单
|
||||
if (CommonUtils.limitFileSuffix(file.getOriginalFilename(), fileSuffixLimits)) {
|
||||
result.setMessage("该文件类型不允许上传");
|
||||
result.setSuccess(false);
|
||||
result.setCode(0);
|
||||
return result;
|
||||
}
|
||||
if (oConvertUtils.isEmpty(bizPath)) {
|
||||
bizPath = "";
|
||||
}
|
||||
// 本地上传
|
||||
savePath = CommonUtils.uploadLocal(file, bizPath, standEditFilePath);
|
||||
if (oConvertUtils.isNotEmpty(savePath)) {
|
||||
//上传成功 进行数据库存储
|
||||
OSSFile ossFile = new OSSFile();
|
||||
// 文件名
|
||||
String fileName = file.getOriginalFilename();
|
||||
fileName = CommonUtils.getFileName(fileName);
|
||||
ossFile.setFileName(fileName);
|
||||
ossFile.setUrl(savePath);
|
||||
ossFileService.save(ossFile);
|
||||
result.setMessage(savePath);
|
||||
result.setResult(ossFile);
|
||||
result.setSuccess(true);
|
||||
} else {
|
||||
result.setMessage("上传失败!");
|
||||
result.setSuccess(false);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@ import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程模块历史表 TODO 等在线编辑正式上线时,把该部分去掉,此部分在正式功能中无用
|
||||
* 流程文件表
|
||||
* </p>
|
||||
*
|
||||
* @author super_liu
|
||||
@@ -25,8 +25,8 @@ import java.util.Date;
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="BusProcessModelHis对象", description="流程模块历史表")
|
||||
public class BusProcessModelHis implements Serializable {
|
||||
@ApiModel(value="ProcessFile对象", description="流程文件")
|
||||
public class ProcessFile implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.jero.modules.onlyoffice.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.onlyoffice.entity.BusProcessModelHis;
|
||||
import com.jero.modules.onlyoffice.entity.ProcessFile;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -11,6 +11,6 @@ import com.jero.modules.onlyoffice.entity.BusProcessModelHis;
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
public interface BusProcessModelHisMapper extends BaseMapper<BusProcessModelHis> {
|
||||
public interface ProcessFileMapper extends BaseMapper<ProcessFile> {
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.onlyoffice.mapper.BusProcessModelHisMapper">
|
||||
<mapper namespace="com.jero.modules.onlyoffice.mapper.ProcessFileMapper">
|
||||
|
||||
</mapper>
|
||||
+11
-11
@@ -1,7 +1,7 @@
|
||||
package com.jero.modules.onlyoffice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.onlyoffice.entity.BusProcessModelHis;
|
||||
import com.jero.modules.onlyoffice.entity.ProcessFile;
|
||||
import com.jero.modules.onlyoffice.entity.OnlineFileLog;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
|
||||
@@ -16,25 +16,25 @@ import java.util.List;
|
||||
* @author super_liu
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
public interface IBusProcessModelHisService extends IService<BusProcessModelHis> {
|
||||
public interface IProcessFileService extends IService<ProcessFile> {
|
||||
|
||||
BusProcessModelHis modelHisOneUpdStatusById(String id);
|
||||
ProcessFile modelHisOneUpdStatusById(String id);
|
||||
|
||||
BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId);
|
||||
ProcessFile modelHisOneUpdStatus(String pid,String taskId);
|
||||
|
||||
BusProcessModelHis modelHisOneCount(String pid);
|
||||
ProcessFile modelHisOneCount(String pid);
|
||||
|
||||
BusProcessModelHis processEditFile(String id);
|
||||
ProcessFile processEditFile(String id);
|
||||
|
||||
BusProcessModelHis modelHisOne(String pid,String taskId);
|
||||
ProcessFile modelHisOne(String pid,String taskId);
|
||||
|
||||
BusProcessModelHis saveEditFile(String model);
|
||||
ProcessFile saveEditFile(String model);
|
||||
|
||||
BusProcessModelHis saveEditFileWithOss(String ossFileId);
|
||||
ProcessFile saveEditFileWithOss(String ossFileId);
|
||||
|
||||
void replaceFile(String hisId, String replaceId);
|
||||
|
||||
List<BusProcessModelHis> modelHisList(String pid);
|
||||
List<ProcessFile> modelHisList(String pid);
|
||||
|
||||
OnlineFileLog selectOnlineFile(String onlineFileId);
|
||||
|
||||
@@ -42,7 +42,7 @@ public interface IBusProcessModelHisService extends IService<BusProcessModelHis>
|
||||
|
||||
String saveProcessFileToOss(String hisId);
|
||||
|
||||
BusProcessModelHis findEditFileByStandardNo(String standardNo);
|
||||
ProcessFile findEditFileByStandardNo(String standardNo);
|
||||
|
||||
OSSFile findLastDocFileByStandardNo(String standardNo);
|
||||
}
|
||||
+1
-6
@@ -1,14 +1,9 @@
|
||||
package com.jero.modules.onlyoffice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.util.MinioUtil;
|
||||
import com.jero.common.util.UUIDUtils;
|
||||
import com.jero.modules.onlyoffice.entity.AttFileEO;
|
||||
import com.jero.modules.onlyoffice.entity.AttFileVo;
|
||||
import com.jero.modules.onlyoffice.entity.OnlineFileLog;
|
||||
import com.jero.modules.onlyoffice.mapper.AttFileEODao;
|
||||
import com.jero.modules.onlyoffice.mapper.OnlineFileLogDao;
|
||||
import com.jero.modules.onlyoffice.service.impl.AttFileEOServiceImpl;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -36,7 +31,7 @@ public class LawsUserInfoService {
|
||||
private String standEditFilePath;
|
||||
|
||||
@Resource
|
||||
private IBusProcessModelHisService busProcessModelHisService;
|
||||
private IProcessFileService busProcessModelHisService;
|
||||
|
||||
@Resource
|
||||
private OnlineFileLogDao onlineFileLogDao;
|
||||
|
||||
+37
-38
@@ -3,7 +3,6 @@ package com.jero.modules.onlyoffice.service.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.CommonUtils;
|
||||
@@ -13,12 +12,12 @@ import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.onlyoffice.entity.BusProcessModelHis;
|
||||
import com.jero.modules.onlyoffice.entity.ProcessFile;
|
||||
import com.jero.modules.onlyoffice.entity.OnlineFileLog;
|
||||
import com.jero.modules.onlyoffice.entity.StandardFileType;
|
||||
import com.jero.modules.onlyoffice.mapper.BusProcessModelHisMapper;
|
||||
import com.jero.modules.onlyoffice.mapper.ProcessFileMapper;
|
||||
import com.jero.modules.onlyoffice.mapper.OnlineFileLogDao;
|
||||
import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
|
||||
import com.jero.modules.onlyoffice.service.IProcessFileService;
|
||||
import com.jero.modules.onlyoffice.utils.OnlyOfficePdfUtil;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
@@ -48,9 +47,9 @@ import java.util.stream.Collectors;
|
||||
* @since 2021-09-17
|
||||
*/
|
||||
@Service
|
||||
public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHisMapper, BusProcessModelHis> implements IBusProcessModelHisService {
|
||||
public class ProcessFileServiceImpl extends ServiceImpl<ProcessFileMapper, ProcessFile> implements IProcessFileService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisServiceImpl.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(ProcessFileServiceImpl.class);
|
||||
|
||||
|
||||
@Value("${file.path}")
|
||||
@@ -81,8 +80,8 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
private OnlyOfficePdfUtil onlineOfficePdfUtil;
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis saveEditFile(String model) {
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
public ProcessFile saveEditFile(String model) {
|
||||
ProcessFile modelHis = new ProcessFile();
|
||||
try {
|
||||
String preUuid2 = UUID.randomUUID().toString();
|
||||
String changUuid = preUuid2.substring(0, 8);
|
||||
@@ -124,9 +123,9 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis saveEditFileWithOss(String ossFileId) {
|
||||
public ProcessFile saveEditFileWithOss(String ossFileId) {
|
||||
OSSFile ossFile = ossFileService.getById(ossFileId);
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
ProcessFile modelHis = new ProcessFile();
|
||||
|
||||
try {
|
||||
String taskId = generateTaskId();
|
||||
@@ -190,13 +189,13 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
|
||||
@Override
|
||||
public OnlineFileLog selectOnlineFile(String onlineFileId) {
|
||||
BusProcessModelHis busProcessModelHis = baseMapper.selectById(onlineFileId);
|
||||
ProcessFile ProcessFile = baseMapper.selectById(onlineFileId);
|
||||
OnlineFileLog onlineFileLog = new OnlineFileLog();
|
||||
byte[] bytes = new byte[0];
|
||||
if (busProcessModelHis != null) {
|
||||
if (ProcessFile != null) {
|
||||
//获取当前文件路径 返回文件路径的数字组
|
||||
try {
|
||||
String editFilePath = busProcessModelHis.getEditFilePath();
|
||||
String editFilePath = ProcessFile.getEditFilePath();
|
||||
File file = new File(filePath + editFilePath);
|
||||
FileInputStream fileInputStream = new FileInputStream(file);
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
|
||||
@@ -209,14 +208,14 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
onlineFileLog.setHisId(busProcessModelHis.getId());
|
||||
onlineFileLog.setFilePath(busProcessModelHis.getEditFilePath());
|
||||
if (StringUtils.isNotBlank(busProcessModelHis.getEditFilePath())) {
|
||||
String[] split = busProcessModelHis.getEditFilePath().split("\\.");
|
||||
onlineFileLog.setHisId(ProcessFile.getId());
|
||||
onlineFileLog.setFilePath(ProcessFile.getEditFilePath());
|
||||
if (StringUtils.isNotBlank(ProcessFile.getEditFilePath())) {
|
||||
String[] split = ProcessFile.getEditFilePath().split("\\.");
|
||||
onlineFileLog.setFileSuffix(split[1]);
|
||||
}
|
||||
if (StringUtils.isNotBlank(busProcessModelHis.getEditFilePath())) {
|
||||
String[] split = busProcessModelHis.getEditFilePath().split("/");
|
||||
if (StringUtils.isNotBlank(ProcessFile.getEditFilePath())) {
|
||||
String[] split = ProcessFile.getEditFilePath().split("/");
|
||||
String[] split1 = split[2].split("\\.");
|
||||
onlineFileLog.setOldFileName(split1[0]);
|
||||
}
|
||||
@@ -303,8 +302,8 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOneUpdStatusById(String id) {
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
public ProcessFile modelHisOneUpdStatusById(String id) {
|
||||
ProcessFile modelHis = new ProcessFile();
|
||||
modelHis.setId(id);
|
||||
modelHis.setEditStatus("1");
|
||||
this.baseMapper.updateById(modelHis);
|
||||
@@ -312,12 +311,12 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOneUpdStatus(String pid, String taskId) {
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
public ProcessFile modelHisOneUpdStatus(String pid, String taskId) {
|
||||
ProcessFile modelHis = new ProcessFile();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID", pid);
|
||||
wrapper.eq("TASK_ID", taskId);
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
List<ProcessFile> hisList = this.baseMapper.selectList(wrapper);
|
||||
if (!hisList.isEmpty()) {
|
||||
modelHis = hisList.get(0);
|
||||
modelHis.setEditStatus("1");
|
||||
@@ -327,12 +326,12 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOneCount(String pid) {
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
public ProcessFile modelHisOneCount(String pid) {
|
||||
ProcessFile modelHis = new ProcessFile();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID", pid);
|
||||
wrapper.eq("EDIT_TYPE", "count");
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
List<ProcessFile> hisList = this.baseMapper.selectList(wrapper);
|
||||
if (!hisList.isEmpty()) {
|
||||
modelHis = hisList.get(0);
|
||||
StringBuffer downloadFileUrl = new StringBuffer();
|
||||
@@ -343,8 +342,8 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis processEditFile(String id) {
|
||||
BusProcessModelHis modelHis = this.baseMapper.selectById(id);
|
||||
public ProcessFile processEditFile(String id) {
|
||||
ProcessFile modelHis = this.baseMapper.selectById(id);
|
||||
if (StringUtils.isNotBlank(modelHis.getId())) {
|
||||
StringBuffer downloadFileUrl = new StringBuffer();
|
||||
downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath());
|
||||
@@ -354,12 +353,12 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis modelHisOne(String pid, String taskId) {
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
public ProcessFile modelHisOne(String pid, String taskId) {
|
||||
ProcessFile modelHis = new ProcessFile();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID", pid);
|
||||
wrapper.eq("TASK_ID", taskId);
|
||||
List<BusProcessModelHis> hisList = this.baseMapper.selectList(wrapper);
|
||||
List<ProcessFile> hisList = this.baseMapper.selectList(wrapper);
|
||||
if (!hisList.isEmpty()) {
|
||||
modelHis = hisList.get(0);
|
||||
StringBuffer downloadFileUrl = new StringBuffer();
|
||||
@@ -370,7 +369,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessModelHis> modelHisList(String pid) {
|
||||
public List<ProcessFile> modelHisList(String pid) {
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID", pid);
|
||||
return this.baseMapper.selectList(wrapper);
|
||||
@@ -379,7 +378,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
@Override
|
||||
public void replaceFile(String hisId, String replaceId) {
|
||||
// 找到修改后的文件上传到minio后 将相关信息替换原本的ossFile记录
|
||||
BusProcessModelHis his = this.getById(hisId);
|
||||
ProcessFile his = this.getById(hisId);
|
||||
// 找到最新的文件记录 上传到minio
|
||||
LambdaQueryWrapper<OnlineFileLog> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(OnlineFileLog::getHisId, hisId);
|
||||
@@ -395,7 +394,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
String path = filePath + ossFile.getUrl();
|
||||
// 获取上传文件对象
|
||||
File file = new File(path);
|
||||
MultipartFile multipartFile = BusProcessModelHisServiceImpl.convert(file);
|
||||
MultipartFile multipartFile = ProcessFileServiceImpl.convert(file);
|
||||
String savePath = CommonUtils.upload(multipartFile, "", uploadType);
|
||||
OSSFile replaceFile = ossFileService.getById(replaceId);
|
||||
if (oConvertUtils.isNotEmpty(savePath) && replaceFile != null) {
|
||||
@@ -413,7 +412,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
|
||||
@Override
|
||||
public String saveProcessFileToOss(String hisId) {
|
||||
BusProcessModelHis his = this.getById(hisId);
|
||||
ProcessFile his = this.getById(hisId);
|
||||
// 找到最新的文件记录 上传到minio
|
||||
LambdaQueryWrapper<OnlineFileLog> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(OnlineFileLog::getHisId, hisId);
|
||||
@@ -426,7 +425,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
String path = filePath + ossFile.getUrl();
|
||||
// 获取上传文件对象
|
||||
File file = new File(path);
|
||||
MultipartFile multipartFile = BusProcessModelHisServiceImpl.convert(file);
|
||||
MultipartFile multipartFile = ProcessFileServiceImpl.convert(file);
|
||||
String savePath = CommonUtils.upload(multipartFile, "", uploadType);
|
||||
if (oConvertUtils.isNotEmpty(savePath)) {
|
||||
// 文件名
|
||||
@@ -444,7 +443,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis findEditFileByStandardNo(String standardNo) {
|
||||
public ProcessFile findEditFileByStandardNo(String standardNo) {
|
||||
OSSFile lastDocFileByStandardNo = this.findLastDocFileByStandardNo(standardNo);
|
||||
if (lastDocFileByStandardNo == null) {
|
||||
// 没有docx文件则自动生成并返回
|
||||
Reference in New Issue
Block a user