deason 6 vuotta sitten
vanhempi
commit
1218f8d8d9

+ 51 - 0
examcloud-core-print-common/src/main/java/cn/com/qmth/examcloud/core/print/common/upyun/SystemProperty.java

@@ -0,0 +1,51 @@
+/*
+ * *************************************************
+ * Copyright (c) 2018 QMTH. All Rights Reserved.
+ * Created by Deason on 2018-11-30 15:17:49.
+ * *************************************************
+ */
+
+package cn.com.qmth.examcloud.core.print.common.upyun;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+
+/**
+ * 系统配置信息
+ *
+ * @author: fengdesheng
+ * @since: 2018/11/30
+ */
+@Component
+public class SystemProperty implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 文件存放目录
+     */
+    @Value("${$dir}")
+    private String dir;
+    /**
+     * 文件存放临时目录
+     */
+    @Value("${$tempDir}")
+    private String tempDir;
+
+    public String getDir() {
+        return dir;
+    }
+
+    public void setDir(String dir) {
+        this.dir = dir;
+    }
+
+    public String getTempDir() {
+        return tempDir;
+    }
+
+    public void setTempDir(String tempDir) {
+        this.tempDir = tempDir;
+    }
+
+}

+ 4 - 2
examcloud-core-print-common/src/main/java/cn/com/qmth/examcloud/core/print/common/upyun/UpYunClient.java

@@ -8,7 +8,6 @@
 package cn.com.qmth.examcloud.core.print.common.upyun;
 
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
-import cn.com.qmth.examcloud.core.print.common.Constants;
 import cn.com.qmth.examcloud.core.print.common.utils.Check;
 import cn.com.qmth.examcloud.core.print.common.utils.FileUtils;
 import main.java.com.UpYun;
