| | |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); |
| | | studyRecord = studyService.studySchedule(studyRecord, week); |
| | | // 数据库保存的是已完成的学习进度,返回前端时需要转换为剩余学习进度 |
| | | // -1 表示未开始(中性值)原样返回;100 表示已完成,转换为 0(剩余0%) |
| | | studyRecord.setLook(convertToSurplus(studyRecord.getLook())); |
| | | studyRecord.setPair(convertToSurplus(studyRecord.getPair())); |
| | | studyRecord.setAnswer(convertToSurplus(studyRecord.getAnswer())); |
| | | studyRecord.setInduction(convertToSurplus(studyRecord.getInduction())); |
| | | studyRecord.setListen(convertToSurplus(studyRecord.getListen())); |
| | | Integer look = studyRecord.getLook(); |
| | | if (look != 100 && look != -1) { |
| | | studyRecord.setLook(100 - look); |
| | | } |
| | | Integer pair = studyRecord.getPair(); |
| | | if (pair != 100 && pair != -1) { |
| | | studyRecord.setPair(100 - pair); |
| | | } |
| | | Integer answer = studyRecord.getAnswer(); |
| | | if (answer != 100 && answer != -1) { |
| | | studyRecord.setAnswer(100 - answer); |
| | | } |
| | | Integer induction = studyRecord.getInduction(); |
| | | if (induction != 100 && induction != -1) { |
| | | studyRecord.setInduction(100 - induction); |
| | | } |
| | | Integer listen = studyRecord.getListen(); |
| | | if (listen != 100 && listen != -1) { |
| | | studyRecord.setListen(100 - listen); |
| | | } |
| | | } |
| | | return R.ok(studyRecord); |
| | | } |
| | | |
| | | /** |
| | | * 将数据库中的「已完成学习进度」转换为前端展示的「剩余学习进度」 |
| | | * |
| | | * @param completedProgress 已完成进度;-1 表示未开始,100 表示已完成 |
| | | * @return 剩余进度;未开始(-1)原样返回 |
| | | */ |
| | | private Integer convertToSurplus(Integer completedProgress) { |
| | | if (null == completedProgress || Constants.BURDEN_ONE.equals(completedProgress)) { |
| | | return completedProgress; |
| | | } |
| | | return Constants.ONE_HUNDRED - completedProgress; |
| | | } |
| | | |
| | | /** |