feat: model online

This commit is contained in:
super_liu
2022-02-15 16:25:54 +08:00
parent 9ea941acbc
commit 1da1896757
3 changed files with 83 additions and 7 deletions
@@ -53,7 +53,7 @@ public class BusProcessModelHisController {
@ApiOperation(value = "|onlyOffice接收文件") @ApiOperation(value = "|onlyOffice接收文件")
@PostMapping("/recieveFile") @PostMapping("/recieveFile")
public void recieveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String pid, String taskId){ public void recieveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String fileId){
logger.info("**********进入onlyoffice接收文档接口************"); logger.info("**********进入onlyoffice接收文档接口************");
try { try {
PrintWriter writer = response.getWriter(); PrintWriter writer = response.getWriter();
@@ -77,6 +77,70 @@ public class BusProcessModelHisController {
logger.info("**********onlyoffice接收文档接口获得结果body************" + body); logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
int status = (Integer) jsonObj.get("status"); int status = (Integer) jsonObj.get("status");
int saved = 0;
if (status == 2 || status == 3)//MustSave, Corrupted
{
String downloadUri = (String) jsonObj.get("url");
try {
logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri);
if (StringUtils.isNotEmpty(downloadUri)) {
StringBuilder builder=new StringBuilder();
builder.append(standEditFilePath);
builder.append(standNo).append("/");
builder.append(fileNm);
String saveFileUrl = builder.toString();
File file = new File(saveFileUrl);
downloadNetFile(downloadUri, file);
// 更新在线编辑当前节点编辑状态
busProcessModelHisService.modelHisOneUpdStatusById(fileId);
}
} catch (Exception ex) {
saved = 1;
logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage());
logger.error(ex.getMessage(),ex);
}
} else if (status == 4) {
logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************");
logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************");
}
logger.info("onlyoffice编辑完成--------------");
writer.write("{\"error\":" + saved + "}");
} catch (IOException e) {
logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage());
logger.error(e.getMessage(),e);
return;
}
}
@ApiOperation(value = "|onlyOffice接收文件")
@PostMapping("/recieveFileBefore")
public void recieveFileBefore(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String pid, String taskId){
logger.info("**********进入onlyoffice接收文档接口************");
try {
PrintWriter writer = response.getWriter();
String body = "";
try {
Scanner scanner = new Scanner(request.getInputStream());
scanner.useDelimiter("\\A");
body = scanner.hasNext() ? scanner.next() : "";
scanner.close();
} catch (Exception ex) {
writer.write("get request.getInputStream error:" + ex.getMessage());
return;
}
if (body.isEmpty()) {
writer.write("empty request.getInputStream");
return;
}
net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body);
logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
int status = (Integer) jsonObj.get("status");
int saved = 0; int saved = 0;
if (status == 2 || status == 3)//MustSave, Corrupted if (status == 2 || status == 3)//MustSave, Corrupted
{ {
@@ -139,9 +203,10 @@ public class BusProcessModelHisController {
return modelHisOne; return modelHisOne;
} }
@ApiOperation(value = "|model| 传入 模板文档名称(不带后缀)默认 docx")
@GetMapping("/saveEditFile") @GetMapping("/saveEditFile")
public BusProcessModelHis saveEditFile() { public BusProcessModelHis saveEditFile(String model) {
return busProcessModelHisService.saveEditFile(); return busProcessModelHisService.saveEditFile(model);
} }
@GetMapping("/processModelHisOneUpdStatus") @GetMapping("/processModelHisOneUpdStatus")
@@ -17,6 +17,8 @@ import java.util.List;
*/ */
public interface IBusProcessModelHisService extends IService<BusProcessModelHis> { public interface IBusProcessModelHisService extends IService<BusProcessModelHis> {
BusProcessModelHis modelHisOneUpdStatusById(String id);
BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId); BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId);
BusProcessModelHis modelHisOneCount(String pid); BusProcessModelHis modelHisOneCount(String pid);
@@ -25,7 +27,7 @@ public interface IBusProcessModelHisService extends IService<BusProcessModelHis>
BusProcessModelHis modelHisOne(String pid,String taskId); BusProcessModelHis modelHisOne(String pid,String taskId);
BusProcessModelHis saveEditFile(); BusProcessModelHis saveEditFile(String model);
List<BusProcessModelHis> modelHisList(String pid); List<BusProcessModelHis> modelHisList(String pid);
@@ -49,7 +49,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
private String downloadUrl; private String downloadUrl;
@Override @Override
public BusProcessModelHis saveEditFile(){ public BusProcessModelHis saveEditFile(String model){
BusProcessModelHis modelHis = new BusProcessModelHis(); BusProcessModelHis modelHis = new BusProcessModelHis();
try { try {
@@ -67,7 +67,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
if (!dir.exists()) { if (!dir.exists()) {
dir.mkdirs(); dir.mkdirs();
} }
String sourcePath = builderModel.toString()+"model.docx"; String sourcePath = builderModel.toString()+model+".docx";
StringBuilder builder=new StringBuilder(); StringBuilder builder=new StringBuilder();
builder.append("model").append("/"); builder.append("model").append("/");
@@ -78,7 +78,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
file.mkdirs(); file.mkdirs();
} }
String targetPath = builder.toString()+taskId+"_"+topId+"node.docx"; String targetPath = builder.toString()+taskId+"_"+topId+"_node.docx";
File sourceFile = new File(filePath+sourcePath); File sourceFile = new File(filePath+sourcePath);
File targetFile = new File(filePath+targetPath); File targetFile = new File(filePath+targetPath);
@@ -183,6 +183,15 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
return builder.toString(); return builder.toString();
} }
@Override
public BusProcessModelHis modelHisOneUpdStatusById(String id){
BusProcessModelHis modelHis = new BusProcessModelHis();
modelHis.setId(id);
modelHis.setEditStatus("1");
this.baseMapper.updateById(modelHis);
return modelHis;
}
@Override @Override
public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId){ public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId){
BusProcessModelHis modelHis = new BusProcessModelHis(); BusProcessModelHis modelHis = new BusProcessModelHis();