@@ -31,6 +30,8 @@ public class UpYunClient {
     private static final Logger log = LoggerFactory.getLogger(UpYunClient.class);
     @Autowired
     private UpYunProperty upYunProperty;
+    @Autowired
+    private SystemProperty systemProperty;
 
     public String upload(File file) {
         Check.isEmpty(file, "上传的文件不能为空!");
@@ -70,7 +71,8 @@ public class UpYunClient {
 
     public File download(String filePath) {
         try {
-            String rootDir = Constants.rootFileDir();
+            //final String rootDir = Constants.rootFileDir();
+            final String rootDir = systemProperty.getTempDir();
             FileUtils.makeDirs(rootDir);
             final String newFilePath = rootDir + "/" + FileUtils.newFileName(filePath);
             File file = new File(newFilePath);

+ 10 - 5
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/CoursePaperServiceImpl.java

@@ -8,9 +8,9 @@
 package cn.com.qmth.examcloud.core.print.service.impl;
 
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
-import cn.com.qmth.examcloud.core.print.common.Constants;
 import cn.com.qmth.examcloud.core.print.common.jpa.SearchBuilder;
 import cn.com.qmth.examcloud.core.print.common.jpa.SpecUtils;
+import cn.com.qmth.examcloud.core.print.common.upyun.SystemProperty;
 import cn.com.qmth.examcloud.core.print.common.upyun.UpYunClient;
 import cn.com.qmth.examcloud.core.print.common.utils.Check;
 import cn.com.qmth.examcloud.core.print.common.utils.ElectronUtils;
@@ -52,13 +52,16 @@ import static cn.com.qmth.examcloud.core.print.common.Constants.*;
 public class CoursePaperServiceImpl implements CoursePaperService {
     private static final Logger log = LoggerFactory.getLogger(CoursePaperServiceImpl.class);
     @Autowired
-    private UpYunClient upYunClient;
-    @Autowired
     private CoursePaperRepository coursePaperRepository;
     @Autowired
     private CourseStatisticRepository courseStatisticRepository;
     @Autowired
     private ExamQuestionStructureService examQuestionStructureService;
+    @Autowired
+    private SystemProperty systemProperty;
+    @Autowired
+    private UpYunClient upYunClient;
+
     @Value("${question.url.prefix}")
     private String QUESTION_URL_PREFIX;//题库访问地址前缀
 
@@ -104,7 +107,8 @@ public class CoursePaperServiceImpl implements CoursePaperService {
         String answerHtmlUrl = QUESTION_URL_PREFIX.concat("/api/ecs_ques/paper/answer/pdf/").concat(coursePaper.getPaperId());
 
         //转换PDF文件
-        final String rootDir = Constants.rootFileDir();
+        //final String rootDir = Constants.rootFileDir();
+        final String rootDir = systemProperty.getTempDir();
         final String paperPdfPath = rootDir + "/" + FileUtils.randomUUID() + SUFFIX_PDF;
         final String answerPdfPath = rootDir + "/" + FileUtils.randomUUID() + SUFFIX_PDF;
         FileUtils.makeDirs(rootDir);
@@ -368,7 +372,8 @@ public class CoursePaperServiceImpl implements CoursePaperService {
         }
 
         //文件存放目录
-        final String targetDir = Constants.rootFileDir() + "/" + FileUtils.randomUUID();
+        //final String targetDir = Constants.rootFileDir() + "/" + FileUtils.randomUUID();
+        final String targetDir = systemProperty.getTempDir() + "/" + FileUtils.randomUUID();
         FileUtils.makeDirs(targetDir);
 
         //优先处理试卷或答案文件(需要网络下载)

+ 5 - 2
examcloud-core-print-starter/src/main/resources/application-dev.properties

@@ -1,5 +1,5 @@
 # datasource config
-spring.datasource.url=jdbc:mysql://localhost:3306/exam_cloud_kf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
+spring.datasource.url=jdbc:mysql://db-host:3306/exam_cloud_kf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
 spring.datasource.username=root
 spring.datasource.password=root
 spring.jpa.hibernate.ddl-auto=update
@@ -22,4 +22,7 @@ upyun.bucketUrl=https://v0.api.upyun.com/exam-cloud-test
 upyun.fileUrl=https://ecs-test-static.qmth.com.cn
 upyun.uploadUrl=/ecs-print/test/
 # question url prefix config
-question.url.prefix=http://192.168.10.39:8008
+question.url.prefix=http://192.168.10.39:8008
+# file dir config
+$dir=C:/examcloud
+$tempDir=C:/examcloud/temps

+ 4 - 1
examcloud-core-print-starter/src/main/resources/application-prod.properties

@@ -22,4 +22,7 @@ upyun.bucketUrl=https://v0.api.upyun.com/exam-cloud
 upyun.fileUrl=https://ecs-static.qmth.com.cn
 upyun.uploadUrl=/ecs-print/prod/
 # question url prefix config
-question.url.prefix=http://ecs.qmth.com.cn:8008
+question.url.prefix=http://ecs.qmth.com.cn:8008
+# file dir config
+$dir=/home/qmth/project/examcloud/examcloud-core-print
+$tempDir=/home/qmth/project/examcloud/examcloud-core-print/temps

+ 4 - 1
examcloud-core-print-starter/src/main/resources/application-test.properties

@@ -22,4 +22,7 @@ upyun.bucketUrl=https://v0.api.upyun.com/exam-cloud-test
 upyun.fileUrl=https://ecs-test-static.qmth.com.cn
 upyun.uploadUrl=/ecs-print/test/
 # question url prefix config
-question.url.prefix=http://ecs-dev.qmth.com.cn:8008
+question.url.prefix=http://ecs-dev.qmth.com.cn:8008
+# file dir config
+$dir=/home/qmth/project/examcloud/examcloud-core-print
+$tempDir=/home/qmth/project/examcloud/examcloud-core-print/temps

+ 1 - 3
examcloud-core-print-starter/src/main/resources/application.properties

@@ -1,5 +1,5 @@
 #debug=true
-spring.profiles.active=test
+spring.profiles.active=dev
 #mvc config
 server.port=8089
 spring.http.multipart.max-file-size=100Mb
@@ -19,5 +19,3 @@ feign.okhttp.enabled=true
 #api config
 $rmp.cloud.print=/api/core/prt
 $rmp.ctrl.print=/api/ecs_prt
-$tempDir=/
-$dir=/