فهرست منبع

Merge branch 'master' of http://git.dayaedu.com/yonge/edu-saas

yonge 5 سال پیش
والد
کامیت
a9c45591ec
17فایلهای تغییر یافته به همراه79 افزوده شده و 26 حذف شده
  1. 1 1
      edu-common/src/main/java/com/keao/edu/common/page/QueryInfo.java
  2. 5 5
      edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java
  3. 2 1
      edu-user/edu-student-server/src/main/java/com/keao/edu/controller/ExamSubjectController.java
  4. 9 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRoomDao.java
  5. 1 1
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamSubjectDao.java
  6. 1 1
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamSubjectService.java
  7. 2 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/SysConfigService.java
  8. 1 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java
  9. 7 2
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamSubjectServiceImpl.java
  10. 1 1
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java
  11. 25 4
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java
  12. 10 2
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRoomMapper.xml
  13. 5 3
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamSubjectMapper.xml
  14. 1 1
      edu-user/edu-user-biz/src/main/resources/config/mybatis/OrganizationMapper.xml
  15. 4 1
      edu-user/edu-user-biz/src/main/resources/config/mybatis/StudentExamResultMapper.xml
  16. 2 1
      edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/enums/ExamEvaluationResultEnum.java
  17. 2 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamSubjectController.java

+ 1 - 1
edu-common/src/main/java/com/keao/edu/common/page/QueryInfo.java

