Joburgess %!s(int64=5) %!d(string=hai) anos
pai
achega
0cea783d6f
Modificáronse 18 ficheiros con 190 adicións e 41 borrados
  1. 22 0
      edu-task/src/main/java/com/keao/edu/task/jobs/ExamStatusUpdateTask.java
  2. 1 2
      edu-task/src/main/java/com/keao/edu/task/jobs/PayStatusTask.java
  3. 9 0
      edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/client/EduUserFeignService.java
  4. 4 0
      edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/client/fallback/EduUserFeignServiceFallback.java
  5. 2 3
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java
  6. 8 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExaminationBasicController.java
  7. 3 4
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/MusicTheoryController.java
  8. 14 3
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TaskController.java
  9. 24 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/ExaminationBasic.java
  10. 11 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/StudentExamResult.java
  11. 10 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExaminationQueryInfo.java
  12. 1 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java
  13. 17 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java
  14. 9 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java
  15. 2 1
      edu-user/edu-user-server/src/main/resources/config/mybatis/EmployeeMapper.xml
  16. 1 0
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml
  17. 44 20
      edu-user/edu-user-server/src/main/resources/config/mybatis/ExaminationBasicMapper.xml
  18. 8 4
      edu-user/edu-user-server/src/main/resources/config/mybatis/StudentExamResultMapper.xml

+ 22 - 0
edu-task/src/main/java/com/keao/edu/task/jobs/ExamStatusUpdateTask.java

@@ -0,0 +1,22 @@
+package com.keao.edu.task.jobs;
+
+import com.keao.edu.task.core.BaseTask;
+import com.keao.edu.user.api.client.EduUserFeignService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.07.10
+ */
+@Service
+public class ExamStatusUpdateTask extends BaseTask {
+
+    @Autowired
+    private EduUserFeignService eduUserFeignService;
+
+    @Override
+    public void execute(){
+        eduUserFeignService.updateExamStatus();
+    }
+}

+ 1 - 2
edu-task/src/main/java/com/keao/edu/task/jobs/PayStatusTask.java

@@ -1,7 +1,6 @@
 package com.keao.edu.task.jobs;
 
 import com.keao.edu.task.core.BaseTask;
-import com.keao.edu.task.core.TaskException;
 import com.keao.edu.user.api.client.EduUserFeignService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,7 +12,7 @@ public class PayStatusTask extends BaseTask {
 	private EduUserFeignService eduUserFeignService;
 
 	@Override
-	public void execute() throws TaskException {
+	public void execute(){
 		eduUserFeignService.queryPaymentStatus();
 	}
 }

+ 9 - 0
edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/client/EduUserFeignService.java

@@ -41,4 +41,13 @@ public interface EduUserFeignService {
 	@GetMapping("task/queryPaymentStatus")
 	// 订单支付状态查询
 	void queryPaymentStatus();
+
+	/**
+	 * @describe 更新考级项目状态
+	 * @author Joburgess
+	 * @date 2020.07.10
+	 * @return void
+	 */
+	@GetMapping("task/updateExamStatus")
+	void updateExamStatus();
 }

+ 4 - 0
edu-user/edu-user-client-api/src/main/java/com/keao/edu/user/api/client/fallback/EduUserFeignServiceFallback.java

@@ -28,4 +28,8 @@ public class EduUserFeignServiceFallback implements EduUserFeignService {
 		return;
 	}
 
+	@Override
+	public void updateExamStatus() {
+		return;
+	}
 }

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

@@ -51,9 +51,8 @@ public class ExamRegistrationController extends BaseController {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (!sysUser.getIsSuperAdmin() && Objects.isNull(queryInfo.getOrganId())) {
             Employee employee = employeeService.get(sysUser.getId());
-            if (Objects.nonNull(employee)) {
-                queryInfo.setOrganId(employee.getOrganId());
-            }
+            if(Objects.isNull(employee))
+            queryInfo.setOrganId(employee.getOrganId());
         }
         return succeed(examRegistrationService.queryExamRegistrationStudents(queryInfo));
     }

+ 8 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExaminationBasicController.java

@@ -43,6 +43,14 @@ public class ExaminationBasicController extends BaseController {
     @ApiOperation("分页查询")
     @GetMapping(value = "/list")
     public HttpResponseResult<PageInfo<ExaminationBasicDto>> getList(ExaminationQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.isNull(employee)){
+                return failed("用户信息异常");
+            }
+            queryInfo.setOrganId(employee.getOrganId());
+        }
         return succeed(examinationBasicService.findExaminationBasics(queryInfo));
     }
 

