mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-12-25 20:35:35 +08:00
fixed: 学员课时记录删除的线上课进度更新
This commit is contained in:
@@ -48,4 +48,6 @@ public interface UserCourseRecordService extends IService<UserCourseRecord> {
|
||||
void removeByCourseId(Integer courseId);
|
||||
|
||||
List<UserCourseRecord> chunks(List<Integer> ids, List<String> fields);
|
||||
|
||||
void decrease(Integer userId, Integer courseId, int count);
|
||||
}
|
||||
|
||||
@@ -137,4 +137,23 @@ public class UserCourseRecordServiceImpl
|
||||
public void destroy(Integer userId, Integer courseId) {
|
||||
remove(query().getWrapper().in("user_id", userId).eq("course_id", courseId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decrease(Integer userId, Integer courseId, int count) {
|
||||
UserCourseRecord record = find(userId, courseId);
|
||||
if (record == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int finishedCount = record.getFinishedCount() - count;
|
||||
|
||||
UserCourseRecord newRecord = new UserCourseRecord();
|
||||
newRecord.setId(record.getId());
|
||||
newRecord.setFinishedCount(finishedCount);
|
||||
newRecord.setFinishedAt(null);
|
||||
newRecord.setProgress(finishedCount * 100 / record.getHourCount());
|
||||
newRecord.setIsFinished(0);
|
||||
|
||||
updateById(newRecord);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user