mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-08-20 12:29:30 +08:00
fixed: 学员课时记录删除的线上课进度更新
This commit is contained in:
parent
015d8df1ac
commit
8b1203d9d2
@ -21,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import xyz.playedu.api.domain.UserCourseRecord;
|
|
||||||
import xyz.playedu.api.event.UserCourseHourRecordDestroyEvent;
|
import xyz.playedu.api.event.UserCourseHourRecordDestroyEvent;
|
||||||
import xyz.playedu.api.service.UserCourseRecordService;
|
import xyz.playedu.api.service.UserCourseRecordService;
|
||||||
|
|
||||||
@ -38,14 +37,6 @@ public class UserCourseHourRecordDestroyListener {
|
|||||||
|
|
||||||
@EventListener
|
@EventListener
|
||||||
public void updateUserCourseRecord(UserCourseHourRecordDestroyEvent e) {
|
public void updateUserCourseRecord(UserCourseHourRecordDestroyEvent e) {
|
||||||
UserCourseRecord record = userCourseRecordService.find(e.getUserId(), e.getCourseId());
|
userCourseRecordService.decrease(e.getUserId(), e.getCourseId(), 1);
|
||||||
if (record == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
userCourseRecordService.storeOrUpdate(
|
|
||||||
record.getUserId(),
|
|
||||||
record.getCourseId(),
|
|
||||||
record.getHourCount(),
|
|
||||||
record.getFinishedCount() - 1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,4 +48,6 @@ public interface UserCourseRecordService extends IService<UserCourseRecord> {
|
|||||||
void removeByCourseId(Integer courseId);
|
void removeByCourseId(Integer courseId);
|
||||||
|
|
||||||
List<UserCourseRecord> chunks(List<Integer> ids, List<String> fields);
|
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) {
|
public void destroy(Integer userId, Integer courseId) {
|
||||||
remove(query().getWrapper().in("user_id", userId).eq("course_id", 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user