mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-25 02:32:57 +08:00
fix: 【FCJDFDXTXS-190】手动添加报名记录逻辑修正:1.修改学习人数 2.判断此前是否存在记录
This commit is contained in:
@@ -84,56 +84,65 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
||||
}
|
||||
signupDao.save(signup);
|
||||
//添加到课程学习
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
StudyCourse sc=new StudyCourse();
|
||||
sc.setAddTime(now);
|
||||
sc.setAid(signup.getAid());
|
||||
sc.setAname(signup.getName());
|
||||
sc.setCourseId(signup.getCourseId());
|
||||
sc.setCourseName(signup.getCourseName());
|
||||
sc.setCourseType(signup.getCourseType());
|
||||
sc.setStartTime(now);
|
||||
sc.setFinishTime(null);
|
||||
sc.setLastScore(0f);
|
||||
sc.setProgress(0f);
|
||||
sc.setSource(signup.getAuditType());//来源方式,和报名类型一致
|
||||
sc.setStatus(StudyCourse.STATUS_NOSTUDY);
|
||||
sc.setStatusTime(now);
|
||||
sc.setLastTime(sc.getAddTime());
|
||||
sc.setTotalDuration(0);
|
||||
studyCourseDao.save(sc);
|
||||
signup.setStudyId(sc.getId());
|
||||
//发布到ES
|
||||
if(esSearch!=null) {
|
||||
CourseStudyDto dto=new CourseStudyDto();
|
||||
dto.setId(sc.getId());
|
||||
dto.setAccountId(sc.getAid());
|
||||
dto.setCourseId(sc.getCourseId());
|
||||
dto.setCourseImage(sc.getCourseImage());
|
||||
dto.setCourseName(sc.getCourseName());
|
||||
dto.setCourseType(sc.getCourseType());
|
||||
dto.setProgress(sc.getProgress()==null? 0:sc.getProgress().intValue());
|
||||
dto.setSource(2);//固定值,新系统
|
||||
//下面模拟添加线下课程报名,用于本地测试
|
||||
// 判断是否存在旧的学习记录
|
||||
StudyCourse sc = studyCourseDao.findByCourseIdAndAid(signup.getAid(), signup.getCourseId());
|
||||
if (sc != null) {
|
||||
log.info("用户【{}】已存在学习记录,不再重复添加", signup.getName());
|
||||
sc = studyCourseDao.findByCourseIdAndAid(signup.getAid(), signup.getCourseId());
|
||||
} else {
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
sc=new StudyCourse();
|
||||
sc.setAddTime(now);
|
||||
sc.setAid(signup.getAid());
|
||||
sc.setAname(signup.getName());
|
||||
sc.setCourseId(signup.getCourseId());
|
||||
sc.setCourseName(signup.getCourseName());
|
||||
sc.setCourseType(signup.getCourseType());
|
||||
sc.setStartTime(now);
|
||||
sc.setFinishTime(null);
|
||||
sc.setLastScore(0f);
|
||||
sc.setProgress(0f);
|
||||
sc.setSource(signup.getAuditType());//来源方式,和报名类型一致
|
||||
sc.setStatus(StudyCourse.STATUS_NOSTUDY);
|
||||
sc.setStatusTime(now);
|
||||
sc.setLastTime(sc.getAddTime());
|
||||
sc.setTotalDuration(0);
|
||||
studyCourseDao.save(sc);
|
||||
signup.setStudyId(sc.getId());
|
||||
//发布到ES
|
||||
if(esSearch!=null) {
|
||||
CourseStudyDto dto=new CourseStudyDto();
|
||||
dto.setId(sc.getId());
|
||||
dto.setAccountId(sc.getAid());
|
||||
dto.setCourseId(sc.getCourseId());
|
||||
dto.setCourseImage(sc.getCourseImage());
|
||||
dto.setCourseName(sc.getCourseName());
|
||||
dto.setCourseType(sc.getCourseType());
|
||||
dto.setProgress(sc.getProgress()==null? 0:sc.getProgress().intValue());
|
||||
dto.setSource(2);//固定值,新系统
|
||||
//下面模拟添加线下课程报名,用于本地测试
|
||||
// dto.setCourseType(30);
|
||||
// dto.setSource(3);//来源在线课
|
||||
// dto.setSource(3);//来源在线课
|
||||
// dto.setApplyStatus(50);
|
||||
// dto.setCourseAddress("这里是上课地址");
|
||||
// dto.setAttendCourseTime(LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")));
|
||||
//如果开始时间没有,就使用添加时间
|
||||
if(sc.getStartTime()!=null) {
|
||||
dto.setStartTime(sc.getStartTime().toEpochSecond(ZoneOffset.of("+8")));
|
||||
}else {
|
||||
dto.setStartTime(sc.getAddTime().toEpochSecond(ZoneOffset.of("+8")));
|
||||
}
|
||||
dto.setStatus(sc.getStatus());
|
||||
try {
|
||||
esSearch.publishOrUpdate(dto, null);
|
||||
} catch (IOException e) {
|
||||
log.error("ES发布报名课程学习【"+sc.getAname()+","+sc.getCourseName()+"】失败",e);
|
||||
|
||||
//如果开始时间没有,就使用添加时间
|
||||
if(sc.getStartTime()!=null) {
|
||||
dto.setStartTime(sc.getStartTime().toEpochSecond(ZoneOffset.of("+8")));
|
||||
}else {
|
||||
dto.setStartTime(sc.getAddTime().toEpochSecond(ZoneOffset.of("+8")));
|
||||
}
|
||||
dto.setStatus(sc.getStatus());
|
||||
try {
|
||||
esSearch.publishOrUpdate(dto, null);
|
||||
} catch (IOException e) {
|
||||
log.error("ES发布报名课程学习【"+sc.getAname()+","+sc.getCourseName()+"】失败",e);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//更新课程学习人数
|
||||
courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||
|
||||
return sc;
|
||||
//courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||
|
||||
Reference in New Issue
Block a user