xiaofei před 1 rokem
rodič
revize
b3855b4a50

+ 18 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/upgrade/result/ClientInstallResult.java

@@ -2,6 +2,8 @@ package com.qmth.distributed.print.business.bean.upgrade.result;
 
 public class ClientInstallResult {
     private String url;
+    private Long installUploadTime;
+    private String fileName;
 
     public String getUrl() {
         return url;
@@ -10,4 +12,20 @@ public class ClientInstallResult {
     public void setUrl(String url) {
         this.url = url;
     }
+
+    public Long getInstallUploadTime() {
+        return installUploadTime;
+    }
+
+    public void setInstallUploadTime(Long installUploadTime) {
+        this.installUploadTime = installUploadTime;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
 }

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/upgrade/result/ClientUpgradeResult.java

@@ -5,6 +5,8 @@ public class ClientUpgradeResult {
     private Integer build;
     private Integer supportMin;
     private String index;
+    private Long upgradeUploadTime;
+
 
     public String getVersion() {
         return version;
@@ -37,4 +39,13 @@ public class ClientUpgradeResult {
     public void setIndex(String index) {
         this.index = index;
     }
+
+    public Long getUpgradeUploadTime() {
+        return upgradeUploadTime;
+    }
+
+    public void setUpgradeUploadTime(Long upgradeUploadTime) {
+        this.upgradeUploadTime = upgradeUploadTime;
+    }
+
 }

+ 20 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ClientUpgrade.java

@@ -43,6 +43,10 @@ public class ClientUpgrade implements Serializable {
 
     @ApiModelProperty(value = "mainfest.json保存地址")
     private String mainfestPath;
+    @ApiModelProperty(value = "安装包更新时间")
+    private Long installUploadTime;
+    @ApiModelProperty(value = "升级包更新时间")
+    private Long upgradeUploadTime;
 
     public ClientUpgrade() {
     }
@@ -107,6 +111,22 @@ public class ClientUpgrade implements Serializable {
         this.mainfestPath = mainfestPath;
     }
 
+    public Long getInstallUploadTime() {
+        return installUploadTime;
+    }
+
+    public void setInstallUploadTime(Long installUploadTime) {
+        this.installUploadTime = installUploadTime;
+    }
+
+    public Long getUpgradeUploadTime() {
+        return upgradeUploadTime;
+    }
+
+    public void setUpgradeUploadTime(Long upgradeUploadTime) {
+        this.upgradeUploadTime = upgradeUploadTime;
+    }
+
     @Override
     public String toString() {
         return "ClientUpgrade{" +

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

@@ -79,6 +79,7 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
                 String filePathName = buildPath(true, UploadFileEnum.UPGRADE.getTitle(), "release", platform) + fileName;
                 FilePathVo filePathVo = fileUploadService.uploadFile(file, UploadFileEnum.UPGRADE, filePathName, fileMd5);
                 clientUpgrade.setInstallPath(JSON.toJSONString(filePathVo));
+                clientUpgrade.setInstallUploadTime(System.currentTimeMillis());
             } else if (ClientPackageEnum.UPGRADE.equals(type)) {
                 // 读取指定文件内容mainfest.josn
                 String mainfestContent = readMainfest(file.getInputStream());
@@ -135,13 +136,14 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
                 for (String dataFileName : mainfest.getData()) {
                     uploadUpgradeZipFiles(version, build, zipReader, data, dataFileName);
                 }
+                clientUpgrade.setUpgradeUploadTime(System.currentTimeMillis());
             } else {
                 throw ExceptionResultEnum.ERROR.exception("请选择正确的包类型");
             }
             // 保存或更新
             this.saveOrUpdate(clientUpgrade);
         } catch (IOException e) {
-            throw new RuntimeException(e);
+            throw ExceptionResultEnum.ERROR.exception(type.getName() + "上传失败:" + e.getMessage());
         } finally {
             if (parentDirVar != null) {
                 FileUtil.deleteFile(parentDirVar);
@@ -190,6 +192,8 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
             prefix = fileUploadService.filePreviewPrefix(clientUpgrade.getInstallPath());
             String installUrl = JSON.parseObject(clientUpgrade.getInstallPath(), FilePathVo.class).getPath();
             clientInstallResult.setUrl(installUrl);
+            clientInstallResult.setInstallUploadTime(clientUpgrade.getInstallUploadTime());
+            clientInstallResult.setFileName(installUrl.substring(installUrl.lastIndexOf(SystemConstant.ORG_SPLIT) + 1));
         }
         clientResult.setInstall(clientInstallResult);
         if (StringUtils.isNotBlank(clientUpgrade.getMainfestPath())) {
@@ -201,6 +205,7 @@ public class ClientUpgradeServiceImpl extends ServiceImpl<ClientUpgradeMapper, C
             clientUpgradeResult.setSupportMin(clientUpgrade.getSupportMin());
             String indexUrl = JSON.parseObject(clientUpgrade.getMainfestPath(), FilePathVo.class).getPath();
             clientUpgradeResult.setIndex(indexUrl);
+            clientUpgradeResult.setUpgradeUploadTime(clientUpgrade.getUpgradeUploadTime());
         }
         clientResult.setUpgrade(clientUpgradeResult);
         clientResult.setPrefix(prefix);

+ 4 - 1
distributed-print/install/mysql/upgrade/3.3.1.sql

@@ -660,6 +660,8 @@ CREATE TABLE `client_upgrade` (
           `support_min` VARCHAR(45) NULL COMMENT '增量升级最低版本号,低于(含)此版本需要下载安装包重新安装',
           `upgrade_path` VARCHAR(200) NULL COMMENT '升级包保存地址',
           `mainfest_path` VARCHAR(200) NULL COMMENT 'mainfest.json文件保存路径',
+          `install_upload_time` BIGINT(20) NULL COMMENT '安装包更新时间',
+          `upgrade_upload_time` BIGINT(20) NULL COMMENT '升级包更新时间',
           PRIMARY KEY (`platform`));
 
 ALTER TABLE `mark_question`
@@ -685,4 +687,5 @@ UPDATE `sys_privilege` SET `enable` = '0', `front_display` = '0' WHERE (`id` = '
 -- 2024/03/26
 ALTER TABLE `mark_subjective_score` CHANGE COLUMN `sub_number` `sub_number` INT(11) NOT NULL COMMENT '小题号' ;
 
--- 2024/03/27
+-- 2024/03/28
+DELETE FROM t_b_task where type in ('STUDENT_IMPORT', 'CLAZZ_IMPORT', 'CREATE_PDF');

+ 1 - 22
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/TaskTypeEnum.java

@@ -11,41 +11,20 @@ import java.util.Objects;
  */
 public enum TaskTypeEnum {
     USER_IMPORT("用户导入"),
-
-    BASIC_EXAM_STUDENT_IMPORT("考生字典导入"),
-
-    STUDENT_IMPORT("学生导入"),
-
+    BASIC_EXAM_STUDENT_IMPORT("考生导入"),
     MARK_STUDENT_IMPORT("阅卷数据导入"),
-
     COURSE_DIMENSION_IMPORT("课程知识点导入"),
-
-    CLAZZ_IMPORT("班级导入"),
-
     QUESTION_MISSION_BATCH_CREATE("批量新建命题任务"),
-
     SAMPLE_EXPORT("导出审核样本"),
-
     EXAMINATION_IMPORT("考务数据导入"),
-
     EXAMINATION_EXPORT("考务数据导出"),
-
     PRINT_PDF_DOWNLOAD("批量下载pdf"),
-
     PAPER_AND_CARD_PDF_DOWNLOAD("卷库查询管理试卷、空白题卡批量下载pdf"),
-
-    CREATE_PDF("生成pdf"),
-
     DATA_CALCULATE("数据计算"),
-
     CREATE_TASK_PRINT("发布印刷任务"),
-
     STATISTICS_IMPORT("命题统计导入"),
-
     SCORE_EXPORT("成绩导出"),
-
     SCORE_DOWNLOAD("成绩轨迹下载"),
-
     DOWNLOAD_PAPER_FILE_BATCH("批量下载试卷文件");
 
     private String title;

+ 4 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -1525,9 +1525,9 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
         MarkStudent markStudent = this.findByExamIdAndPaperNumberAndStudentCode(basicExamStudent.getExamId(), basicExamStudent.getPaperNumber(), basicExamStudent.getStudentCode());
         BasicCourse basicCourse = basicCourseService.getByCode(basicExamStudent.getCourseCode());
         BasicTeachClazz basicTeachClazz = this.baseMapper.getBasicTeachClazzById(basicExamStudent.getClazzId());
+        SysUser sysUser = sysUserService.getById(basicExamStudent.getTeacherId());
         if (markStudent == null) {
-            SysUser sysUser = sysUserService.getById(basicExamStudent.getTeacherId());
-            markStudent = new MarkStudent(basicExamStudent.getId(), basicExamStudent.getExamId(), basicExamStudent.getCourseCode(), basicCourse.getName(), basicExamStudent.getPaperNumber(), markPaper.getCoursePaperId(), "A", basicExamStudent.getStudentCode(), basicExamStudent.getStudentName(), "", basicExamStudent.getExamPlace(), basicExamStudent.getExamRoom(), basicExamStudent.getCollege(), basicExamStudent.getMajor(), basicTeachClazz.getClazzName(), sysUser == null ? null : sysUser.getRealName(), basicExamStudent.getExamStartTime(), basicExamStudent.getExamEndTime(), markPaper.getUserId());
+            markStudent = new MarkStudent(basicExamStudent.getId(), basicExamStudent.getExamId(), basicExamStudent.getCourseCode(), basicCourse == null ? null : basicCourse.getName(), basicExamStudent.getPaperNumber(), markPaper.getCoursePaperId(), "A", basicExamStudent.getStudentCode(), basicExamStudent.getStudentName(), "", basicExamStudent.getExamPlace(), basicExamStudent.getExamRoom(), basicExamStudent.getCollege(), basicExamStudent.getMajor(), basicTeachClazz == null ? null : basicTeachClazz.getClazzName(), sysUser == null ? null : sysUser.getRealName(), basicExamStudent.getExamStartTime(), basicExamStudent.getExamEndTime(), markPaper.getUserId());
             if (markStudent.getSecretNumber() == null) {
                 markStudent.randomSecretNumber();
                 while (secretNumberSet.contains(markStudent.getSecretNumber())
@@ -1539,9 +1539,10 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
             markStudent.setStudentName(basicExamStudent.getStudentName());
             markStudent.setCollege(basicExamStudent.getCollege());
             markStudent.setMajorName(basicExamStudent.getMajor());
-            markStudent.setClassName(basicTeachClazz.getClazzName());
+            markStudent.setClassName(basicTeachClazz == null ? null : basicTeachClazz.getClazzName());
             markStudent.setExamPlace(basicExamStudent.getExamPlace());
             markStudent.setExamRoom(basicExamStudent.getExamRoom());
+            markStudent.setTeacher(sysUser == null ? null : sysUser.getRealName());
         }
         this.saveOrUpdate(markStudent);
     }