+ 3 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/MusicTheoryController.java

@@ -10,7 +10,6 @@ import com.keao.edu.user.service.MusicTheoryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -36,13 +35,13 @@ public class MusicTheoryController extends BaseController {
     @ApiOperation("查询乐理详情")
     @ApiImplicitParam(name = "id", value = "机构ID", required = true, dataType = "Integer", paramType = "path")
     @GetMapping(value = "/query")
-    public HttpResponseResult<MusicTheory> query(@RequestParam("id") Integer id) {
+    public HttpResponseResult<MusicTheory> query(Integer id) {
         return succeed(musicTheoryService.get(id));
     }
 
     @ApiOperation("新增乐理")
     @PostMapping(value = "/add")
-    public HttpResponseResult add(@ApiParam(value = "乐理信息") @RequestBody MusicTheory musicTheory) {
+    public HttpResponseResult add(MusicTheory musicTheory) {
         musicTheory.setTenantId(TenantContextHolder.getTenantId().toString());
         musicTheoryService.addMusicTheory(musicTheory);
         return succeed();
@@ -50,7 +49,7 @@ public class MusicTheoryController extends BaseController {
 
     @ApiOperation("更新乐理")
     @PostMapping(value = "/update")
-    public HttpResponseResult update(@ApiParam(value = "乐理信息") @RequestBody MusicTheory musicTheory) {
+    public HttpResponseResult update(MusicTheory musicTheory) {
         musicTheoryService.update(musicTheory);
         return succeed();
     }

+ 14 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/TaskController.java

@@ -2,22 +2,33 @@ package com.keao.edu.user.controller;
 
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.user.service.ExamRegistrationPaymentService;
+import com.keao.edu.user.service.ExaminationBasicService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
+@RequestMapping("task")
 public class TaskController extends BaseController {
 
-@Autowired
-private ExamRegistrationPaymentService examRegistrationPaymentService;
+    @Autowired
+    private ExamRegistrationPaymentService examRegistrationPaymentService;
+    @Autowired
+    private ExaminationBasicService examinationBasicService;
+
     // 查询订单状态
     @GetMapping("/queryOrderStatus")
-    public void queryOrderStatus() throws Exception {
+    public void queryOrderStatus(){
         try {
             examRegistrationPaymentService.queryPaymentStatus();
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
+
+    @GetMapping("/updateExamStatus")
+    public void updateExamStatus(){
+        examinationBasicService.updateExamStatus();
+    }
 }

+ 24 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/ExaminationBasic.java

@@ -5,6 +5,7 @@ import com.keao.edu.user.enums.ExamStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -42,6 +43,12 @@ public class ExaminationBasic {
 	@ApiModelProperty(value = "预计考试结束时间")
 	private java.util.Date expectExamEndTime;
 
+	@ApiModelProperty(value = "实际考试开始时间")
+	private java.util.Date actualExamStartTime;
+
+	@ApiModelProperty(value = "实际考试结束时间")
+	private java.util.Date actualExamEndTime;
+
 	@ApiModelProperty(value = "标题")
 	private String posterTitle;
 
@@ -163,7 +170,23 @@ public class ExaminationBasic {
 	public java.util.Date getExpectExamEndTime(){
 		return this.expectExamEndTime;
 	}
-			
+
+	public Date getActualExamStartTime() {
+		return actualExamStartTime;
+	}
+
+	public void setActualExamStartTime(Date actualExamStartTime) {
+		this.actualExamStartTime = actualExamStartTime;
+	}
+
+	public Date getActualExamEndTime() {
+		return actualExamEndTime;
+	}
+
+	public void setActualExamEndTime(Date actualExamEndTime) {
+		this.actualExamEndTime = actualExamEndTime;
+	}
+
 	public void setPosterTitle(String posterTitle){
 		this.posterTitle = posterTitle;
 	}

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/StudentExamResult.java

@@ -44,6 +44,9 @@ public class StudentExamResult {
 	@ApiModelProperty(value = "是否参与考试")
 	private Integer isFinishedExam;
 
+	@ApiModelProperty(value = "视频连接")
+	private String videoUrl;
+
 	private java.util.Date createTime;
 
 	private java.util.Date updateTime;
@@ -118,6 +121,14 @@ public class StudentExamResult {
 		this.result = result;
 	}
 
+	public String getVideoUrl() {
+		return videoUrl;
+	}
+
+	public void setVideoUrl(String videoUrl) {
+		this.videoUrl = videoUrl;
+	}
+
 	public void setMemo(String memo){
 		this.memo = memo;
 	}

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExaminationQueryInfo.java

@@ -11,6 +11,16 @@ public class ExaminationQueryInfo extends QueryInfo {
 
     private ExamStatusEnum examStatus;
 
+    private Integer organId;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
     public ExamStatusEnum getExamStatus() {
         return examStatus;
     }

+ 1 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java

@@ -174,7 +174,7 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 		if(Objects.isNull(examinationBasic)){
 			throw new BizException("考级项目不存在");
 		}
-		if(!ExamStatusEnum.CLOSE.equals(examinationBasic.getStatus())){
+		if(ExamStatusEnum.CLOSE.equals(examinationBasic.getStatus())){
 			throw new BizException("考级项目已关闭");
 		}
 

+ 17 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -23,6 +23,7 @@ import com.keao.edu.user.service.OrganizationService;
 import com.keao.edu.util.collection.MapUtil;
 import com.keao.edu.util.date.DateUtil;
 import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.lang.time.DateUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -125,7 +126,23 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 			examRooms.add(er);
 		}
 		checkRoomTeachers(examRooms);
+		Date minStartTime = examRooms.stream().min(Comparator.comparing(ExamRoom::getExamStartTime)).get().getExamStartTime();
+		Date maxEndTime = examRooms.stream().max(Comparator.comparing(ExamRoom::getExamEndTime)).get().getExamEndTime();
+
+		if(Objects.isNull(examinationBasic.getActualExamStartTime())){
+			examinationBasic.setActualExamStartTime(minStartTime);
+		}
+		if(Objects.isNull(examinationBasic.getActualExamEndTime())){
+			examinationBasic.setActualExamEndTime(maxEndTime);
+		}
+		if(minStartTime.compareTo(examinationBasic.getActualExamStartTime())<0){
+			examinationBasic.setActualExamStartTime(DateUtils.truncate(minStartTime, Calendar.DAY_OF_MONTH));
+		}
+		if(maxEndTime.compareTo(examinationBasic.getActualExamEndTime())>0){
+			examinationBasic.setActualExamEndTime(DateUtils.ceiling(maxEndTime, Calendar.DAY_OF_MONTH));
+		}
 		examRoomDao.batchInsert(examRooms);
+		examinationBasicDao.update(examinationBasic);
 	}
 
 	@Override

+ 9 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -13,6 +13,7 @@ import com.keao.edu.user.entity.*;
 import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.page.ExaminationQueryInfo;
 import com.keao.edu.user.service.ExaminationBasicService;
+import com.keao.edu.user.service.OrganizationService;
 import com.keao.edu.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,8 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
     private ExamLocationDao examLocationDao;
     @Autowired
     private SysUserDao sysUserDao;
+    @Autowired
+    private OrganizationService organizationService;
 
     @Override
     public BaseDAO<Long, ExaminationBasic> getDAO() {
@@ -108,8 +111,9 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
             if (now.compareTo(needUpdateStatusExam.getEnrollEndTime()) >= 0) {
                 needUpdateStatusExam.setStatus(ExamStatusEnum.APPLIED);
             }
-            if (now.compareTo(needUpdateStatusExam.getExpectExamStartTime()) >= 0) {
-                needUpdateStatusExam.setStatus(ExamStatusEnum.EXAM_ING);
+            if (Objects.nonNull(needUpdateStatusExam.getActualExamEndTime())
+                    &&now.compareTo(needUpdateStatusExam.getActualExamEndTime()) >= 0) {
+                needUpdateStatusExam.setStatus(ExamStatusEnum.EXAM_END);
             }
         }
         examinationBasicDao.batchUpdate(needUpdateStatusExams);
@@ -121,6 +125,9 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 
+        List<Integer> childOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
+        params.put("organIds", childOrganIds);
+
         List<ExaminationBasicDto> dataList = new ArrayList<>();
         int count = examinationBasicDao.countExaminationBasics(params);
         if (count > 0) {

+ 2 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -118,7 +118,8 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="Employee" parameterType="map">
-		SELECT su.*,e.*,GROUP_CONCAT(sr.role_name_) role_name_ FROM employee e
+		SELECT su.*,e.*,GROUP_CONCAT(sr.role_name_) role_name_
+		FROM employee e
 		LEFT JOIN sys_user su ON e.user_id_ = su.id_
 		LEFT JOIN sys_user_role sur ON sur.user_id_ = su.id_
 		LEFT JOIN sys_role sr ON sr.id_ = sur.role_id_

+ 1 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -219,6 +219,7 @@
 			er.student_id_,
 			er.memo_,
 			su.real_name_ sys_user_real_name_,
+			su.phone_ sys_user_phone_,
 			er.last_exam_certificate_url_,
 			er.last_music_theory_certificate_url_,
 			er.level_fee_,

+ 44 - 20
edu-user/edu-user-server/src/main/resources/config/mybatis/ExaminationBasicMapper.xml

@@ -17,6 +17,8 @@
 		<result column="enroll_end_time_" property="enrollEndTime" />
 		<result column="expect_exam_start_time_" property="expectExamStartTime" />
 		<result column="expect_exam_end_time_" property="expectExamEndTime" />
+		<result column="actual_exam_start_time_" property="actualExamStartTime" />
+		<result column="actual_exam_end_time_" property="actualExamEndTime" />
 		<result column="poster_title_" property="posterTitle" />
 		<result column="poster_profile_" property="posterProfile" />
 		<result column="poster_background_img_" property="posterBackgroundImg" />
@@ -47,8 +49,13 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.ExaminationBasic" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO examination_basic (id_,name_,exam_mode_,exam_location_id_list_,exam_location_name_list_,status_,enroll_start_time_,enroll_end_time_,expect_exam_start_time_,expect_exam_end_time_,poster_title_,poster_profile_,poster_background_img_,creator_id_,create_time_,update_time_,tenant_id_,memo_,organ_id_)
-		VALUES(#{id},#{name},#{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{examLocationIdList},#{examLocationNameList},#{status,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{enrollStartTime},#{enrollEndTime},#{expectExamStartTime},#{expectExamEndTime},#{posterTitle},#{posterProfile},#{posterBackgroundImg},#{creatorId},NOW(),NOW(),#{tenantId},#{memo},#{organId})
+		INSERT INTO examination_basic (id_,name_,exam_mode_,exam_location_id_list_,exam_location_name_list_,status_,enroll_start_time_,enroll_end_time_,
+		expect_exam_start_time_,expect_exam_end_time_,actual_exam_start_time_,actual_exam_end_time_,
+		poster_title_,poster_profile_,poster_background_img_,creator_id_,create_time_,update_time_,tenant_id_,memo_,organ_id_)
+		VALUES(#{id},#{name},#{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{examLocationIdList},#{examLocationNameList},
+		#{status,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{enrollStartTime},#{enrollEndTime},
+		#{expectExamStartTime},#{expectExamEndTime},#{actualExamStartTime},#{actualExamEndTime},
+		#{posterTitle},#{posterProfile},#{posterBackgroundImg},#{creatorId},NOW(),NOW(),#{tenantId},#{memo},#{organId})
 	</insert>
 
 	<update id="update" parameterType="com.keao.edu.user.entity.ExamOrganizationRelation">
@@ -81,6 +88,12 @@
 			<if test="expectExamEndTime != null">
 				expect_exam_end_time_ = #{expectExamEndTime},
 			</if>
+			<if test="actualExamStartTime != null">
+				actual_exam_start_time_ = #{actualExamStartTime},
+			</if>
+			<if test="actualExamEndTime != null">
+				actual_exam_end_time_ = #{actualExamEndTime},
+			</if>
 			<if test="posterTitle != null">
 				poster_title_ = #{posterTitle},
 			</if>
@@ -107,50 +120,56 @@
 		<foreach collection="exams" item="exam" separator=";">
 			UPDATE examination_basic
 			<set>
-				<if test="name != null">
+				<if test="exam.name != null">
 					name_ = #{exam.name},
 				</if>
-				<if test="examMode != null">
+				<if test="exam.examMode != null">
 					exam_mode_ = #{exam.examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
 				</if>
-				<if test="examLocationIdList != null">
+				<if test="exam.examLocationIdList != null">
 					exam_location_id_list_ = #{exam.examLocationIdList},
 				</if>
-				<if test="examLocationNameList != null">
+				<if test="exam.examLocationNameList != null">
 					exam_location_name_list_ = #{exam.examLocationNameList},
 				</if>
-				<if test="status != null">
+				<if test="exam.status != null">
 					status_ = #{exam.status,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
 				</if>
-				<if test="enrollStartTime != null">
+				<if test="exam.enrollStartTime != null">
 					enroll_start_time_ = #{exam.enrollStartTime},
 				</if>
-				<if test="enrollEndTime != null">
+				<if test="exam.enrollEndTime != null">
 					enroll_end_time_ = #{exam.enrollEndTime},
 				</if>
-				<if test="expectExamStartTime != null">
+				<if test="exam.expectExamStartTime != null">
 					expect_exam_start_time_ = #{exam.expectExamStartTime},
 				</if>
-				<if test="expectExamEndTime != null">
+				<if test="exam.expectExamEndTime != null">
 					expect_exam_end_time_ = #{exam.expectExamEndTime},
 				</if>
-				<if test="posterTitle != null">
+				<if test="exam.actualExamStartTime != null">
+					actual_exam_start_time_ = #{exam.actualExamStartTime},
+				</if>
+				<if test="exam.actualExamEndTime != null">
+					actual_exam_end_time_ = #{exam.actualExamEndTime},
+				</if>
+				<if test="exam.posterTitle != null">
 					poster_title_ = #{exam.posterTitle},
 				</if>
-				<if test="posterProfile != null">
+				<if test="exam.posterProfile != null">
 					poster_profile_ = #{exam.posterProfile},
 				</if>
-				<if test="posterBackgroundImg != null">
+				<if test="exam.posterBackgroundImg != null">
 					poster_profile_ = #{exam.posterBackgroundImg},
 				</if>
-				<if test="tenantId != null">
+				<if test="exam.tenantId != null">
 					tenant_id_ = #{exam.tenantId},
 				</if>
-				<if test="memo!=null">
-					memo_=#{memo},
+				<if test="exam.memo!=null">
+					memo_=#{exam.memo},
 				</if>
-				<if test="creatorId!=null">
-					creator_id_=#{creatorId},
+				<if test="exam.creatorId!=null">
+					creator_id_=#{exam.creatorId},
 				</if>
 				update_time_ = NOW()
 			</set> WHERE id_ = #{exam.id}
@@ -164,7 +183,12 @@
 
 	<sql id="queryCondition">
 		<where>
-			tenant_id_=#{tenantId}
+			<if test="organIds!=null">
+				AND organ_id_ IN
+				<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+					#{organId}
+				</foreach>
+			</if>
 			<if test="examStatus!=null">
 				AND status_=#{examStatus}
 			</if>

+ 8 - 4
edu-user/edu-user-server/src/main/resources/config/mybatis/StudentExamResultMapper.xml

@@ -16,6 +16,7 @@
 		<result column="confirm_status_" property="confirmStatus" />
 		<result column="is_finished_exam_" property="isFinishedExam" />
 		<result column="memo_" property="memo" />
+		<result column="video_url_" property="videoUrl" />
 		<result column="operator_id_" property="operatorId" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
@@ -35,19 +36,19 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.StudentExamResult" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO student_exam_result (id_,examination_basic_id_,student_id_,result_,avg_score_,
+		INSERT INTO student_exam_result (id_,examination_basic_id_,student_id_,result_,avg_score_,video_url_,
 		confirm_status_,memo_,operator_id_,is_finished_exam_,create_time_,update_time_,tenant_id_,exam_registration_id_)
 		VALUES(#{id},#{examinationBasicId},#{studentId},#{result,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
-		#{avgScore},#{confirmStatus},#{memo},#{operatorId},#{isFinishedExam},NOW(),NOW(),#{tenantId},#{examRegistrationId})
+		#{avgScore},#{#{videoUrl}},#{confirmStatus},#{memo},#{operatorId},#{isFinishedExam},NOW(),NOW(),#{tenantId},#{examRegistrationId})
 	</insert>
 
 	<insert id="batchInsert" parameterType="com.keao.edu.user.entity.StudentExamResult" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO student_exam_result (examination_basic_id_,student_id_,result_,#{avg_score_},
+		INSERT INTO student_exam_result (examination_basic_id_,student_id_,result_,avg_score_,video_url_,
 		confirm_status_,memo_,operator_id_,is_finished_exam_,create_time_,update_time_,tenant_id_,exam_registration_id_)
 		VALUES
 		<foreach collection="results" item="result" separator=",">
 			(#{result.examinationBasicId},#{result.studentId},#{result.result,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
-			#{result.avgScore},#{result.confirmStatus},#{result.memo},#{result.operatorId},#{result.isFinishedExam},NOW(),NOW(),#{result.tenantId},#{result.examRegistrationId})
+			#{result.avgScore},#{result.videoUrl},#{result.confirmStatus},#{result.memo},#{result.operatorId},#{result.isFinishedExam},NOW(),NOW(),#{result.tenantId},#{result.examRegistrationId})
 		</foreach>
 	</insert>
 
@@ -82,6 +83,9 @@
 			<if test="memo != null">
 				memo_ = #{memo},
 			</if>
+			<if test="videoUrl != null">
+				video_url_ = #{videoUrl},
+			</if>
 			<if test="isFinishedExam != null">
 				is_finished_exam_ = #{isFinishedExam},
 			</if>