1.优化获取config配置接口
2.优化回调保存接口 3.优化文件保存信息的完善
This commit is contained in:
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.oo.demo.entity.OnFile;
|
||||
import com.oo.demo.entity.Result;
|
||||
import com.oo.demo.entity.SysUser;
|
||||
import com.oo.demo.entity.WebsocketResult;
|
||||
import com.oo.demo.service.FileService;
|
||||
import com.oo.demo.service.OnFileService;
|
||||
@@ -58,7 +57,11 @@ public class OnlyOfficeController {
|
||||
return "/index";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有的文件
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/file/all")
|
||||
@ResponseBody
|
||||
public Object file(@RequestParam Map<String, String> parameter) {
|
||||
@@ -79,6 +82,12 @@ public class OnlyOfficeController {
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
* @param file
|
||||
* @param caseId
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/files/upload")
|
||||
@ResponseBody
|
||||
public Object upload(@RequestParam("file") MultipartFile[] file, @RequestParam(name = "caseId") String caseId) {
|
||||
@@ -105,6 +114,11 @@ public class OnlyOfficeController {
|
||||
onFile.setFileType(suffix);
|
||||
onFile.setFilePath(filepath + "/" + fileId + "." + suffix);
|
||||
onFile.setCaseId(caseId);
|
||||
FileUser userSession = SecurityUtils.getUserSession();
|
||||
if (userSession != null) {
|
||||
onFile.setUserName(userSession.getName());
|
||||
onFile.setUserId(userSession.getId());
|
||||
}
|
||||
onFileService.save(onFile);
|
||||
result.add(onFile);
|
||||
i++;
|
||||
@@ -121,11 +135,11 @@ public class OnlyOfficeController {
|
||||
final static String REDISUSERPREFIX = "user_key:";
|
||||
|
||||
/**
|
||||
* 打开编辑
|
||||
* 获取config配置信息
|
||||
*/
|
||||
@RequestMapping("/onlyOfficeConfig/{mode}/{id}/{userId}")
|
||||
@RequestMapping("/onlyOfficeConfig/{mode}/{id}/{userId}/{clientType}/{collaborativeEditing}")
|
||||
@ResponseBody
|
||||
public Object openDocument(@PathVariable(required = false) String mode, @PathVariable(required = false) String id, @PathVariable(required = true) Integer userId, Model model) {//@RequestParam("url") String url,
|
||||
public Object openDocument(@PathVariable(required = false) String mode, @PathVariable(required = false) String id, @PathVariable(required = true) Integer userId, @PathVariable(required = false) String clientType, @PathVariable(required = false) Boolean collaborativeEditing, Model model) {//@RequestParam("url") String url,
|
||||
log.info("only office file:" + id);
|
||||
OnFile onFile = onFileService.getById(id);
|
||||
if (onFile == null) {
|
||||
@@ -158,8 +172,17 @@ public class OnlyOfficeController {
|
||||
map.put("fileType", onFile.getFileType());
|
||||
map.put("fileSize", onFile.getFileSize());
|
||||
map.put("version", onFile.getVersion());
|
||||
|
||||
Map config = onlyServiceAPI.openDocument(map, mode, false);
|
||||
map.put("caseId", onFile.getCaseId());
|
||||
if (clientType == null || clientType == "") {
|
||||
clientType = "desktop";
|
||||
}
|
||||
if (collaborativeEditing == null) {
|
||||
collaborativeEditing = false;
|
||||
}
|
||||
/**
|
||||
*打开文件获取config配置信息
|
||||
*/
|
||||
Map config = onlyServiceAPI.openDocument(map, mode, collaborativeEditing, clientType);
|
||||
|
||||
SecurityUtils.removeUserSession();
|
||||
|
||||
@@ -229,13 +252,20 @@ public class OnlyOfficeController {
|
||||
* status = 1,我们给onlyOffice的服务返回{"error":"0"}的信息。
|
||||
* 这样onlyOffice会认为回调接口是没问题的,这样就可以在线编辑文档了,否则的话会弹出窗口说明
|
||||
*/
|
||||
FileUser userSession = SecurityUtils.getUserSession();
|
||||
String userId = result.getUserId();
|
||||
if (userSession != null) {
|
||||
userId = userSession.getId();
|
||||
}
|
||||
WebSocketServer.sendInfo(JSON.toJSONString(result.getOnFile()), userId);
|
||||
if (Objects.nonNull(writer)) {
|
||||
writer.write("{\"error\":0}");
|
||||
}
|
||||
WebSocketServer.sendInfo(JSON.toJSONString(result.getOnFile()),result.getUserId());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
writer.write("{\"error\":-1}");
|
||||
log.info("报错信息" + e.getMessage());
|
||||
// writer.write("{\"error\":-1}");
|
||||
writer.write("{\"error\":0}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user