wangliang 4 år sedan
förälder
incheckning
7119b73657

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

@@ -638,7 +638,7 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         Set<RoleTypeEnum> roleType = authBean.getRoleList().stream().map(s -> s.getType()).collect(Collectors.toSet());
         String sessionId = SessionUtil.digest(sysUser.getId(), Math.abs(roleType.toString().hashCode()), platform.name());
         //TODO 测试用
-        String test = SignatureEntityTest.build(SignatureType.TOKEN, sessionId, token);
+//        String test = SignatureEntityTest.build(SignatureType.TOKEN, sessionId, token);
         ExpireTimeBean expireTime = AuthUtil.getExpireTime(platform);
         TBSession tbSession = new TBSession(sessionId, String.valueOf(sysUser.getId()), roleType.toString(),
                 platform.name(), platform.name(), deviceId, ServletUtil.getRequest().getLocalAddr(), token,
@@ -646,8 +646,8 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         tbSessionService.saveOrUpdate(tbSession);
         redisUtil.setUserSession(sessionId, tbSession, expireTime.getExpireSeconds());
 
-        LoginResult loginResult = new LoginResult(sysUser, sessionId, test, roleType);
-//        LoginResult loginResult = new LoginResult(sysUser, sessionId, token, roleType);
+//        LoginResult loginResult = new LoginResult(sysUser, sessionId, test, roleType);
+        LoginResult loginResult = new LoginResult(sysUser, sessionId, token, roleType);
         loginResult.setSchoolInfo(Objects.nonNull(authBean.getSchool()) ? loginResult.new SchoolNativeBean(authBean.getSchool()) : null);
         loginResult.setOrgInfo(Objects.nonNull(authBean.getOrg()) ? loginResult.new OrgNativeBean(authBean.getOrg()) : null);
         loginResult.setTime(System.currentTimeMillis());

+ 19 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/DimensionInfoResult.java

@@ -30,6 +30,9 @@ public class DimensionInfoResult implements Serializable {
     @ApiModelProperty(value = "学院得分率")
     private String colScoreRate;
 
+    @ApiModelProperty(value = "难度")
+    private Double degree;
+
     public DimensionInfoResult() {
 
     }
@@ -47,6 +50,22 @@ public class DimensionInfoResult implements Serializable {
         this.dimensionName = dimensionName;
     }
 
+    public DimensionInfoResult(String dimensionCode, String dimensionName, String totalCount, Double degree, String colScoreRate) {
+        this.dimensionCode = dimensionCode;
+        this.dimensionName = dimensionName;
+        this.totalCount = totalCount;
+        this.degree = degree;
+        this.colScoreRate = colScoreRate;
+    }
+
+    public Double getDegree() {
+        return degree;
+    }
+
+    public void setDegree(Double degree) {
+        this.degree = degree;
+    }
+
     public String getDimensionCode() {
         return dimensionCode;
     }

+ 59 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/SurveyTeacherViewResult.java

@@ -0,0 +1,59 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: SurveyTeacherViewResult
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/6/16
+ */
+public class SurveyTeacherViewResult implements Serializable {
+
+    @ApiModelProperty(value = "分数段")
+    private List<SurveyTeacherGradeDistributionResult> gradeDistribution;
+
+    @ApiModelProperty(value = "题目信息")
+    private QuestionListResult questionList;
+
+    @ApiModelProperty(value = "分数分布")
+    private SurveyTeacherExamCourseResult surveyTeacher;
+
+    public SurveyTeacherViewResult() {
+
+    }
+
+    public SurveyTeacherViewResult(List<SurveyTeacherGradeDistributionResult> gradeDistribution, QuestionListResult questionList, SurveyTeacherExamCourseResult surveyTeacher) {
+        this.gradeDistribution = gradeDistribution;
+        this.questionList = questionList;
+        this.surveyTeacher = surveyTeacher;
+    }
+
+    public List<SurveyTeacherGradeDistributionResult> getGradeDistribution() {
+        return gradeDistribution;
+    }
+
+    public void setGradeDistribution(List<SurveyTeacherGradeDistributionResult> gradeDistribution) {
+        this.gradeDistribution = gradeDistribution;
+    }
+
+    public QuestionListResult getQuestionList() {
+        return questionList;
+    }
+
+    public void setQuestionList(QuestionListResult questionList) {
+        this.questionList = questionList;
+    }
+
+    public SurveyTeacherExamCourseResult getSurveyTeacher() {
+        return surveyTeacher;
+    }
+
+    public void setSurveyTeacher(SurveyTeacherExamCourseResult surveyTeacher) {
+        this.surveyTeacher = surveyTeacher;
+    }
+}

+ 15 - 5
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TAExamCourseService.java

@@ -2,10 +2,7 @@ package com.qmth.teachcloud.report.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.teachcloud.report.business.bean.result.CollegeAndCourseResult;
-import com.qmth.teachcloud.report.business.bean.result.ExamCourseResult;
-import com.qmth.teachcloud.report.business.bean.result.TAExamCourseCollegeTeacherResult;
-import com.qmth.teachcloud.report.business.bean.result.TAExamCourseResult;
+import com.qmth.teachcloud.report.business.bean.result.*;
 import com.qmth.teachcloud.report.business.entity.TAExamCourse;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.enums.SemesterEnum;
@@ -70,7 +67,7 @@ public interface TAExamCourseService extends IService<TAExamCourse> {
      * @param courseCode
      * @return
      */
-    Object surveyTeacherView(Long schoolId, SemesterEnum semester, Long examId, String courseCode);
+    SurveyTeacherViewResult surveyTeacherView(Long schoolId, SemesterEnum semester, Long examId, String courseCode);
 
     /**
      * 开课课程考试总览-教师各课堂成绩排名接口
@@ -83,4 +80,17 @@ public interface TAExamCourseService extends IService<TAExamCourse> {
      * @return
      */
     IPage<TAExamCourseCollegeTeacherResult> surveyTeacherTeacherView(IPage<Map> iPage, Long schoolId, SemesterEnum semester, Long examId, String courseCode);
+
+    /**
+     * 开课课程考试总览-试题难度得分情况分析接口
+     *
+     * @param schoolId
+     * @param semester
+     * @param examId
+     * @param courseCode
+     * @param collegeId
+     * @param teacherId
+     * @return
+     */
+    Object surveyTeacherQuestionView(Long schoolId, SemesterEnum semester, Long examId, String courseCode, Long collegeId, Long teacherId);
 }

+ 24 - 8
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java

@@ -3,7 +3,6 @@ package com.qmth.teachcloud.report.business.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.gson.Gson;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -164,7 +163,7 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
      * @return
      */
     @Override
-    public Object surveyTeacherView(Long schoolId, SemesterEnum semester, Long examId, String courseCode) {
+    public SurveyTeacherViewResult surveyTeacherView(Long schoolId, SemesterEnum semester, Long examId, String courseCode) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         if (Objects.isNull(sysUser)) {
             throw ExceptionResultEnum.NOT_LOGIN.exception();
@@ -190,12 +189,7 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
         List<TBPaperStructResult> questionDatasource = tbPaperStructService.findQuestionInfo(examId, courseCode);
         //查找题目信息
         QuestionListResult questionListResult = reportCommonService.findQuestionInfo(examId, courseCode, sysUser.getOrgId(), questionDatasource);
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("gradeDistribution", surveyTeacherGradeDistributionResultList);
-        map.put("questionList", questionListResult);
-        map.put("surveyTeacher", surveyTeacherExamCourseResult);
-        return map;
+        return new SurveyTeacherViewResult(surveyTeacherGradeDistributionResultList, questionListResult, surveyTeacherExamCourseResult);
     }
 
     /**
@@ -212,4 +206,26 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
     public IPage<TAExamCourseCollegeTeacherResult> surveyTeacherTeacherView(IPage<Map> iPage, Long schoolId, SemesterEnum semester, Long examId, String courseCode) {
         return taExamCourseMapper.surveyTeacherTeacherView(iPage, schoolId, semester.name(), examId, courseCode);
     }
+
+    /**
+     * 开课课程考试总览-试题难度得分情况分析接口
+     *
+     * @param schoolId
+     * @param semester
+     * @param examId
+     * @param courseCode
+     * @param collegeId
+     * @param teacherId
+     * @return
+     */
+    @Override
+    public Object surveyTeacherQuestionView(Long schoolId, SemesterEnum semester, Long examId, String courseCode, Long collegeId, Long teacherId) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        if (Objects.isNull(sysUser)) {
+            throw ExceptionResultEnum.NOT_LOGIN.exception();
+        }
+        //学院学科报表维度查询-按学院
+        DimensionAnalyzeResult dimensionAnalyzeResult = reportCommonService.findDimensionInfo(examId, courseCode, Objects.isNull(collegeId) ? sysUser.getOrgId() : collegeId);
+        return dimensionAnalyzeResult;
+    }
 }

+ 3 - 2
teachcloud-report-business/src/main/resources/mapper/TBDimensionMapper.xml

@@ -14,7 +14,8 @@
             total_count AS totalCount,
             round(CONVERT( papDio.score_rate * 100 , DECIMAL (10 , 4 )),2) AS schScoreRate,
             round(CONVERT( colDio.score_rate * 100 , DECIMAL (10 , 4 )),2) AS colScoreRate,
-            colDio.inspect_college_name AS collegeName
+            colDio.inspect_college_name AS collegeName,
+            round(colDio.score_rate, 1) as degree
         FROM
             (SELECT
                  exam_id,
@@ -53,7 +54,7 @@
                         and papDio.course_code = #{courseCode}
                     </if>
                     <if test="collegeId != null and collegeId != ''">
-                        and inspect_college_id = #{collegeId}
+                        and colDio.inspect_college_id = #{collegeId}
                     </if>
                 </where>
     </select>

+ 12 - 0
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/CourseController.java

@@ -54,6 +54,18 @@ public class CourseController {
         return ResultUtil.ok(taExamCourseService.surveyTeacherTeacherView(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
     }
 
+    @ApiOperation(value = "开课课程考试总览-试题难度得分情况分析接口")
+    @RequestMapping(value = "/survey_teacher/question_view", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "考试科目信息", response = TAExamCourseResult.class)})
+    public Result surveyTeacherQuestionView(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                            @ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,
+                                            @ApiParam(value = "学校id", required = false) @RequestParam(required = false) String schoolId,
+                                            @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+                                            @ApiParam(value = "考查学院id", required = false) @RequestParam(required = false) String collegeId,
+                                            @ApiParam(value = "任课老师id", required = false) @RequestParam(required = false) String teacherId) {
+        return ResultUtil.ok();
+    }
+
     @ApiOperation(value = "开课课程考试总览图表接口")
     @RequestMapping(value = "/survey_teacher/view", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "考试科目信息", response = TAExamCourseResult.class)})

+ 4 - 4
teachcloud-report/src/main/java/com/qmth/teachcloud/report/interceptor/AuthInterceptor.java

@@ -22,11 +22,11 @@ public class AuthInterceptor extends ExtendInterceptor {
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         log.info("preHandle is come in");
-        if (request.getServletPath().contains(endpoint)) {
+//        if (request.getServletPath().contains(endpoint)) {
             return true;
-        } else {
-            return AuthUtil.adminAuthInterceptor(request, response);
-        }
+//        } else {
+//            return AuthUtil.adminAuthInterceptor(request, response);
+//        }
     }
 
     @Override

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

@@ -65,7 +65,7 @@ org.center.orgQueryApi=/api/open/org/query
 #com.qmth.api.uri-prefix=/aaa
 #\u7EDF\u8BA1\u9875\u9762\u914D\u7F6E
 com.qmth.api.metrics-endpoint=/metrics-count
-com.qmth.api.global-auth=false
+com.qmth.api.global-auth=true
 #com.qmth.api.global-strict=false
 #com.qmth.api.global-rate-limit=1/5s