This commit is contained in:
zhaolongfei
2024-05-28 15:10:33 +08:00
parent 189a47d4d0
commit 1c3a70bc12
13 changed files with 67 additions and 39 deletions

View File

@@ -18,6 +18,8 @@ import com.xboe.school.study.service.IStudyAssessService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/xboe/school/study/assess") @RequestMapping(value="/xboe/school/study/assess")
@@ -27,18 +29,22 @@ public class StudyAssessApi extends ApiBaseController{
IStudyAssessService sassessService; IStudyAssessService sassessService;
@PostMapping("/save") @PostMapping("/save")
public JsonResponse<StudyAssess> save(@RequestBody StudyAssess assess){ public JsonResponse<StudyAssess> save(@RequestBody StudyAssess assess, HttpServletRequest request){
if(StringUtils.isBlank(assess.getCourseId())) { if(StringUtils.isBlank(assess.getCourseId())) {
return badRequest("无课程信息"); return badRequest("无课程信息");
} }
if(StringUtils.isBlank(assess.getStudyId())) { if(StringUtils.isBlank(assess.getStudyId())) {
return badRequest("无学习id"); return badRequest("无学习id");
} }
String token = request.getHeader("Xboe-Access-Token");
if (StringUtils.isEmpty(token)) {
token = request.getHeader("token");
}
try { try {
CurrentUser cu=getCurrent(); CurrentUser cu=getCurrent();
assess.setStudentId(cu.getAccountId()); assess.setStudentId(cu.getAccountId());
assess.setStudentName(cu.getName()); assess.setStudentName(cu.getName());
sassessService.save(assess); sassessService.save(assess,token);
return success(assess); return success(assess);
}catch(Exception e) { }catch(Exception e) {
log.error("保存课程评估信息错误",e); log.error("保存课程评估信息错误",e);

View File

@@ -326,14 +326,11 @@ public class StudyCourseApi extends ApiBaseController{
if(item!=null) { if(item!=null) {
//如果记录存在但是进度不100无成情况就更新进度一期不会有这种情况 //如果记录存在但是进度不100无成情况就更新进度一期不会有这种情况
if(item.getProgress()<100 && sci.getProgress()>item.getProgress()) { if(item.getProgress()<100 && sci.getProgress()>item.getProgress()) {
studyService.updateProcess(item.getId(), sci.getStudyId(), sci.getCourseId(), sci.getContentTotal(), sci.getProgress()); studyService.updateProcess(item.getId(), sci.getStudyId(), sci.getCourseId(), sci.getContentTotal(), sci.getProgress(),token);
} }
//追加学习时长 //追加学习时长
studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration()); studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration());
//System.out.println("在线课学习记录"+allUserList);
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId(), sci.getCourseId(), token);
log.info("在线课学习记录"+allUserList);
System.out.println("在线课学习记录"+allUserList);
return success(item.getId()); return success(item.getId());
} }
@@ -348,7 +345,7 @@ public class StudyCourseApi extends ApiBaseController{
sci.setAid(cuser.getAccountId()); sci.setAid(cuser.getAccountId());
sci.setAname(cuser.getName()); sci.setAname(cuser.getName());
studyService.saveStudyInfo(sci); studyService.saveStudyInfo(sci,token);
//学习记录成功后处理 //学习记录成功后处理
studyService.appendStudyDuration(sci.getStudyId(),sci.getStudyItemId(),sci.getContentId(),sci.getDuration()); studyService.appendStudyDuration(sci.getStudyId(),sci.getStudyItemId(),sci.getContentId(),sci.getDuration());
@@ -392,7 +389,7 @@ public class StudyCourseApi extends ApiBaseController{
* @return * @return
*/ */
@PostMapping("/study-content-finish") @PostMapping("/study-content-finish")
public JsonResponse<String> studyContentFinish(@RequestBody StudyContentDto sci){ public JsonResponse<String> studyContentFinish(@RequestBody StudyContentDto sci, HttpServletRequest request){
if(StringUtils.isBlank(sci.getStudyId())){ if(StringUtils.isBlank(sci.getStudyId())){
return error("参数错误"); return error("参数错误");
@@ -403,11 +400,15 @@ public class StudyCourseApi extends ApiBaseController{
// LocalDateTime now=LocalDateTime.now(); // LocalDateTime now=LocalDateTime.now();
CurrentUser cuser=getCurrent(); CurrentUser cuser=getCurrent();
//检查是否已存在 //检查是否已存在
String token = request.getHeader("Xboe-Access-Token");
if (StringUtils.isEmpty(token)) {
token = request.getHeader("token");
}
StudyCourseItem item = studyService.checkHas(sci.getStudyId(),sci.getContentId()); StudyCourseItem item = studyService.checkHas(sci.getStudyId(),sci.getContentId());
if(item!=null) { if(item!=null) {
//如果记录存在但是进度不到100未完成情况就更新进度一期不会有这种情况 //如果记录存在但是进度不到100未完成情况就更新进度一期不会有这种情况
if(item.getProgress()<100) { if(item.getProgress()<100) {
studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),100); studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),100,token);
} }
//追加学习时长,学习时长是单独的记录,这里不再进行记录 //追加学习时长,学习时长是单独的记录,这里不再进行记录
//studyService.appendStudyDuration(st); //studyService.appendStudyDuration(st);
@@ -418,7 +419,7 @@ public class StudyCourseApi extends ApiBaseController{
sci.setAid(cuser.getAccountId()); sci.setAid(cuser.getAccountId());
sci.setAname(cuser.getName()); sci.setAname(cuser.getName());
sci.setProgress(100); sci.setProgress(100);
studyService.saveStudyInfo(sci); studyService.saveStudyInfo(sci,token);
return success(sci.getStudyItemId()); return success(sci.getStudyItemId());
}catch(Exception e) { }catch(Exception e) {
log.error("记录学习课程内容完成错误",e); log.error("记录学习课程内容完成错误",e);
@@ -507,7 +508,7 @@ public class StudyCourseApi extends ApiBaseController{
token = request.getHeader("token"); token = request.getHeader("token");
} }
try { try {
studyService.finishVideoStudyItem(itemId, studyId,courseId,cnum); studyService.finishVideoStudyItem(itemId, studyId,courseId,cnum,token);
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(studyId, courseId, token); List<StudyCourse> allUserList = thirdApi.getStudyCourseList(studyId, courseId, token);
log.info("在线课学习记录"+allUserList); log.info("在线课学习记录"+allUserList);
return success(true); return success(true);

View File

@@ -23,6 +23,8 @@ import com.xboe.school.study.service.IStudyExamService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/xboe/school/study/exam") @RequestMapping(value="/xboe/school/study/exam")
@@ -48,7 +50,7 @@ public class StudyExamApi extends ApiBaseController{
} }
@PostMapping("/save") @PostMapping("/save")
public JsonResponse<StudyExam> save(@RequestBody StudyExam exam){ public JsonResponse<StudyExam> save(@RequestBody StudyExam exam, HttpServletRequest request){
if(StringUtils.isBlank(exam.getCourseId())) { if(StringUtils.isBlank(exam.getCourseId())) {
return badRequest("无课程信息"); return badRequest("无课程信息");
} }
@@ -58,6 +60,10 @@ public class StudyExamApi extends ApiBaseController{
if(exam.getScore()==null) { if(exam.getScore()==null) {
return badRequest("得分计算错误"); return badRequest("得分计算错误");
} }
String token = request.getHeader("Xboe-Access-Token");
if (StringUtils.isEmpty(token)) {
token = request.getHeader("token");
}
try { try {
String key = exam.getStudyId() + "_" + exam.getContentId(); String key = exam.getStudyId() + "_" + exam.getContentId();
//判断是否存在redis //判断是否存在redis
@@ -80,7 +86,7 @@ public class StudyExamApi extends ApiBaseController{
exam.setEndTime(exam.getLastTime()); exam.setEndTime(exam.getLastTime());
} }
log.info( exam.getStudyId() + "_" + exam.getContentId() + "------------试卷开始提交 " + LocalDateTime.now()); log.info( exam.getStudyId() + "_" + exam.getContentId() + "------------试卷开始提交 " + LocalDateTime.now());
String msg = sexamService.save(exam); String msg = sexamService.save(exam,token);
log.info( exam.getStudyId() + "_" + exam.getContentId() + "------------试卷保存完毕 msg = " + msg + " , " + LocalDateTime.now()); log.info( exam.getStudyId() + "_" + exam.getContentId() + "------------试卷保存完毕 msg = " + msg + " , " + LocalDateTime.now());
exam.setAnswerJson(""); exam.setAnswerJson("");
exam.setPaperJson(""); exam.setPaperJson("");

View File

@@ -19,6 +19,8 @@ import com.xboe.school.study.service.IStudyHomeWorkService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/xboe/school/study/homework") @RequestMapping(value="/xboe/school/study/homework")
@@ -28,7 +30,7 @@ public class StudyHomeWorkApi extends ApiBaseController{
IStudyHomeWorkService shomeworkService; IStudyHomeWorkService shomeworkService;
@PostMapping("/save") @PostMapping("/save")
public JsonResponse<StudyHomeWork> save(@RequestBody StudyHomeWork shw){ public JsonResponse<StudyHomeWork> save(@RequestBody StudyHomeWork shw, HttpServletRequest request){
if(StringUtils.isBlank(shw.getCourseId())) { if(StringUtils.isBlank(shw.getCourseId())) {
return badRequest("无课程信息"); return badRequest("无课程信息");
} }
@@ -36,14 +38,17 @@ public class StudyHomeWorkApi extends ApiBaseController{
if(StringUtils.isBlank(shw.getStudyId())) { if(StringUtils.isBlank(shw.getStudyId())) {
return badRequest("您还没有学习,不可提交作业"); return badRequest("您还没有学习,不可提交作业");
} }
String token = request.getHeader("Xboe-Access-Token");
if (StringUtils.isEmpty(token)) {
token = request.getHeader("token");
}
try { try {
CurrentUser cu=getCurrent(); CurrentUser cu=getCurrent();
shw.setStudentId(cu.getAccountId()); shw.setStudentId(cu.getAccountId());
shw.setStudentName(cu.getName()); shw.setStudentName(cu.getName());
shw.setEndTime(LocalDateTime.now()); shw.setEndTime(LocalDateTime.now());
shomeworkService.save(shw); shomeworkService.save(shw,token);
return success(shw); return success(shw);
}catch(Exception e) { }catch(Exception e) {

View File

@@ -1,7 +1,9 @@
package com.xboe.school.study.dao; package com.xboe.school.study.dao;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import com.xboe.api.ThirdApi;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@@ -13,6 +15,8 @@ import com.xboe.module.course.dao.CourseContentDao;
import com.xboe.school.study.entity.StudyCourse; import com.xboe.school.study.entity.StudyCourse;
import com.xboe.school.study.entity.StudyCourseItem; import com.xboe.school.study.entity.StudyCourseItem;
import javax.annotation.Resource;
@Slf4j @Slf4j
@Repository @Repository
public class StudyCourseDao extends BaseDao<StudyCourse> { public class StudyCourseDao extends BaseDao<StudyCourse> {
@@ -22,14 +26,16 @@ public class StudyCourseDao extends BaseDao<StudyCourse> {
@Autowired @Autowired
StudyCourseItemDao scItemDao; StudyCourseItemDao scItemDao;
@Resource
private ThirdApi thirdApi;
/** /**
* 完成情况检查 * 完成情况检查
* @param studyId * @param studyId
* @param courseId * @param courseId
* @param total * @param total
*/ */
public void finishCheck(String studyId,String courseId,Integer total){ public void finishCheck(String studyId,String courseId,Integer total,String token){
log.info("------1.完成情况检查---------------studyId = " + studyId + " , courseId = " + courseId + " , total = " + total ); log.info("------1.完成情况检查---------------studyId = " + studyId + " , courseId = " + courseId + " , total = " + total );
LocalDateTime now=LocalDateTime.now(); LocalDateTime now=LocalDateTime.now();
//已完成的内容 //已完成的内容
@@ -58,6 +64,9 @@ public class StudyCourseDao extends BaseDao<StudyCourse> {
UpdateBuilder.create("lastTime",LocalDateTime.now()), UpdateBuilder.create("lastTime",LocalDateTime.now()),
UpdateBuilder.create("status",StudyCourse.STATUS_STUDYING)); UpdateBuilder.create("status",StudyCourse.STATUS_STUDYING));
} }
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(studyId,courseId, token);
log.info("在线课学习记录"+allUserList);
} }
public void finishCheck1(String studyId,String courseId,Integer total){ public void finishCheck1(String studyId,String courseId,Integer total){

View File

@@ -10,7 +10,7 @@ public interface IStudyAssessService {
* 保存考试信息 * 保存考试信息
* @param exam * @param exam
*/ */
void save(StudyAssess homework); void save(StudyAssess homework,String token);
StudyAssess get(String id); StudyAssess get(String id);

View File

@@ -10,7 +10,7 @@ public interface IStudyExamService {
* 保存考试信息 * 保存考试信息
* @param exam * @param exam
*/ */
String save(StudyExam exam); String save(StudyExam exam,String token);
StudyExam get(String id); StudyExam get(String id);

View File

@@ -10,7 +10,7 @@ public interface IStudyHomeWorkService {
* 保存考试信息 * 保存考试信息
* @param exam * @param exam
*/ */
void save(StudyHomeWork homework); void save(StudyHomeWork homework,String token);
StudyHomeWork get(String id); StudyHomeWork get(String id);

View File

@@ -30,7 +30,7 @@ public interface IStudyService {
* @param studyContentId * @param studyContentId
* @param progress * @param progress
*/ */
void updateProcess(String studyContentId,String studyId, String courseId,Integer total,Integer progress); void updateProcess(String studyContentId,String studyId, String courseId,Integer total,Integer progress,String token);
/** /**
* 更新最后的学习时间,及学习时间点 * 更新最后的学习时间,及学习时间点
@@ -44,7 +44,7 @@ public interface IStudyService {
* 资源学习记录 * 资源学习记录
* @param sci * @param sci
*/ */
void saveStudyInfo(StudyContentDto dto); void saveStudyInfo(StudyContentDto dto,String token);
/** /**
* 保存学习内容,用于开始学习时添加学习条目 * 保存学习内容,用于开始学习时添加学习条目
@@ -59,7 +59,7 @@ public interface IStudyService {
* @param courseId * @param courseId
* @param cnum * @param cnum
*/ */
void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum); void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum,String token);
/** /**
* 追加学习持续时长,此处理是一期的有追加记录二期后追加记录在stat服务中这里不需要再记录了所以不建议使用此方法 * 追加学习持续时长,此处理是一期的有追加记录二期后追加记录在stat服务中这里不需要再记录了所以不建议使用此方法

View File

@@ -4,8 +4,10 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -35,8 +37,7 @@ public class StudyAssessServiceImpl implements IStudyAssessService{
@Override @Override
@Transactional @Transactional
public void save(StudyAssess assess) { public void save(StudyAssess assess,String token) {
//完成处理,判断是否已存在 //完成处理,判断是否已存在
Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", assess.getStudyId()), FieldFilters.eq("contentId", assess.getContentId())); Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", assess.getStudyId()), FieldFilters.eq("contentId", assess.getContentId()));
if(obj==null) { if(obj==null) {
@@ -60,7 +61,7 @@ public class StudyAssessServiceImpl implements IStudyAssessService{
dao.save(assess); dao.save(assess);
//检查是否全部学习完成 //检查是否全部学习完成
int totalContent=courseContentDao.count(FieldFilters.eq("courseId", assess.getCourseId()),FieldFilters.eq("deleted",false)); int totalContent=courseContentDao.count(FieldFilters.eq("courseId", assess.getCourseId()),FieldFilters.eq("deleted",false));
scDao.finishCheck(assess.getStudyId(),assess.getCourseId(),totalContent); scDao.finishCheck(assess.getStudyId(),assess.getCourseId(),totalContent,token);
}else { }else {
//转为评估只有一条,所以这里显示一条,不能再增加 //转为评估只有一条,所以这里显示一条,不能再增加
assess.setStudyItemId(obj.toString()); assess.setStudyItemId(obj.toString());

View File

@@ -52,7 +52,7 @@ public class StudyExamServiceImpl implements IStudyExamService{
@Override @Override
@Transactional @Transactional
public String save(StudyExam exam) { public String save(StudyExam exam,String token) {
String key = exam.getStudyId() + "_" + exam.getContentId(); String key = exam.getStudyId() + "_" + exam.getContentId();
// //判断是否存在redis // //判断是否存在redis
// if(StringUtils.isNotEmpty(redisTemplate.opsForValue().get(key))){ // if(StringUtils.isNotEmpty(redisTemplate.opsForValue().get(key))){
@@ -98,7 +98,7 @@ public class StudyExamServiceImpl implements IStudyExamService{
//检查是否全部学习完成 //检查是否全部学习完成
// int totalContent=courseContentDao.count(FieldFilters.eq("courseId", exam.getCourseId()),FieldFilters.eq("deleted",false)); // int totalContent=courseContentDao.count(FieldFilters.eq("courseId", exam.getCourseId()),FieldFilters.eq("deleted",false));
int totalContent = courseContentDao.getCount(exam.getCourseId()); int totalContent = courseContentDao.getCount(exam.getCourseId());
scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent); scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent,token);
}else { }else {
exam.setStudyItemId(obj.toString());//此项就是学习条目的id exam.setStudyItemId(obj.toString());//此项就是学习条目的id

View File

@@ -36,8 +36,8 @@ public class StudyHomeWorkServiceImpl implements IStudyHomeWorkService{
@Override @Override
@Transactional @Transactional
public void save(StudyHomeWork homework) { public void save(StudyHomeWork homework,String token) {
//完成处理,判断是否已存在 //完成处理,判断是否已存在
Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", homework.getStudyId()), FieldFilters.eq("contentId", homework.getContentId())); Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", homework.getStudyId()), FieldFilters.eq("contentId", homework.getContentId()));
@@ -62,7 +62,7 @@ public class StudyHomeWorkServiceImpl implements IStudyHomeWorkService{
dao.save(homework); dao.save(homework);
//检查是否全部学习完成 //检查是否全部学习完成
int totalContent=courseContentDao.count(FieldFilters.eq("courseId", homework.getCourseId()),FieldFilters.eq("deleted",false)); int totalContent=courseContentDao.count(FieldFilters.eq("courseId", homework.getCourseId()),FieldFilters.eq("deleted",false));
scDao.finishCheck(homework.getStudyId(),homework.getCourseId(),totalContent); scDao.finishCheck(homework.getStudyId(),homework.getCourseId(),totalContent,token);
}else { }else {
//只是保留一条作业记录,不再保存多条记录了 //只是保留一条作业记录,不再保存多条记录了
//dao.save(homework); //dao.save(homework);

View File

@@ -61,7 +61,7 @@ public class StudyServiceImpl implements IStudyService{
@Override @Override
@Transactional @Transactional
public void saveStudyInfo(StudyContentDto dto) { public void saveStudyInfo(StudyContentDto dto,String token) {
StudyCourseItem sci = scItemDao.findOne(FieldFilters.eq("studyId", dto.getStudyId()),FieldFilters.eq("contentId", dto.getContentId()),FieldFilters.eq("aid", dto.getAid())); StudyCourseItem sci = scItemDao.findOne(FieldFilters.eq("studyId", dto.getStudyId()),FieldFilters.eq("contentId", dto.getContentId()),FieldFilters.eq("aid", dto.getAid()));
LocalDateTime ldt=LocalDateTime.now(); LocalDateTime ldt=LocalDateTime.now();
if(sci==null) { if(sci==null) {
@@ -95,7 +95,7 @@ public class StudyServiceImpl implements IStudyService{
dto.setStudyItemId(sci.getId()); dto.setStudyItemId(sci.getId());
//检查是否全部学习完成 //检查是否全部学习完成
scDao.finishCheck(dto.getStudyId(),dto.getCourseId(),dto.getContentTotal()); scDao.finishCheck(dto.getStudyId(),dto.getCourseId(),dto.getContentTotal(),token);
} }
@@ -193,7 +193,7 @@ public class StudyServiceImpl implements IStudyService{
@Override @Override
@Transactional @Transactional
public void updateProcess(String studyContentId,String studyId, String courseId,Integer total, Integer progress) { public void updateProcess(String studyContentId,String studyId, String courseId,Integer total, Integer progress,String token) {
int status=StudyCourseItem.STATUS_STUDYING; int status=StudyCourseItem.STATUS_STUDYING;
LocalDateTime now=LocalDateTime.now(); LocalDateTime now=LocalDateTime.now();
if(progress.intValue()==100) { if(progress.intValue()==100) {
@@ -204,7 +204,7 @@ public class StudyServiceImpl implements IStudyService{
UpdateBuilder.create("finishTime",now), UpdateBuilder.create("finishTime",now),
UpdateBuilder.create("status",status)); UpdateBuilder.create("status",status));
//检查是否全部学习完成 //检查是否全部学习完成
scDao.finishCheck(studyId,courseId,total); scDao.finishCheck(studyId,courseId,total,token);
}else { }else {
scItemDao.updateMultiFieldById(studyContentId, scItemDao.updateMultiFieldById(studyContentId,
UpdateBuilder.create("progress",progress), UpdateBuilder.create("progress",progress),
@@ -296,7 +296,7 @@ public class StudyServiceImpl implements IStudyService{
@Override @Override
@Transactional @Transactional
public void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum) { public void finishVideoStudyItem(String itemId,String studyId,String courseId,Integer cnum,String token) {
LocalDateTime now=LocalDateTime.now(); LocalDateTime now=LocalDateTime.now();
scItemDao.updateMultiFieldById(itemId, scItemDao.updateMultiFieldById(itemId,
UpdateBuilder.create("progress", 100), UpdateBuilder.create("progress", 100),
@@ -305,7 +305,7 @@ public class StudyServiceImpl implements IStudyService{
UpdateBuilder.create("status",StudyCourseItem.STATUS_FINISH) UpdateBuilder.create("status",StudyCourseItem.STATUS_FINISH)
); );
//检查是否全部学习完成 //检查是否全部学习完成
scDao.finishCheck(studyId,courseId,cnum); scDao.finishCheck(studyId,courseId,cnum,token);
} }
} }