ci: 在线编辑调整1

This commit is contained in:
2024-09-23 16:54:30 +08:00
parent 0bd92a76eb
commit 2446a51741
7 changed files with 143 additions and 217 deletions
@@ -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;
}
}
@@ -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;
@@ -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,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>
@@ -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,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;
@@ -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文件则自动生成并返回