mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-06-22 11:52:43 +08:00
fixed: userCourseRecord更新
This commit is contained in:
parent
877aec3b01
commit
5e4c35f9bf
@ -18,6 +18,7 @@ package xyz.playedu.course.service.impl;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import xyz.playedu.common.types.paginate.PaginationResult;
|
import xyz.playedu.common.types.paginate.PaginationResult;
|
||||||
import xyz.playedu.common.types.paginate.UserCourseRecordPaginateFilter;
|
import xyz.playedu.common.types.paginate.UserCourseRecordPaginateFilter;
|
||||||
@ -144,6 +145,7 @@ public class UserCourseRecordServiceImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void updateUserCourseLearnProgress(Integer userId, Integer courseId, int count) {
|
public void updateUserCourseLearnProgress(Integer userId, Integer courseId, int count) {
|
||||||
UserCourseRecord record = find(userId, courseId);
|
UserCourseRecord record = find(userId, courseId);
|
||||||
if (record == null) {
|
if (record == null) {
|
||||||
@ -152,18 +154,23 @@ public class UserCourseRecordServiceImpl
|
|||||||
|
|
||||||
int finishedCount = record.getFinishedCount() - count;
|
int finishedCount = record.getFinishedCount() - count;
|
||||||
|
|
||||||
|
UserCourseRecord newRecord = new UserCourseRecord();
|
||||||
|
newRecord.setUserId(record.getUserId());
|
||||||
|
newRecord.setCourseId(record.getCourseId());
|
||||||
|
newRecord.setHourCount(record.getHourCount());
|
||||||
|
newRecord.setFinishedCount(finishedCount);
|
||||||
|
newRecord.setProgress(finishedCount * 10000 / record.getHourCount());
|
||||||
|
newRecord.setIsFinished(0);
|
||||||
|
newRecord.setCreatedAt(record.getCreatedAt());
|
||||||
|
newRecord.setUpdatedAt(new Date());
|
||||||
|
|
||||||
|
// 删除老记录
|
||||||
|
remove(query().getWrapper().eq("id", record.getId()));
|
||||||
|
|
||||||
if (0 == finishedCount) {
|
if (0 == finishedCount) {
|
||||||
remove(query().getWrapper().eq("id", record.getId()));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
UserCourseRecord newRecord = new UserCourseRecord();
|
save(newRecord);
|
||||||
newRecord.setId(record.getId());
|
|
||||||
newRecord.setIsFinished(0);
|
|
||||||
newRecord.setFinishedAt(null);
|
|
||||||
newRecord.setProgress(finishedCount * 10000 / record.getHourCount());
|
|
||||||
newRecord.setFinishedCount(finishedCount);
|
|
||||||
|
|
||||||
updateById(newRecord);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user