caozixuan 1 年之前
父节点
当前提交
890b2ddaa0

+ 12 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/CourseWeightDetailDto.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.bean.dto;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -33,6 +34,9 @@ public class CourseWeightDetailDto {
     @ApiModelProperty("目标分值")
     private BigDecimal targetScore;
 
+    @ApiModelProperty("评价方式类型")
+    private CourseEvaluationTypeEnum evaluationType;
+
     public CourseWeightDetailDto() {
 
     }
@@ -92,4 +96,12 @@ public class CourseWeightDetailDto {
     public void setEvaluationDesc(String evaluationDesc) {
         this.evaluationDesc = evaluationDesc;
     }
+
+    public CourseEvaluationTypeEnum getEvaluationType() {
+        return evaluationType;
+    }
+
+    public void setEvaluationType(CourseEvaluationTypeEnum evaluationType) {
+        this.evaluationType = evaluationType;
+    }
 }

+ 9 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/CourseEvaluationTypeEnum.java

@@ -6,7 +6,7 @@ package com.qmth.distributed.print.business.enums;
  * @Date: 2024-02-28
  */
 public enum CourseEvaluationTypeEnum {
-    DEFAULT("默认", "期末成绩", "按阅卷功能模块里的卷面成绩计算"), CUSTOM("自定义", "自定义", "");
+    DEFAULT("默认", "期末成绩", "按阅卷功能模块里的卷面成绩计算", 0), CUSTOM("自定义", "自定义", "", 1);
 
     private final String type;
 
@@ -14,10 +14,13 @@ public enum CourseEvaluationTypeEnum {
 
     private final String value;
 
-    CourseEvaluationTypeEnum(String type, String name, String value) {
+    private final int index;
+
+    CourseEvaluationTypeEnum(String type, String name, String value, int index) {
         this.type = type;
         this.name = name;
         this.value = value;
+        this.index = index;
     }
 
     public String getType() {
@@ -31,4 +34,8 @@ public enum CourseEvaluationTypeEnum {
     public String getValue() {
         return value;
     }
+
+    public int getIndex() {
+        return index;
+    }
 }

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

@@ -50,7 +50,7 @@ public class CourseTargetServiceImpl extends ServiceImpl<CourseTargetMapper, Cou
         TeachCourse teachCourse = teachCourseService.findByExamIdCourseCodeAndUserId(examId, courseCode, userId);
         Long teachCourseId = teachCourse.getId();
         List<CourseTarget> courseTargetList = this.list(
-                new QueryWrapper<CourseTarget>().lambda().eq(CourseTarget::getTeachCourseId, teachCourse.getId()));
+                new QueryWrapper<CourseTarget>().lambda().eq(CourseTarget::getTeachCourseId, teachCourse.getId()).orderByAsc(CourseTarget::getId));
 
         List<CourseDimension> courseDimensionList = courseDimensionService.list(
                 new QueryWrapper<CourseDimension>().lambda().eq(CourseDimension::getTeachCourseId, teachCourseId));

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

@@ -67,7 +67,13 @@ public class CourseWeightServiceImpl extends ServiceImpl<CourseWeightMapper, Cou
         List<CourseTargetResult> courseTargetList = courseTargetService.findCourseTargetList(examId, courseCode, userId);
         // 现有评价方式
         List<CourseEvaluationResult> courseEvaluationResultList = courseEvaluationService.findCourseEvaluationList(
-                examId, courseCode, userId);
+                examId, courseCode, userId).stream().sorted((o1, o2) -> {
+            if (o1.getType().getIndex() == o2.getType().getIndex()) {
+                return o1.getEvaluationId() < o2.getEvaluationId() ? -1 : 0;
+            } else {
+                return o2.getType().getIndex() - o1.getType().getIndex();
+            }
+        }).collect(Collectors.toList());
         // 现有权重
         List<CourseWeight> courseWeightList = this.list(
                 new QueryWrapper<CourseWeight>().lambda().eq(CourseWeight::getTeachCourseId, teachCourseId));

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

@@ -239,7 +239,7 @@ public class SsoServiceImpl implements SsoService {
         questionLoginUrl = questionLoginUrl + SystemConstant.TIKU_CAS_ADMIN_LOGIN_OPEN_API;
         String path = SystemConstant.TIKU_SSO_LOGIN_API;
 
-        String signature = SignatureEntity.build(SignatureType.SECRET, SystemConstant.GET, path, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
+        String signature = SignatureEntity.build(SignatureType.SECRET, SystemConstant.POST, path, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
         signature = URLEncoder.encode(signature, SystemConstant.CHARSET_NAME);
 
         Long userId = sysUser.getId();

+ 1 - 0
distributed-print-business/src/main/resources/mapper/CourseEvaluationMapper.xml

@@ -16,5 +16,6 @@
                 AND teach_course_id = #{teachCourseId}
             </if>
         </where>
+        ORDER BY id ASC
     </select>
 </mapper>

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicExamStudentController.java

@@ -87,7 +87,7 @@ public class BasicExamStudentController {
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
     public Result basicExamStudentImportSync(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
             @ApiParam(value = "考试id", required = true) @RequestParam String examId) throws Exception {
-        Map<String, Object> map = printCommonService.saveTask(SystemConstant.convertIdToLong(examId), TaskTypeEnum.STUDENT_IMPORT);
+        Map<String, Object> map = printCommonService.saveTask(file,SystemConstant.convertIdToLong(examId), TaskTypeEnum.STUDENT_IMPORT);
         map.put("examId", SystemConstant.convertIdToLong(examId));
         return syncBasicExamStudentImportService.importTask(map);
     }

+ 11 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/CourseTargetController.java

@@ -6,6 +6,7 @@ import com.qmth.distributed.print.business.bean.result.CourseDimensionTree;
 import com.qmth.distributed.print.business.bean.result.CourseTargetResult;
 import com.qmth.distributed.print.business.service.CourseDimensionService;
 import com.qmth.distributed.print.business.service.CourseTargetService;
+import com.qmth.distributed.print.business.templete.importData.SyncImportTaskTemplate;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -14,6 +15,8 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -34,6 +37,7 @@ import java.io.IOException;
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_TEACH + "/course_target")
 public class CourseTargetController {
+    private final static Logger log = LoggerFactory.getLogger(CourseTargetController.class);
 
     @Resource
     private CourseTargetService courseTargetService;
@@ -81,7 +85,13 @@ public class CourseTargetController {
     public Result findDimensionTree(@ApiParam(value = "学期id") @RequestParam(required = false) String examId,
             @ApiParam(value = "考试id") @RequestParam(required = false) String courseCode) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        courseDimensionService.syncTikuCourseProperties(SystemConstant.convertIdToLong(examId), courseCode, requestUser.getId());
+        try {
+            courseDimensionService.syncTikuCourseProperties(SystemConstant.convertIdToLong(examId), courseCode,
+                    requestUser.getId());
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+
         return ResultUtil.ok(courseTargetService.findDimensionTree(SystemConstant.convertIdToLong(examId), courseCode,
                 requestUser.getId()));
     }

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

@@ -322,6 +322,7 @@ public class SystemConstant {
     public static final String EXCEL_PROTECT_KEY = "Qmth87863577";
     public static final String ZIP_ENCRYPT_PWD = "qmthzip";
     public static final String GET = "get";
+    public static final String POST = "post";
     public static final String PARAMS = "params";
     public static final String RETURN_URL = "returnUrl";
     public static final String SIGNATURE = "signature";

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/kit/TikuUtils.java

@@ -198,7 +198,7 @@ public class TikuUtils {
      */
     private void validUrl(String... urls) {
         if (StringUtils.isAnyBlank(urls)) {
-            throw ExceptionResultEnum.ERROR.exception("教研分析同步接口未正确配置");
+            throw ExceptionResultEnum.ERROR.exception("独立题库同步接口未正确配置");
         }
     }
 }