deason 6 jaren geleden
bovenliggende
commit
fdde166114

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

@@ -11,6 +11,7 @@ import cn.com.qmth.examcloud.core.print.common.Result;
 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;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -66,6 +67,13 @@ public class UpYunClient {
         return upyun;
     }
 
+    public String getUrlPrefix() {
+        if (StringUtils.isNotBlank(upYunProperty.getFileUrl()) && StringUtils.isNotBlank(upYunProperty.getUploadUrl())) {
+            return upYunProperty.getFileUrl() + upYunProperty.getUploadUrl();
+        }
+        return "";
+    }
+
     public UpYunProperty getProperty() {
         return upYunProperty;
     }

+ 6 - 1
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/PrintingTemplateServiceImpl.java

@@ -10,6 +10,7 @@ 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.jpa.SearchBuilder;
 import cn.com.qmth.examcloud.core.print.common.jpa.SpecUtils;
+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.entity.PrintingTemplate;
 import cn.com.qmth.examcloud.core.print.enums.TemplateType;
@@ -36,6 +37,8 @@ public class PrintingTemplateServiceImpl implements PrintingTemplateService {
     private static final Logger log = LoggerFactory.getLogger(PrintingTemplateServiceImpl.class);
     @Autowired
     private PrintingTemplateRepository printingTemplateRepository;
+    @Autowired
+    private UpYunClient upYunClient;
 
     @Override
     public List<PrintingTemplateInfo> getPrintingTemplateList(Long orgId, Long examId) {
@@ -63,7 +66,6 @@ public class PrintingTemplateServiceImpl implements PrintingTemplateService {
         Check.isNull(info.getExamId(), "考试ID不能为空!");
         Check.isNull(info.getTemplateType(), "模板类型不能为空!");
         Check.isFalse(TemplateType.isExist(info.getTemplateType()), "模板类型不正确!");
-        Check.isNull(info.getFileName(), "模板文件名不能为空!");
         Check.isNull(info.getFileUrl(), "模板文件地址不能为空!");
 
         SearchBuilder searches = new SearchBuilder()
@@ -72,6 +74,9 @@ public class PrintingTemplateServiceImpl implements PrintingTemplateService {
                 .eq("templateType", info.getTemplateType());
         Specification<PrintingTemplate> spec = SpecUtils.buildSearchers(PrintingTemplate.class, searches.build());
 
+        //截取文件名
+        info.setFileName(info.getFileUrl().replace(upYunClient.getUrlPrefix(), ""));
+
         //某学校考试下一种模板类型只有一条记录
         PrintingTemplate template = printingTemplateRepository.findOne(spec);
         if (template != null) {