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接收文件")
@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接收文档接口************");
try {
PrintWriter writer = response.getWriter();
@@ -77,6 +77,70 @@ public class BusProcessModelHisController {
logger.info("**********onlyoffice接收文档接口获得结果body************" + body);
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;
if (status == 2 || status == 3)//MustSave, Corrupted
{
@@ -139,9 +203,10 @@ public class BusProcessModelHisController {
return modelHisOne;
}
@ApiOperation(value = "|model| 传入 模板文档名称(不带后缀)默认 docx")
@GetMapping("/saveEditFile")
public BusProcessModelHis saveEditFile() {
return busProcessModelHisService.saveEditFile();
public BusProcessModelHis saveEditFile(String model) {
return busProcessModelHisService.saveEditFile(model);
}
@GetMapping("/processModelHisOneUpdStatus")
@@ -17,6 +17,8 @@ import java.util.List;
*/
public interface IBusProcessModelHisService extends IService<BusProcessModelHis> {
BusProcessModelHis modelHisOneUpdStatusById(String id);
BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId);
BusProcessModelHis modelHisOneCount(String pid);
@@ -25,7 +27,7 @@ public interface IBusProcessModelHisService extends IService<BusProcessModelHis>
BusProcessModelHis modelHisOne(String pid,String taskId);
BusProcessModelHis saveEditFile();
BusProcessModelHis saveEditFile(String model);
List<BusProcessModelHis> modelHisList(String pid);
@@ -49,7 +49,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
private String downloadUrl;
@Override
public BusProcessModelHis saveEditFile(){
public BusProcessModelHis saveEditFile(String model){
BusProcessModelHis modelHis = new BusProcessModelHis();
try {
@@ -67,7 +67,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
if (!dir.exists()) {
dir.mkdirs();
}
String sourcePath = builderModel.toString()+"model.docx";
String sourcePath = builderModel.toString()+model+".docx";
StringBuilder builder=new StringBuilder();
builder.append("model").append("/");
@@ -78,7 +78,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
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 targetFile = new File(filePath+targetPath);
@@ -183,6 +183,15 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
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
public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId){
BusProcessModelHis modelHis = new BusProcessModelHis();