feat: 结束会话时返回有效时间不足的提示信息
- StudySessionsServiceImpl: 检测 effectiveTime 被清零时返回提示消息 - StudySessionController: 将提示消息通过 CommonResult.success(message) 传给前端
This commit is contained in:
+2
-2
@@ -67,8 +67,8 @@ public class StudySessionController {
|
|||||||
@PostMapping("/{sessionNum}/study-sessions/ended")
|
@PostMapping("/{sessionNum}/study-sessions/ended")
|
||||||
public CommonResult<Void> endedStudySession(@PathVariable("sessionNum") String sessionNum,
|
public CommonResult<Void> endedStudySession(@PathVariable("sessionNum") String sessionNum,
|
||||||
@Valid @RequestBody EndedStudySessionRequest request) throws ErrorParameterException {
|
@Valid @RequestBody EndedStudySessionRequest request) throws ErrorParameterException {
|
||||||
studySessionsServiceImpl.endedStudySession(sessionNum, request.getContent());
|
String message = studySessionsServiceImpl.endedStudySession(sessionNum, request.getContent());
|
||||||
return CommonResult.success();
|
return message != null ? CommonResult.success(message) : CommonResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+6
-1
@@ -93,16 +93,21 @@ public class StudySessionsServiceImpl extends ServiceImpl<StudySessionsMapper, S
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void endedStudySession(String sessionNum, String content) throws ErrorParameterException {
|
public String endedStudySession(String sessionNum, String content) throws ErrorParameterException {
|
||||||
StudySessionsEntity studySessionsEntity = this.getOneOpt(Wrappers.lambdaQuery(StudySessionsEntity.class)
|
StudySessionsEntity studySessionsEntity = this.getOneOpt(Wrappers.lambdaQuery(StudySessionsEntity.class)
|
||||||
.eq(StudySessionsEntity::getSessionNum, sessionNum))
|
.eq(StudySessionsEntity::getSessionNum, sessionNum))
|
||||||
.orElseThrow(() -> new ErrorParameterException("会话[" + sessionNum + "]不存在"));
|
.orElseThrow(() -> new ErrorParameterException("会话[" + sessionNum + "]不存在"));
|
||||||
|
boolean wasOngoing = StudySessionStateEnum.ONGOING.name().equals(studySessionsEntity.getSessionState());
|
||||||
studySessionsEntity.endedStudySession();
|
studySessionsEntity.endedStudySession();
|
||||||
this.updateById(studySessionsEntity);
|
this.updateById(studySessionsEntity);
|
||||||
StudyReportsEntity studyReportsEntity = new StudyReportsEntity();
|
StudyReportsEntity studyReportsEntity = new StudyReportsEntity();
|
||||||
studyReportsEntity.setSessionNum(sessionNum);
|
studyReportsEntity.setSessionNum(sessionNum);
|
||||||
studyReportsEntity.setContent(content);
|
studyReportsEntity.setContent(content);
|
||||||
studyReportsMapper.insert(studyReportsEntity);
|
studyReportsMapper.insert(studyReportsEntity);
|
||||||
|
if (wasOngoing && studySessionsEntity.getEffectiveTime() == 0) {
|
||||||
|
return "本次有效学习时间不足10分钟,不计入总学习时间";
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user