Browse Source

Merge remote-tracking branch 'origin/master'

GouGengquan 8 months ago
parent
commit
ce26613c79

+ 5 - 0
biz-base/pom.xml

@@ -50,6 +50,11 @@
             <artifactId>aspose-cells</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.zhuozhengsoft</groupId>
+            <artifactId>pageoffice</artifactId>
+        </dependency>
+
 
     </dependencies>
     <dependencyManagement>

+ 40 - 0
biz-base/src/main/java/com/dayou/controller/PageOfficeController.java

@@ -0,0 +1,40 @@
+package com.dayou.controller;
+
+
+import com.dayou.config.FileNetConfig;
+import com.zhuozhengsoft.pageoffice.FileSaver;
+import com.zhuozhengsoft.pageoffice.OpenModeType;
+import com.zhuozhengsoft.pageoffice.PageOfficeCtrl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@RestController
+@RequestMapping(value = "/doc")
+public class PageOfficeController {
+
+    @Autowired
+    private FileNetConfig fileNetConfig;
+
+    //获取doc目录的磁盘路径
+    @RequestMapping(value="/openFile")
+    public String openFile(HttpServletRequest request, String fileName, String fileUrl)  {
+        //file_id和file_name是为了展示如何使用参数,我们这里只用到了file_name
+        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
+        //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
+        //查看详细,请在"https://www.pageoffice.cn/"搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
+        poCtrl.webOpen("file://"+fileNetConfig.getBaseDir()+fileUrl, OpenModeType.docNormalEdit, "");
+        return poCtrl.getHtmlCode();//必须
+    }
+
+    @RequestMapping("/saveFile")
+    public void saveFile(HttpServletRequest request, HttpServletResponse response, String fileName, String fileUrl)  {
+        //file_id和file_name是为了展示如何使用参数,我们这里只用到了file_name
+        FileSaver fs = new FileSaver(request, response);
+        fs.saveToFile(fileNetConfig.getBaseDir() + fileUrl);
+        fs.close();
+    }
+}

+ 5 - 0
common/pom.xml

@@ -94,6 +94,11 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.zhuozhengsoft</groupId>
+            <artifactId>pageoffice</artifactId>
+        </dependency>
+
     </dependencies>
     <dependencyManagement>
         <dependencies>

+ 2 - 1
common/src/main/java/com/dayou/auth/SaTokenConfigure.java

@@ -11,7 +11,8 @@ public class SaTokenConfigure implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         // 注册 Sa-Token 拦截器,打开注解式鉴权功能
-        registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");
+        registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**")
+                .excludePathPatterns("/poserver.zz","/poclient","/sealsetup.exe");
     }
 }
 

+ 26 - 0
common/src/main/java/com/dayou/config/PageOfficeConfig.java

@@ -0,0 +1,26 @@
+package com.dayou.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class PageOfficeConfig {
+
+    @Value("${posyspath}")
+    private String poSysPath;
+
+    @Bean
+    public ServletRegistrationBean pageofficeRegistrationBean()  {
+        com.zhuozhengsoft.pageoffice.poserver.Server poserver
+                = new com.zhuozhengsoft.pageoffice.poserver.Server();
+        poserver.setSysPath(poSysPath);//设置PageOffice注册成功后,license.lic文件存放的目录
+
+        ServletRegistrationBean srb = new ServletRegistrationBean(poserver);
+        srb.addUrlMappings("/poserver.zz");
+        srb.addUrlMappings("/poclient");
+        srb.addUrlMappings("/sealsetup.exe");
+        return srb;
+    }
+}

+ 7 - 0
pom.xml

@@ -42,6 +42,7 @@
         <aspose-cells.version>21.11</aspose-cells.version>
         <commons-lang3.version>3.7</commons-lang3.version>
         <jsqlparser.version>2.1</jsqlparser.version>
+        <pageOffice.version>6.3.2.1-javax</pageOffice.version>
     </properties>
 
     <dependencyManagement>
@@ -189,6 +190,12 @@
                 <artifactId>commons-lang3</artifactId>
                 <version>${commons-lang3.version}</version>
             </dependency>
+
+            <dependency>
+                <groupId>com.zhuozhengsoft</groupId>
+                <artifactId>pageoffice</artifactId>
+                <version>${pageOffice.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>