浏览代码

Merge branch 'dev_v3.1.0' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev_v3.1.0

xiaof 3 年之前
父节点
当前提交
d7d35f70cf
共有 15 个文件被更改,包括 189 次插入42 次删除
  1. 12 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java
  2. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBSyncTaskServiceImpl.java
  3. 8 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java
  4. 6 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java
  5. 0 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/GradeBatchController.java
  6. 6 4
      distributed-print/src/main/resources/application-dev.properties
  7. 33 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  8. 9 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AttachmentCommonServiceImpl.java
  9. 14 13
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java
  10. 4 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/CloudMarkingTaskUtils.java
  11. 58 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/params/PublishParams.java
  12. 1 1
      teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml
  13. 29 0
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/OpenApiController.java
  14. 4 3
      teachcloud-report/src/main/resources/application-dev.properties
  15. 4 4
      teachcloud-task/src/main/resources/application-task.properties

+ 12 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java

@@ -28,6 +28,7 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
 import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
+import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
 import com.qmth.teachcloud.common.util.ResultUtil;
@@ -71,10 +72,20 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
     @Resource
     GradeBatchStudentService gradeBatchStudentService;
 
+    @Resource
+    TeachcloudCommonService teachcloudCommonService;
+
     @Override
     public IPage<GradeBatchResult> gradeBatchPage(String batchName, int pageNumber, int pageSize, SysUser requestUser) {
         batchName = SystemConstant.translateSpecificSign(batchName);
-        return this.baseMapper.findGradeBatchPage(new Page<>(pageNumber, pageSize), batchName, requestUser.getSchoolId());
+        IPage<GradeBatchResult> page = this.baseMapper.findGradeBatchPage(new Page<>(pageNumber, pageSize), batchName, requestUser.getSchoolId());
+        for (GradeBatchResult record : page.getRecords()) {
+            String txtPath = record.getReportFilePath();
+            if (SystemConstant.strNotNull(txtPath)){
+                record.setReportFilePath(teachcloudCommonService.filePreview(txtPath));
+            }
+        }
+        return page;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBSyncTaskServiceImpl.java

@@ -114,7 +114,7 @@ public class TBSyncTaskServiceImpl extends ServiceImpl<TBSyncTaskMapper, TBSyncT
     public IPage<SyncListResult> query(Long schoolId, TaskStatusEnum status, PushTypeEnum type, TaskResultEnum result, int pageNumber, int pageSize) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        ;
+
         IPage<SyncListResult> page = this.baseMapper.query(new Page<>(pageNumber, pageSize), schoolId, status, type, result, sysUser.getId(), orgIds);
         List<SyncListResult> list = page.getRecords();
         for (SyncListResult syncListResult : list) {

+ 8 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -28,6 +28,7 @@ import com.qmth.teachcloud.common.annotation.ExcelDBFieldDesc;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.bean.dto.excel.*;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
+import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.*;
@@ -177,6 +178,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     @Resource
     private TeachClazzService teachClazzService;
 
+    @Resource
+    DictionaryConfig dictionaryConfig;
+
     /**
      * 创建pdf前置条件
      *
@@ -399,7 +403,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                                 int mod = seq % examTaskDetail.getDrawCount();
                                 String tempPaperType = paperTypes.get(mod);
                                 BasicAttachment basicAttachment = createPdfUtil.examStudentHtml(cardContent, null, tempPaperType, examDetail, examDetailCourse, sysUser.getId(), studentCardPdfList, basicCardRule);
-                                ;
+
                                 if (!stringBasicAttachmentMap.containsKey(tempPaperType)) {
                                     stringBasicAttachmentMap.put(tempPaperType, basicAttachment);
                                     JSONObject object = new JSONObject();
@@ -597,7 +601,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
 //            createPdfUtil.deleteAttachment(attachmentIds, ftlList);
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
-            basicAttachmentService.batchDeleteAttachment(basicAttachmentList);
+            if (Objects.nonNull(dictionaryConfig.sysDomain()) && dictionaryConfig.sysDomain().isOss()) {
+                basicAttachmentService.batchDeleteAttachment(basicAttachmentList);
+            }
             if (e instanceof ApiException) {
                 ResultUtil.error((ApiException) e, e.getMessage());
             } else {

+ 6 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -833,13 +833,15 @@ public class CreatePdfUtil {
             fileStoreUtil.ossUpload(dirNameCardA3, localA3PdfCardFile, DigestUtils.md5Hex(new FileInputStream(localA3PdfCardFile)), fileStoreUtil.getUploadEnumByPath(dirNameCardA3).getFssType());
             localA3PdfCardFile.delete();
         }
-        if (Objects.nonNull(localA4PdfFile)) {
+        if (Objects.nonNull(localA4PdfFile) && oss) {
             localA4PdfFile.delete();
         }
         //删除题卡临时文件
-        for (PdfDto pdfDto : mergePdfDeleteList) {
-            if (Objects.nonNull(pdfDto)) {
-                new File(pdfDto.getPath()).delete();
+        if (oss) {
+            for (PdfDto pdfDto : mergePdfDeleteList) {
+                if (Objects.nonNull(pdfDto)) {
+                    new File(pdfDto.getPath()).delete();
+                }
             }
         }
 //        for (PdfDto pdfDto : mergePdfA3List) {

+ 0 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/GradeBatchController.java

@@ -1,7 +1,5 @@
 package com.qmth.distributed.print.api;
 
-import com.qmth.boot.api.annotation.Aac;
-import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchParam;
 import com.qmth.distributed.print.business.bean.result.EditResult;

+ 6 - 4
distributed-print/src/main/resources/application-dev.properties

@@ -66,8 +66,10 @@ sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,
 sys.config.attachmentLength=100
 sys.config.attachmentSize=200
 sys.config.serverUpload=
-sys.config.fileHost=localhost:7001
-sys.config.serverHost=localhost:7001
+#sys.config.fileHost=localhost:7001
+#sys.config.serverHost=localhost:7001
+sys.config.fileHost=http://*.teachcloud-print-wl-test.cn
+sys.config.serverHost=http://*.teachcloud-print-wl-test.cn
 #sys.config.accessKey=0bce69d94a7b4aef8bc0badf150351a9
 #sys.config.accessSecret=LdUwb5X4etmjW7fDn0KAdoXG0Yt7AkDu
 sys.config.accessKey=274f823e5f59410f8b3bb6edcd8e2b6e
@@ -131,8 +133,8 @@ com.qmth.logging.file-path=/Users/king/Downloads/distributed-print.log
 #spring.profiles.include=task
 
 #\uFFFD\uFFFD\uFFFD\u013E\uFFFD\uFFFD\uFFFD\uFFFDurl
-#sync.config.hostUrl=http://192.168.10.224:80
-sync.config.hostUrl=http://localhost:8081
+sync.config.hostUrl=http://192.168.10.224:80
+#sync.config.hostUrl=http://localhost:8081
 #\u036C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
 sync.config.examSaveUrl=/api/exam/save
 #\u036C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD

+ 33 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -4,9 +4,11 @@ import com.qmth.boot.core.uid.service.UidService;
 import com.qmth.teachcloud.common.annotation.DBVerify;
 import com.qmth.teachcloud.common.bean.result.DBVerifyResult;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
+import com.qmth.teachcloud.common.entity.BasicSchool;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.TFCustomTypeEnum;
+import com.qmth.teachcloud.common.service.CommonCacheService;
 import com.qmth.teachcloud.common.util.Base64Util;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.cglib.beans.BeanMap;
@@ -59,7 +61,6 @@ public class SystemConstant {
     public static final String OSS = "oss";
     public static final String LOGO = "logo";
     public static final String UPLOAD_TYPE = "uploadType";
-    public static final String HTTP = "http://";
     public static final String ID = "id";
     public static final String MODEL = "model";
     public static final String VERSION = "version";
@@ -603,4 +604,35 @@ public class SystemConstant {
         beanMap.putAll(map);
         return bean;
     }
+
+    /**
+     * 获取本地文件host
+     *
+     * @param hostUrl
+     * @return
+     */
+    public static String getLocalFileHost(String hostUrl) {
+        CommonCacheService commonCacheService = SpringContextHolder.getBean(CommonCacheService.class);
+        if (hostUrl.contains("*")) {
+            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+            BasicSchool basicSchool = commonCacheService.schoolCache(sysUser.getSchoolId());
+            hostUrl = hostUrl.replace("*", basicSchool.getCode());
+        }
+        return hostUrl;
+    }
+
+    /**
+     * 获取本地文件路径
+     *
+     * @param filePath
+     * @return
+     */
+    public static String getLocalFilePath(String filePath) {
+        if (filePath.contains(SystemConstant.FILE_TEMP)) {
+            filePath = filePath.substring(filePath.indexOf(SystemConstant.FILE_TEMP), filePath.length());
+        } else if (filePath.contains(SystemConstant.PDF_TEMP)) {
+            filePath = filePath.substring(filePath.indexOf(SystemConstant.PDF_TEMP), filePath.length());
+        }
+        return filePath;
+    }
 }

+ 9 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AttachmentCommonServiceImpl.java

@@ -21,7 +21,6 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -62,7 +61,9 @@ public class AttachmentCommonServiceImpl implements AttachmentCommonService {
         String filePath = (String) jsonObject.get(SystemConstant.PATH);
         UploadFileEnum uploadFileEnum = UploadFileEnum.valueOf((String) jsonObject.get(SystemConstant.UPLOAD_TYPE));
         if (Objects.equals(attachmentType, SystemConstant.LOCAL)) {
-            url = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
+            String hostUrl = SystemConstant.getLocalFileHost(dictionaryConfig.sysDomain().getFileHost());
+            filePath = SystemConstant.getLocalFilePath(filePath);
+            url = hostUrl + File.separator + filePath;
         } else {
             url = fileStoreUtil.getPrivateUrl(filePath, uploadFileEnum.getFssType());
         }
@@ -85,7 +86,9 @@ public class AttachmentCommonServiceImpl implements AttachmentCommonService {
 
         String pathUrl;
         if (Objects.equals(type, SystemConstant.LOCAL)) {
-            pathUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + path;
+            String hostUrl = SystemConstant.getLocalFileHost(dictionaryConfig.sysDomain().getFileHost());
+            path = SystemConstant.getLocalFilePath(path);
+            pathUrl = hostUrl + File.separator + path;
         } else {
             pathUrl = fileStoreUtil.getPrivateUrl(path, fileStoreUtil.getUploadEnumByPath(path).getFssType());
 
@@ -116,7 +119,9 @@ public class AttachmentCommonServiceImpl implements AttachmentCommonService {
         UploadFileEnum uploadFileEnum = jsonObject.get(SystemConstant.UPLOAD_TYPE).toString().contains(UploadFileEnum.HTML.name()) ? UploadFileEnum.HTML : UploadFileEnum.valueOf((String) jsonObject.get(SystemConstant.UPLOAD_TYPE));
 
         if (Objects.equals(attachmentType, SystemConstant.LOCAL)) {
-            pathUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
+            String hostUrl = SystemConstant.getLocalFileHost(dictionaryConfig.sysDomain().getFileHost());
+            filePath = SystemConstant.getLocalFilePath(filePath);
+            pathUrl = hostUrl + File.separator + filePath;
         } else {
             pathUrl = fileStoreUtil.getPrivateUrl(filePath, uploadFileEnum.getFssType());
         }

+ 14 - 13
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -120,9 +120,13 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         }
         Set<Long> privilegeIds = sysRolePrivilegeList.stream().map(s -> s.getPrivilegeId()).collect(Collectors.toSet());
         QueryWrapper<SysPrivilege> sysPrivilegeQueryWrapper = new QueryWrapper<>();
-        sysPrivilegeQueryWrapper.lambda().in(SysPrivilege::getId, privilegeIds)
+        sysPrivilegeQueryWrapper.lambda()
                 .eq(SysPrivilege::getEnable, true).eq(SysPrivilege::getFrontDisplay, true)
                 .orderByAsc(SysPrivilege::getSequence);
+
+        if (!privilegeIds.isEmpty()){
+            sysPrivilegeQueryWrapper.lambda().in(SysPrivilege::getId, privilegeIds);
+        }
         List<SysPrivilege> sysPrivilegeList = sysPrivilegeService.list(sysPrivilegeQueryWrapper);
         Gson gson = new Gson();
         List<MenuDto> menuDtoList = gson.fromJson(JacksonUtil.parseJson(sysPrivilegeList), new TypeToken<List<MenuDto>>() {
@@ -585,15 +589,11 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         String filePath = (String) jsonObject.get(SystemConstant.PATH);
         UploadFileEnum uploadFileEnum = UploadFileEnum.valueOf((String) jsonObject.get(SystemConstant.UPLOAD_TYPE));
         if (Objects.equals(attachmentType, SystemConstant.LOCAL)) {
-            url = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
+            String hostUrl = SystemConstant.getLocalFileHost(dictionaryConfig.sysDomain().getFileHost());
+            filePath = SystemConstant.getLocalFilePath(filePath);
+            url = hostUrl + File.separator + filePath;
         } else {
-//            if (uploadFileEnum == UploadFileEnum.PAPER) {
-//                url = ossUtil.getPrivateUrl(filePath);
             url = fileStoreUtil.getPrivateUrl(filePath, uploadFileEnum.getFssType());
-//            } else {
-//                url = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + filePath;
-//                url = fileStoreUtil.getPrivateUrl(filePath, uploadFileEnum.getFssType());
-//            }
         }
         return url;
     }
@@ -611,16 +611,15 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         if (StringUtils.isBlank(path)) {
             return null;
         }
-
         String pathUrl;
         if (Objects.equals(type, SystemConstant.LOCAL)) {
-            pathUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + path;
+            String hostUrl = SystemConstant.getLocalFileHost(dictionaryConfig.sysDomain().getFileHost());
+            path = SystemConstant.getLocalFilePath(path);
+            pathUrl = hostUrl + File.separator + path;
         } else {
             if (isExpire) {
-//                pathUrl = ossUtil.getPrivateUrl(path);
                 pathUrl = fileStoreUtil.getPrivateUrl(path, fileStoreUtil.getUploadEnumByPath(path).getFssType());
             } else {
-//                pathUrl = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + path;
                 pathUrl = fileStoreUtil.getPrivateUrl(path, fileStoreUtil.getUploadEnumByPath(path).getFssType());
             }
 
@@ -651,7 +650,9 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         UploadFileEnum uploadFileEnum = jsonObject.get(SystemConstant.UPLOAD_TYPE).toString().contains(UploadFileEnum.HTML.name()) ? UploadFileEnum.HTML : UploadFileEnum.valueOf((String) jsonObject.get(SystemConstant.UPLOAD_TYPE));
 
         if (Objects.equals(attachmentType, SystemConstant.LOCAL)) {
-            pathUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
+            String hostUrl = SystemConstant.getLocalFileHost(dictionaryConfig.sysDomain().getFileHost());
+            filePath = SystemConstant.getLocalFilePath(filePath);
+            pathUrl = hostUrl + File.separator + filePath;
         } else {
             pathUrl = fileStoreUtil.getPrivateUrl(filePath, uploadFileEnum.getFssType());
         }

+ 4 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/CloudMarkingTaskUtils.java

@@ -237,8 +237,10 @@ public class CloudMarkingTaskUtils {
         } catch (Exception e) {
             throw ExceptionResultEnum.ERROR.exception(e.getMessage());
         } finally {
-            if (file != null && file.exists()) {
-                file.delete();
+            if (Objects.nonNull(dictionaryConfig.sysDomain()) && dictionaryConfig.sysDomain().isOss()) {
+                if (file != null && file.exists()) {
+                    file.delete();
+                }
             }
         }
         return "";

+ 58 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/params/PublishParams.java

@@ -0,0 +1,58 @@
+package com.qmth.teachcloud.report.business.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Optional;
+
+/**
+ * @Description: 开放接口 - 发布报告参数
+ * @Author: CaoZixuan
+ * @Date: 2022-06-16
+ */
+public class PublishParams {
+    @ApiModelProperty(value = "考试id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+
+    @ApiModelProperty(value = "课程编号")
+    private String courseCode;
+
+    @ApiModelProperty(value = "发布状态 true:发布 false:撤回发布")
+    private Boolean publishStatus;
+
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public Boolean getPublishStatus() {
+        return publishStatus;
+    }
+
+    public void setPublishStatus(Boolean publishStatus) {
+        this.publishStatus = publishStatus;
+    }
+
+    /**
+     * 参数校验
+     */
+    public void validParams() {
+        Optional.ofNullable(this.getExamId()).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("考试id为空"));
+        Optional.ofNullable(this.getCourseCode()).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("课程编码为空"));
+        Optional.ofNullable(this.getPublishStatus()).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("发布状态为空"));
+    }
+}

+ 1 - 1
teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml

@@ -342,7 +342,7 @@
             t_b_exam_student a
                 LEFT JOIN
             t_b_exam b ON a.exam_id = b.id
-            join basic_semester bs on bs.id = d.semester_id
+            join basic_semester bs on bs.id = b.semester_id
         <where>
             and b.school_id = #{schoolId}
             and a.student_code = #{studentCode}

+ 29 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/OpenApiController.java

@@ -16,7 +16,10 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.report.business.bean.params.CalculateParams;
 import com.qmth.teachcloud.report.business.bean.params.CourseParam;
+import com.qmth.teachcloud.report.business.bean.params.PublishParams;
 import com.qmth.teachcloud.report.business.bean.params.TBExamParam;
+import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
+import com.qmth.teachcloud.report.business.service.AnalyzeForReportService;
 import com.qmth.teachcloud.report.business.service.TBExamCourseService;
 import com.qmth.teachcloud.report.business.service.TBExamService;
 import com.qmth.teachcloud.report.business.templete.strategy.CourseCodeSyncTaskService;
@@ -66,6 +69,9 @@ public class OpenApiController {
     @Resource
     CourseCodeSyncTaskService courseCodeSyncTaskService;
 
+    @Resource
+    AnalyzeForReportService analyzeForReportService;
+
     @ApiOperation(value = "学期创建/更新接口")
     @ApiResponses({@ApiResponse(code = 200, message = "学期创建/更新接口", response = Object.class)})
     @RequestMapping(value = "/semester_edit", method = RequestMethod.POST)
@@ -134,6 +140,29 @@ public class OpenApiController {
         return ResultUtil.ok(true);
     }
 
+    @ApiOperation(value = "发布报告接口")
+    @ApiResponses({@ApiResponse(code = 200, message = "发布报告接口", response = Object.class)})
+    @RequestMapping(value = "/publish", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
+    public Result publish(@ApiParam(value = "发布报告接口", required = true) @RequestBody String result) throws IOException {
+        Optional.ofNullable(result).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("数据为空"));
+        String decodeJson = URLDecoder.decode(result, SystemConstant.CHARSET_NAME);
+        log.info("calculate进来了,result:{}", decodeJson);
+        PublishParams publishParams = JacksonUtil.readJson(decodeJson, PublishParams.class);
+        publishParams.validParams();
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+
+        Boolean publishStatus = publishParams.getPublishStatus();
+        PublishStatusEnum publishStatusEnum;
+        if (publishStatus){
+            publishStatusEnum = PublishStatusEnum.PUBLISH;
+        }else {
+            publishStatusEnum = PublishStatusEnum.UN_PUBLISH;
+        }
+        analyzeForReportService.publishReport(publishParams.getExamId(),publishParams.getCourseCode(),publishStatusEnum);
+        return ResultUtil.ok(true);
+    }
+
 
     @ApiOperation(value = "生成课程(试卷)分析报告接口测试")
     @ApiResponses({@ApiResponse(code = 200, message = "生成课程(试卷)分析报告接口", response = Object.class)})

+ 4 - 3
teachcloud-report/src/main/resources/application-dev.properties

@@ -42,8 +42,8 @@ sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,
 sys.config.attachmentLength=100
 sys.config.attachmentSize=200
 sys.config.serverUpload=
-sys.config.fileHost=localhost:7004
-sys.config.serverHost=localhost:7004
+sys.config.fileHost=http://localhost:7004
+sys.config.serverHost=http://localhost:7004
 #sys.config.accessKey=0bce69d94a7b4aef8bc0badf150351a9
 #sys.config.accessSecret=LdUwb5X4etmjW7fDn0KAdoXG0Yt7AkDu
 sys.config.accessKey=274f823e5f59410f8b3bb6edcd8e2b6e
@@ -129,7 +129,8 @@ sms.config.aliyunSMSAuditWillExpireCode=SMS_217436302
 #\uFFFD\uFFFD\u02F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0368\u05AA
 sms.config.aliyunSMSAuditOverdueCode=SMS_217416271
 
-yun.mark.url=https://www.markingcloud.com
+#yun.mark.url=https://www.markingcloud.com
+yun.mark.url=http://192.168.10.224:80
 yun.mark.studentScoreApi=/api/exam/student/score
 
 print.open.hostUrl=http://192.168.10.86:7001

+ 4 - 4
teachcloud-task/src/main/resources/application-task.properties

@@ -67,8 +67,8 @@ sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,
 sys.config.attachmentLength=100
 sys.config.attachmentSize=200
 sys.config.serverUpload=
-sys.config.fileHost=localhost:7011
-sys.config.serverHost=localhost:7011
+sys.config.fileHost=http://*.teachcloud-print-wl-test.cn
+sys.config.serverHost=http://*.teachcloud-print-wl-test.cn
 #sys.config.accessKey=0bce69d94a7b4aef8bc0badf150351a9
 #sys.config.accessSecret=LdUwb5X4etmjW7fDn0KAdoXG0Yt7AkDu
 sys.config.accessKey=274f823e5f59410f8b3bb6edcd8e2b6e
@@ -131,8 +131,8 @@ spring.quartz.properties.org.quartz.threadPool.threadPriority=5
 
 #\u914D\u7F6E\u6587\u4EF6
 #spring.profiles=task
-#sync.config.hostUrl=http://192.168.10.224:80
-sync.config.hostUrl=http://192.168.10.225:8000
+sync.config.hostUrl=http://192.168.10.224:80
+#sync.config.hostUrl=http://192.168.10.225:8000
 sync.config.userSaveUrl=/api/user/external/save
 sync.config.groupSaveUrl=/api/exam/mark_group/save
 sync.config.groupCountUrl=/api/exam/mark_group/count