@@ -34,7 +34,7 @@ public class QueryInfo {
 	 */
 	private String order = "desc";
 
-	private String tenantId= TenantContextHolder.getTenantId();
+	private String tenantId = TenantContextHolder.getTenantId();
 
 	private Integer organId= OrganContextHolder.getOrganId();
 

+ 5 - 5
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

@@ -1490,11 +1490,11 @@ public class RoomServiceImpl implements RoomService {
             //房间销毁
         }else if(notify.getEvent() == 11){
             //成员加入
-            if(roomMember.getRole() != 3){
-                this.configRecord(roomId);
-            }else {
-                this.startRecord(roomId,userId,notify.getTimestamp() + "");
-            }
+//            if(roomMember.getRole() != 3){
+//                this.configRecord(roomId);
+//            }else {
+//                this.startRecord(roomId,userId,notify.getTimestamp() + "");
+//            }
         }else if(notify.getEvent() == 12){
             //成员退出
             /*if(roomMember.getRole() != 3){

+ 2 - 1
edu-user/edu-student-server/src/main/java/com/keao/edu/controller/ExamSubjectController.java

@@ -3,6 +3,7 @@ package com.keao.edu.controller;
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.user.dto.ExamSubjectDto;
+import com.keao.edu.user.entity.Subject;
 import com.keao.edu.user.service.ExamSubjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -25,7 +26,7 @@ public class ExamSubjectController extends BaseController {
     @ApiOperation("获取考试项目专业")
     @ApiImplicitParam(name = "ExamId", value = "考试项目id", required = true, dataType = "Integer")
     @GetMapping(value = "/getExamSubjects")
-    public HttpResponseResult<List<ExamSubjectDto>> getExamSubjects(Integer examId) {
+    public HttpResponseResult<List<Subject>> getExamSubjects(Integer examId) {
         return succeed(examSubjectService.getExamSubjects(examId));
     }
 

+ 9 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRoomDao.java

@@ -82,6 +82,15 @@ public interface ExamRoomDao extends BaseDAO<Long, ExamRoom> {
 
     int updateSL(ExamRoom examRoom);
 
+    /**
+     * @describe 更新考级项目下所有考场学生人数
+     * @author Joburgess
+     * @date 2020.08.10
+     * @param examId:
+     * @return int
+     */
+    int updateExamRoomStudentNum(@Param("examId") Long examId);
+
     ExamRoom lockRoom(@Param("examRoomId") Long examRoomId);
 
     /**

+ 1 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamSubjectDao.java

@@ -29,7 +29,7 @@ public interface ExamSubjectDao extends BaseDAO<Long, ExamSubject> {
      * @param examId 考级项目编号
      * @return
      */
-    List<ExamSubjectDto> getSubjectWithExamId(@Param("examId") Integer examId);
+    List<Subject> getSubjectWithExamId(@Param("examId") Integer examId,@Param("studentId") Integer studentId);
 
     /**
      * @describe 获取与考级项目无关的专业

+ 1 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamSubjectService.java

@@ -17,7 +17,7 @@ public interface ExamSubjectService extends BaseService<Long, ExamSubject> {
      * @param ExamId
      * @return
      */
-    List<ExamSubjectDto> getExamSubjects(Integer ExamId);
+    List<Subject> getExamSubjects(Integer ExamId);
 
     /**
      * @describe 获取与考级项目无关的专业

+ 2 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/SysConfigService.java

@@ -10,6 +10,8 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     String BASE_H5_URL = "base_h5_url";
 
+    String EXAM_SCORE_SECTION = "exam_score_section";
+
     /**
      * @return com.keao.edu.biz.dal.entity.SysConfig
      * @params paramName

+ 1 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -320,6 +320,7 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		}
 
 		examRoomStudentRelationDao.batchInsert(newRoomStudents);
+		examRoomDao.updateExamRoomStudentNum(examId);
 
 	}
 

+ 7 - 2
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamSubjectServiceImpl.java

@@ -1,5 +1,7 @@
 package com.keao.edu.user.service.impl;
 
+import com.keao.edu.auth.api.client.SysUserFeignService;
+import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.user.dao.ExamSubjectDao;
@@ -17,6 +19,8 @@ public class ExamSubjectServiceImpl extends BaseServiceImpl<Long, ExamSubject> i
 	
 	@Autowired
 	private ExamSubjectDao examSubjectDao;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@Override
 	public BaseDAO<Long, ExamSubject> getDAO() {
@@ -24,8 +28,9 @@ public class ExamSubjectServiceImpl extends BaseServiceImpl<Long, ExamSubject> i
 	}
 
     @Override
-    public List<ExamSubjectDto> getExamSubjects(Integer ExamId) {
-		return examSubjectDao.getSubjectWithExamId(ExamId);
+    public List<Subject> getExamSubjects(Integer ExamId) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		return examSubjectDao.getSubjectWithExamId(ExamId,sysUser.getId());
     }
 
 	@Override

+ 1 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java

@@ -330,7 +330,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 			throw new BizException("操作失败:不支持此操作");
 		}
 		if(lockFlag == 1){
-			List<Integer> organIds = getNextLevelOrganIds(organId, true);
+			List<Integer> organIds = getChildOrganIds(organId, true);
 			employeeDao.batchLock(organIds);
 		}else {
 			Employee employee = employeeDao.get(organization.getUserId());

+ 25 - 4
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java

@@ -1,5 +1,7 @@
 package com.keao.edu.user.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.auth.api.entity.SysUser;
@@ -16,6 +18,7 @@ import com.keao.edu.thirdparty.message.provider.JiguangPushPlugin;
 import com.keao.edu.user.api.entity.ExamRoom;
 import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
 import com.keao.edu.user.api.entity.Student;
+import com.keao.edu.user.api.enums.ExamEvaluationResultEnum;
 import com.keao.edu.user.api.enums.StudentExamResultApiDto;
 import com.keao.edu.user.dao.ExamReviewDao;
 import com.keao.edu.user.dao.ExaminationBasicDao;
@@ -27,10 +30,7 @@ import com.keao.edu.user.entity.*;
 import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.enums.LevelEnum;
 import com.keao.edu.user.page.StudentExamResultQueryInfo;
-import com.keao.edu.user.service.ExamRoomService;
-import com.keao.edu.user.service.ExamRoomStudentRelationService;
-import com.keao.edu.user.service.OrganizationService;
-import com.keao.edu.user.service.StudentExamResultService;
+import com.keao.edu.user.service.*;
 import com.keao.edu.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -68,6 +68,8 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 	private RedisTemplate<String,String> redisTemplate;
 	@Autowired
 	private ExamReviewDao examReviewDao;
+	@Autowired
+	private SysConfigService sysConfigService;
 
 	private final static Logger logger = LoggerFactory.getLogger(StudentExamResultServiceImpl.class);
 
@@ -173,11 +175,22 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void calculateStudentExamAvgScore(Long examRoomId) {
+		ExamRoom examRoom = examRoomService.get(examRoomId);
+		if(Objects.isNull(examRoom)){
+			return;
+		}
 		List<StudentExamResult> studentExamResults = studentExamResultDao.getWithExamRoom(examRoomId);
 		if(CollectionUtils.isEmpty(studentExamResults)){
 			return;
 		}
 		List<ExamReview> examReviews = examReviewDao.getWithExamRoom(examRoomId);
+		String examResultConfigStr = sysConfigService.findConfigValue(SysConfigService.EXAM_SCORE_SECTION, examRoom.getTenantId());
+		JSONArray examResultConfigs;
+		if(StringUtils.isNotBlank(examResultConfigStr)){
+			examResultConfigs = JSON.parseArray(examResultConfigStr);
+		}else{
+			examResultConfigs = new JSONArray();
+		}
 		Map<Long, List<ExamReview>> registReviewMap = examReviews.stream().collect(Collectors.groupingBy(ExamReview::getExamRegistrationId));
 		for (StudentExamResult studentExamResult : studentExamResults) {
 			if(studentExamResult.getIsFinishedExam()==3){
@@ -191,6 +204,14 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 			long totalScore = reviews.stream().mapToLong(ExamReview::getEvaluationResult).sum();
 			BigDecimal avgScore = new BigDecimal(totalScore).divide(new BigDecimal(reviews.size()), 2, BigDecimal.ROUND_CEILING);
 			studentExamResult.setAvgScore(avgScore.floatValue());
+			for (Object examResultConfig : examResultConfigs) {
+				Integer startScore = ((JSONObject) examResultConfig).getInteger("startScore");
+				Integer endScore = ((JSONObject) examResultConfig).getInteger("endScore");
+				if(studentExamResult.getAvgScore()>=startScore&&studentExamResult.getAvgScore()<=endScore){
+					String levelName = ((JSONObject) examResultConfig).getString("levelName");
+					studentExamResult.setResult(ExamEvaluationResultEnum.valueOf(levelName));
+				}
+			}
 		}
 		studentExamResultDao.updateRegistAvgScore(studentExamResults);
 	}

+ 10 - 2
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRoomMapper.xml

@@ -241,8 +241,16 @@
 			update_time_ = NOW()
 		</set> WHERE id_ = #{id} AND update_time_=#{updateTime}
 	</update>
-	
-	<!-- 根据主键删除一条记录 -->
+
+    <update id="updateExamRoomStudentNum">
+		UPDATE exam_room er
+		LEFT JOIN ( SELECT exam_room_id_, COUNT( exam_registration_id_ ) stu_num_ FROM exam_room_student_relation WHERE examination_basic_id_ = #{examId} GROUP BY exam_room_id_ ) ers ON er.id_ = ers.exam_room_id_
+		SET er.exam_room_student_num_ = ers.stu_num_
+		WHERE
+			er.examination_basic_id_ = #{examId}
+	</update>
+
+    <!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM exam_room WHERE id_ = #{id} 
 	</delete>

+ 5 - 3
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamSubjectMapper.xml

@@ -84,9 +84,11 @@
 	<resultMap id="ExamSubjectDto" type="com.keao.edu.user.dto.ExamSubjectDto" extends="com.keao.edu.user.dao.SubjectDao.Subject" >
 		<result column="exam_subject_id_" property="examSubjectId" />
 	</resultMap>
-	<select id="getSubjectWithExamId" resultMap="ExamSubjectDto">
-		SELECT es.id_ exam_subject_id_ ,s.* FROM exam_subject es
-		LEFT JOIN subject s on es.subject_id_ = s.id_ WHERE examination_basic_id_ = #{examId}
+	<select id="getSubjectWithExamId" resultMap="com.keao.edu.user.dao.SubjectDao.Subject">
+		SELECT s.* FROM exam_registration er
+		LEFT JOIN subject s on er.subject_id_ = s.id_
+		WHERE er.examination_basic_id_ = #{examId} AND er.student_id_ = #{studentId}
+		GROUP BY s.id_
 	</select>
 
     <select id="getUnRelatedWithExamSubjects" resultMap="com.keao.edu.user.dao.SubjectDao.Subject">

+ 1 - 1
edu-user/edu-user-biz/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -158,7 +158,7 @@
 	</select>
 
 	<select id="getNextLevelOrganIds" resultType="int">
-		SELECT id_ FROM organization WHERE parent_organ_id_ =#{organId} AND id_!=#{organId};
+		SELECT id_ FROM organization WHERE parent_organ_id_ = #{organId} AND id_!=#{organId};
 	</select>
     <select id="getOrgans" resultMap="Organization">
 		SELECT <include refid="organizationColumn"/> FROM organization o WHERE id_ IN

+ 4 - 1
edu-user/edu-user-biz/src/main/resources/config/mybatis/StudentExamResultMapper.xml

@@ -120,7 +120,10 @@
 
 	<update id="updateRegistAvgScore" parameterType="com.keao.edu.user.entity.StudentExamResult">
 		<foreach collection="results" item="result" separator=";">
-			UPDATE student_exam_result SET avg_score_=#{result.avgScore},update_time_=NOW()
+			UPDATE student_exam_result
+			SET avg_score_=#{result.avgScore},
+			result_=#{result.result,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
+			update_time_=NOW()
 			WHERE exam_registration_id_ = #{result.examRegistrationId}
 		</foreach>
 	</update>

+ 2 - 1
edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/enums/ExamEvaluationResultEnum.java

@@ -37,4 +37,5 @@ public enum ExamEvaluationResultEnum implements BaseEnum<String, ExamEvaluationR
 
     public void setMsg(String msg) {
         this.msg = msg;
-    }}
+    }
+}

+ 2 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamSubjectController.java

@@ -24,12 +24,12 @@ public class ExamSubjectController extends BaseController {
     @Autowired
     private ExamSubjectService examSubjectService;
 
-    @ApiOperation("获取考试项目专业")
+    /*@ApiOperation("获取考试项目专业")
     @ApiImplicitParam(name = "ExamId", value = "考试项目id", required = true, dataType = "Integer")
     @GetMapping(value = "/getExamSubjects")
     public HttpResponseResult<List<ExamSubjectDto>> getExamSubjects(Integer examId) {
         return succeed(examSubjectService.getExamSubjects(examId));
-    }
+    }*/
 
     @ApiOperation("获取与考级项目相关的专业")
     @GetMapping(value = "/getUnRelatedWithExamSubjects")