wangliang 1 year ago
parent
commit
1246b3e350

+ 14 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TCFinalScore.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.distributed.print.business.enums.SourceEnum;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -58,6 +59,9 @@ public class TCFinalScore implements Serializable {
     @ApiModelProperty(value = "是否启用,0:停用,1:启用")
     private Boolean enable;
 
+    @ApiModelProperty(value = "来源,EXCEL_IMPORT:excel导入,SYNC:数据同步")
+    private SourceEnum source;
+
     @ApiModelProperty(value = "创建人id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long createId;
@@ -76,12 +80,13 @@ public class TCFinalScore implements Serializable {
 
     }
 
-    public TCFinalScore(Long examId, String courseCode, String courseName, String paperNumber, Long userId) {
+    public TCFinalScore(Long examId, String courseCode, String courseName, String paperNumber, SourceEnum source, Long userId) {
         this.id = SystemConstant.getDbUuid();
         this.examId = examId;
         this.courseCode = courseCode;
         this.courseName = courseName;
         this.paperNumber = paperNumber;
+        this.source = source;
         this.enable = true;
         this.createId = userId;
         this.createTime = System.currentTimeMillis();
@@ -100,6 +105,14 @@ public class TCFinalScore implements Serializable {
         this.updateTime = System.currentTimeMillis();
     }
 
+    public SourceEnum getSource() {
+        return source;
+    }
+
+    public void setSource(SourceEnum source) {
+        this.source = source;
+    }
+
     public Long getId() {
         return id;
     }

+ 25 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/SourceEnum.java

@@ -0,0 +1,25 @@
+package com.qmth.distributed.print.business.enums;
+
+/**
+ * @Description: 来源enum
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2024/2/27
+ */
+public enum SourceEnum {
+
+    EXCEL_IMPORT("excel导入"),
+
+    SYNC("数据同步");
+
+    private String title;
+
+    private SourceEnum(String title) {
+        this.title = title;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+}

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

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.entity.TCFinalScore;
+import com.qmth.distributed.print.business.enums.SourceEnum;
 import com.qmth.distributed.print.business.mapper.TCFinalScoreMapper;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.service.TCFinalScoreService;
@@ -93,7 +94,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
                 Map<String, String> objectMap = list.get(i);
                 boolean error = false;
                 JSONArray jsonArray = new JSONArray();
-                TCFinalScore tcFinalScore = new TCFinalScore(examId, courseCode, markPaper.getCourseName(), paperNumber, sysUser.getId());
+                TCFinalScore tcFinalScore = new TCFinalScore(examId, courseCode, markPaper.getCourseName(), paperNumber, SourceEnum.EXCEL_IMPORT, sysUser.getId());
                 for (Map.Entry<String, String> entry : objectMap.entrySet()) {
                     JSONObject jsonObject = new JSONObject();
                     if (Objects.isNull(entry.getValue()) || Objects.equals(entry.getValue().trim(), "")) {

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

@@ -368,4 +368,7 @@ WHERE id=2006;
 
 INSERT INTO sys_privilege
 (id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
-VALUES(2030, '期末成绩-同步', '/api/admin/course/degree/final_score/sync', 'URL', 2006, 1, 'AUTH', NULL, 1, 1, 1);
+VALUES(2030, '期末成绩-同步', '/api/admin/course/degree/final_score/sync', 'URL', 2006, 1, 'AUTH', NULL, 1, 1, 1);
+
+ALTER TABLE t_c_final_score ADD source varchar(50) NULL COMMENT '来源,EXCEL_IMPORT:excel导入,SYNC:数据同步';
+ALTER TABLE t_c_final_score CHANGE source source varchar(50) NULL COMMENT '来源,EXCEL_IMPORT:excel导入,SYNC:数据同步' AFTER enable;

+ 14 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/TCFinalScoreController.java

@@ -97,13 +97,23 @@ public class TCFinalScoreController {
     @RequestMapping(value = "/final_score/import", method = RequestMethod.POST)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
     @ApiResponses({@ApiResponse(code = 200, message = "导入成功", response = EditResult.class)})
-    public Object finalScoreExamImport(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
-                                       @ApiParam(value = "考试id", required = true) @RequestParam Long examId,
-                                       @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
-                                       @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) throws IOException {
+    public Object finalScoreImport(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
+                                   @ApiParam(value = "考试id", required = true) @RequestParam Long examId,
+                                   @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+                                   @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) throws IOException {
         return ResultUtil.ok(tcFinalScoreService.finalScoreExcelImport(file, examId, courseCode, paperNumber));
     }
 
+    @ApiOperation(value = "同步期末成绩")
+    @RequestMapping(value = "/final_score/sync", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "同步成功", response = EditResult.class)})
+    public Object finalScoreSync(@ApiParam(value = "考试id", required = true) @RequestParam Long examId,
+                                 @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+                                 @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) throws IOException {
+        //TODO 待肖飞补充同步接口
+        return ResultUtil.ok(true);
+    }
+
     @ApiOperation(value = "期末成绩列表")
     @RequestMapping(value = "/final_score/list", method = RequestMethod.POST)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)