From 94bd823e3dbba696cff47b937165b3f86875fc4c Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 28 十一月 2025 13:55:47 +0800
Subject: [PATCH] update
---
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java | 174 +++++++++++++++++++++++++++------------------------------
1 files changed, 82 insertions(+), 92 deletions(-)
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
index a136e8b..6f2513f 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
@@ -450,20 +450,20 @@
List<TSubjectRecordDetail> listenList = subjectRecordDetails.stream().filter(e -> e.getType() == 1).collect(Collectors.toList());
int listenPass = (int) listenList.stream().filter(e -> e.getStatus() == 2).count();
int listenSize = listenList.size();
- if (listenSize!=0){
+ if (listenSize != 0) {
// 计算当前通关率
- double listenRate = (double) listenPass /listenSize;
+ double listenRate = (double) listenPass / listenSize;
TStudyListen one = studyListenService.lambdaQuery().eq(TStudyListen::getWeek, week)
.eq(TStudyListen::getDay, 1).last("limit 1").one();
- if (one!=null){
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
+ if (one != null) {
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
// 清空答题记录
subjectRecordDetailService.remove(new LambdaQueryWrapper<TSubjectRecordDetail>()
.eq(TSubjectRecordDetail::getUserId, userid)
.eq(TSubjectRecordDetail::getWeek, week)
- .eq(TSubjectRecordDetail::getDay,day)
+ .eq(TSubjectRecordDetail::getDay, day)
.eq(TSubjectRecordDetail::getType
- ,1));
+ , 1));
}
}
}
@@ -477,11 +477,11 @@
List<String> subjectIds = Arrays.stream(studyListen.getSubject().split(",")).collect(Collectors.toList());
List<TSubject> subs = new ArrayList<>();
// 图片及语音集合
- int i=0;
- for (String id : studyListen.getSubject().split( ",")) {
+ int i = 0;
+ for (String id : studyListen.getSubject().split(",")) {
TSubject data = subjectService.lambdaQuery().eq(TSubject::getId, id)
.eq(TSubject::getDisabled, 0).one();
- if(studyListen.getType()!=null && studyListen.getType()==2 && i<2){
+ if (studyListen.getType() != null && studyListen.getType() == 2 && i < 2) {
data.setStudyType(2);
}
@@ -499,14 +499,10 @@
data.setTSubjectRecordDetail(tSubjectRecordDetail);
subs.add(data);
}
- if(studyListen.getSubject().equals("10325,10327,10326,10328")){
- System.out.println("数据3331"+subs);
- }
+ System.out.println(studyListen.getId() + "数据3331" + subs);
subjectList.add(subs);
- if(studyListen.getSubject().equals("10325,10327,10326,10328")){
- System.out.println("数据4441"+subjectList);
- }
+ System.out.println(studyListen.getId() + "数据4441" + subjectList);
}
// subjectRecordDetailService.saveBatch(tSubjectRecordDetails);
studyListenResultVO.setList(tSubjectRecordDetails);
@@ -520,24 +516,22 @@
List<TSubject> subs = new ArrayList<>();
List<TSubject> subsTemp = new ArrayList<>();
// 图片及语音集合
- int temp=0;
- for (String id : studyListen.getSubject().split( ",")) {
+ int temp = 0;
+ for (String id : studyListen.getSubject().split(",")) {
TSubject data = subjectService.lambdaQuery().eq(TSubject::getId, id)
.eq(TSubject::getDisabled, 0).one();
- if(studyListen.getType()!=null && studyListen.getType()==2 && temp<2){
+ if (studyListen.getType() != null && studyListen.getType() == 2 && temp < 2) {
data.setStudyType(2);
}
temp++;
subs.add(data);
}
- if(studyListen.getSubject().equals("10325,10327,10326,10328")){
- System.out.println("数据3332"+subs);
- }
+ System.out.println(studyListen.getId() + "数据3332" + subs);
List<TSubjectRecordDetail> tSubjectRecordDetail1 = list.stream()
.filter(e -> e.getObjectId().equals(studyListen.getId())).collect(Collectors.toList());
- if (tSubjectRecordDetail1.isEmpty()){
+ if (tSubjectRecordDetail1.isEmpty()) {
for (int i = 0; i < 4; i++) {
TSubjectRecordDetail tSubjectRecordDetail = new TSubjectRecordDetail();
tSubjectRecordDetail.setUserId(userid);
@@ -553,15 +547,15 @@
tSubject.setTSubjectRecordDetail(tSubjectRecordDetail);
subsTemp.add(tSubject);
}
- }else{
+ } else {
for (int i = 0; i < 4; i++) {
- TSubjectRecordDetail tSubjectRecordDetail = tSubjectRecordDetail1.get( i);
+ TSubjectRecordDetail tSubjectRecordDetail = tSubjectRecordDetail1.get(i);
Integer subjectId = tSubjectRecordDetail.getSubjectId();
TSubject tSubject = subs.stream().filter(e -> e.getId().equals(subjectId)).findFirst().orElse(null);
- if(tSubject!=null){
+ if (tSubject != null) {
tSubject.setTSubjectRecordDetail(tSubjectRecordDetail);
subsTemp.add(tSubject);
- }else {
+ } else {
TSubject tSubject1 = subs.get(i);
tSubjectRecordDetail.setSubjectId(tSubject1.getId());
@@ -572,9 +566,7 @@
tSubjectRecordDetails.add(tSubjectRecordDetail);
}
}
- if(studyListen.getSubject().equals("10325,10327,10326,10328")){
- System.out.println("数据55552"+subsTemp);
- }
+ System.out.println(studyListen.getStudyId() + "数据55552" + subsTemp);
// 单独处理排序问题
String subject = studyListen.getSubject();
@@ -584,9 +576,7 @@
TSubject tSubject = subsTemp.stream().filter(e -> e.getId().equals(s)).findFirst().orElse(null);
subsTempNext.add(tSubject);
}
- if(studyListen.getSubject().equals("10325,10327,10326,10328")){
- System.out.println("数据4442"+subsTempNext);
- }
+ System.out.println(studyListen.getId() + "数据4442" + subsTempNext);
subjectList.add(subsTemp);
}
@@ -598,7 +588,7 @@
studyListenResultVO.setAccuracy(accuracy);
}
studyListenResultVO.setSubjectList(subjectList);
- System.out.println("数据!!!"+subjectList);
+ System.out.println("数据!!!" + subjectList);
return studyListenResultVO;
}
@@ -628,36 +618,36 @@
List<TSubjectRecordDetail> listenList = subjectRecordDetails.stream().filter(e -> e.getType() == 1).collect(Collectors.toList());
int listenPass = (int) listenList.stream().filter(e -> e.getStatus() == 2).count();
int listenSize = listenList.size();
- if (listenSize!=0){
+ if (listenSize != 0) {
// 先计算上一天的通关率 设置为两位小数
- double listenRate = (double) listenPass /listenSize;
+ double listenRate = (double) listenPass / listenSize;
BigDecimal divide = new BigDecimal(listenPass).divide(new BigDecimal(listenSize), 2, RoundingMode.HALF_UP);
TStudyListen one = studyListenService.lambdaQuery().eq(TStudyListen::getWeek, week)
.eq(TStudyListen::getDay, 1).last("limit 1").one();
- if (one!=null){
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
- return R.fail("听音选图未达到通关率"+one.getRate()+"%,"+"当前通关率:"+divide.multiply(new BigDecimal(100))+"%");
+ if (one != null) {
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
+ return R.fail("听音选图未达到通关率" + one.getRate() + "%," + "当前通关率:" + divide.multiply(new BigDecimal(100)) + "%");
}
}
}
List<TSubjectRecordDetail> lookList1 = subjectRecordDetails.stream().filter(e -> e.getType() == 2).collect(Collectors.toList());
int lookPass = (int) lookList1.stream().filter(e -> e.getStatus() == 2).count();
int lookSize = lookList1.size();
- if (lookSize!=0){
+ if (lookSize != 0) {
// 计算当前通关率
- double listenRate = (double) lookPass /lookSize;
+ double listenRate = (double) lookPass / lookSize;
TStudyLook one = studyLookService.lambdaQuery().eq(TStudyLook::getWeek, week)
.eq(TStudyLook::getDay, 2).last("limit 1").one();
- if (one!=null){
+ if (one != null) {
// 通关率未达标
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
// 清空答题记录
subjectRecordDetailService.remove(new LambdaQueryWrapper<TSubjectRecordDetail>()
.eq(TSubjectRecordDetail::getUserId, userid)
.eq(TSubjectRecordDetail::getWeek, week)
- .eq(TSubjectRecordDetail::getDay,day)
+ .eq(TSubjectRecordDetail::getDay, day)
.eq(TSubjectRecordDetail::getType
- ,2));
+ , 2));
}
}
}
@@ -716,7 +706,7 @@
subjects.sort(Comparator.comparingInt(TSubject::getSort));
subjectList.add(subjects);
List<TSubjectRecordDetail> tSubjectRecordDetail1 = list.stream().filter(e -> e.getObjectId().equals(studyLook.getId())).collect(Collectors.toList());
- if (tSubjectRecordDetail1.isEmpty()){
+ if (tSubjectRecordDetail1.isEmpty()) {
TSubjectRecordDetail tSubjectRecordDetail = new TSubjectRecordDetail();
tSubjectRecordDetail.setUserId(userid);
tSubjectRecordDetail.setWeek(week);
@@ -726,7 +716,7 @@
tSubjectRecordDetail.setObjectId(studyLook.getId());
tSubjectRecordDetails.add(tSubjectRecordDetail);
subjectRecordDetailService.save(tSubjectRecordDetail);
- }else{
+ } else {
tSubjectRecordDetails.addAll(tSubjectRecordDetail1);
}
@@ -772,36 +762,36 @@
List<TSubjectRecordDetail> listenList = subjectRecordDetails.stream().filter(e -> e.getType() == 2).collect(Collectors.toList());
int listenPass = (int) listenList.stream().filter(e -> e.getStatus() == 2).count();
int listenSize = listenList.size();
- if (listenSize!=0){
+ if (listenSize != 0) {
// 先计算上一天的通关率 设置为两位小数
- double listenRate = (double) listenPass /listenSize;
+ double listenRate = (double) listenPass / listenSize;
BigDecimal divide = new BigDecimal(listenPass).divide(new BigDecimal(listenSize), 2, RoundingMode.HALF_UP);
TStudyLook one = studyLookService.lambdaQuery().eq(TStudyLook::getWeek, week)
.eq(TStudyLook::getDay, 2).last("limit 1").one();
- if (one!=null){
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
- return R.fail("看图选音未达到通关率"+one.getRate()+"%,"+"当前通关率:"+divide.multiply(new BigDecimal(100))+"%");
+ if (one != null) {
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
+ return R.fail("看图选音未达到通关率" + one.getRate() + "%," + "当前通关率:" + divide.multiply(new BigDecimal(100)) + "%");
}
}
}
List<TSubjectRecordDetail> lookList1 = subjectRecordDetails.stream().filter(e -> e.getType() == 3).collect(Collectors.toList());
int lookPass = (int) lookList1.stream().filter(e -> e.getStatus() == 2).count();
int lookSize = lookList1.size();
- if (lookSize!=0){
+ if (lookSize != 0) {
// 计算当前通关率
- double listenRate = (double) lookPass /lookSize;
+ double listenRate = (double) lookPass / lookSize;
TStudyInduction one = studyInductionService.lambdaQuery().eq(TStudyInduction::getWeek, week)
.eq(TStudyInduction::getDay, 3).last("limit 1").one();
- if (one!=null){
+ if (one != null) {
// 通关率未达标
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
// 清空答题记录
subjectRecordDetailService.remove(new LambdaQueryWrapper<TSubjectRecordDetail>()
.eq(TSubjectRecordDetail::getUserId, userid)
.eq(TSubjectRecordDetail::getWeek, week)
- .eq(TSubjectRecordDetail::getDay,day)
+ .eq(TSubjectRecordDetail::getDay, day)
.eq(TSubjectRecordDetail::getType
- ,3));
+ , 3));
}
}
}
@@ -895,7 +885,7 @@
subjectList.add(subjectLists);
TSubjectRecordDetail tSubjectRecordDetail1 = list.stream().filter(e -> e.getObjectId().equals(data.getId())).findFirst().orElse(null);
- if (tSubjectRecordDetail1==null){
+ if (tSubjectRecordDetail1 == null) {
TSubjectRecordDetail tSubjectRecordDetail = new TSubjectRecordDetail();
tSubjectRecordDetail.setUserId(userid);
tSubjectRecordDetail.setWeek(week);
@@ -906,7 +896,7 @@
subjectRecordDetailService.save(tSubjectRecordDetail);
tSubjectRecordDetails.add(tSubjectRecordDetail);
- }else{
+ } else {
tSubjectRecordDetails.add(tSubjectRecordDetail1);
}
}
@@ -915,7 +905,7 @@
.divide(new BigDecimal(tSubjectRecordDetails.size()), 2, RoundingMode.HALF_UP));
}
studyListenResultVO.setSubjectList(subjectList);
- System.err.println("归纳排除题目"+subjectList);
+ System.err.println("归纳排除题目" + subjectList);
return R.ok(studyListenResultVO);
}
@@ -924,10 +914,10 @@
if (answerList.isEmpty()) {
throw new GlobalException("当前学习周目题目数量不足!");
}
- if (answerList.size()<4){
+ if (answerList.size() < 4) {
throw new GlobalException("当前学习周目题目数量不足!");
}
- if (answerList.size()%4!=0){
+ if (answerList.size() % 4 != 0) {
throw new GlobalException("当前学习周目题目数量不足");
}
// 题组信息
@@ -956,36 +946,36 @@
List<TSubjectRecordDetail> listenList = subjectRecordDetails.stream().filter(e -> e.getType() == 3).collect(Collectors.toList());
int listenPass = (int) listenList.stream().filter(e -> e.getStatus() == 2).count();
int listenSize = listenList.size();
- if (listenSize!=0){
+ if (listenSize != 0) {
// 先计算上一天的通关率 设置为两位小数
- double listenRate = (double) listenPass /listenSize;
+ double listenRate = (double) listenPass / listenSize;
BigDecimal divide = new BigDecimal(listenPass).divide(new BigDecimal(listenSize), 2, RoundingMode.HALF_UP);
TStudyInduction one = studyInductionService.lambdaQuery().eq(TStudyInduction::getWeek, week)
.eq(TStudyInduction::getDay, 3).last("limit 1").one();
- if (one!=null){
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
- return R.fail("归纳排除未达到通关率"+one.getRate()+"%,"+"当前通关率:"+divide.multiply(new BigDecimal(100))+"%");
+ if (one != null) {
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
+ return R.fail("归纳排除未达到通关率" + one.getRate() + "%," + "当前通关率:" + divide.multiply(new BigDecimal(100)) + "%");
}
}
}
List<TSubjectRecordDetail> lookList1 = subjectRecordDetails.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
int lookPass = (int) lookList1.stream().filter(e -> e.getStatus() == 2).count();
int lookSize = lookList1.size();
- if (lookSize!=0){
+ if (lookSize != 0) {
// 计算当前通关率
- double listenRate = (double) lookPass /lookSize;
+ double listenRate = (double) lookPass / lookSize;
TStudyAnswer one = studyAnswerService.lambdaQuery().eq(TStudyAnswer::getWeek, week)
.eq(TStudyAnswer::getDay, 4).last("limit 1").one();
- if (one!=null){
+ if (one != null) {
// 通关率未达标
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
// 清空答题记录
subjectRecordDetailService.remove(new LambdaQueryWrapper<TSubjectRecordDetail>()
.eq(TSubjectRecordDetail::getUserId, userid)
.eq(TSubjectRecordDetail::getWeek, week)
- .eq(TSubjectRecordDetail::getDay,day)
+ .eq(TSubjectRecordDetail::getDay, day)
.eq(TSubjectRecordDetail::getType
- ,4));
+ , 4));
}
}
}
@@ -1117,36 +1107,36 @@
List<TSubjectRecordDetail> listenList = subjectRecordDetails.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
int listenPass = (int) listenList.stream().filter(e -> e.getStatus() == 2).count();
int listenSize = listenList.size();
- if (listenSize!=0){
+ if (listenSize != 0) {
// 先计算上一天的通关率 设置为两位小数
- double listenRate = (double) listenPass /listenSize;
+ double listenRate = (double) listenPass / listenSize;
BigDecimal divide = new BigDecimal(listenPass).divide(new BigDecimal(listenSize), 2, RoundingMode.HALF_UP);
TStudyAnswer one = studyAnswerService.lambdaQuery().eq(TStudyAnswer::getWeek, week)
.eq(TStudyAnswer::getDay, 4).last("limit 1").one();
- if (one!=null){
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
- return R.fail("归纳排除未达到通关率"+one.getRate()+"%,"+"当前通关率:"+divide.multiply(new BigDecimal(100))+"%");
+ if (one != null) {
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
+ return R.fail("归纳排除未达到通关率" + one.getRate() + "%," + "当前通关率:" + divide.multiply(new BigDecimal(100)) + "%");
}
}
}
List<TSubjectRecordDetail> lookList1 = subjectRecordDetails.stream().filter(e -> e.getType() == 5).collect(Collectors.toList());
int lookPass = (int) lookList1.stream().filter(e -> e.getStatus() == 2).count();
int lookSize = lookList1.size();
- if (lookSize!=0){
+ if (lookSize != 0) {
// 计算当前通关率
- double listenRate = (double) lookPass /lookSize;
+ double listenRate = (double) lookPass / lookSize;
TStudyPair one = studyPairService.lambdaQuery().eq(TStudyPair::getWeek, week)
.eq(TStudyPair::getDay, 5).last("limit 1").one();
- if (one!=null){
+ if (one != null) {
// 通关率未达标
- if (listenRate<(Double.parseDouble(one.getRate())/100)){
+ if (listenRate < (Double.parseDouble(one.getRate()) / 100)) {
// 清空答题记录
subjectRecordDetailService.remove(new LambdaQueryWrapper<TSubjectRecordDetail>()
.eq(TSubjectRecordDetail::getUserId, userid)
.eq(TSubjectRecordDetail::getWeek, week)
- .eq(TSubjectRecordDetail::getDay,day)
+ .eq(TSubjectRecordDetail::getDay, day)
.eq(TSubjectRecordDetail::getType
- ,5));
+ , 5));
}
}
}
@@ -1164,7 +1154,7 @@
List<String> subjectIds = Arrays.stream(data.getSubject().split(",")).collect(Collectors.toList());
List<TSubject> subjectLists = new ArrayList<>();
- for (String id : data.getSubject().split( ",")) {
+ for (String id : data.getSubject().split(",")) {
if (id.startsWith("-")) {
id = id.replace("-", "");
}
@@ -1194,7 +1184,7 @@
subjectList.add(subjectLists);
List<TSubjectRecordDetail> tSubjectRecordDetail1 = list.stream().filter(e -> e.getObjectId().equals(data.getId())).collect(Collectors.toList());
- if (tSubjectRecordDetail1.isEmpty()){
+ if (tSubjectRecordDetail1.isEmpty()) {
TSubjectRecordDetail tSubjectRecordDetail = new TSubjectRecordDetail();
tSubjectRecordDetail.setUserId(userid);
tSubjectRecordDetail.setWeek(week);
@@ -1204,7 +1194,7 @@
tSubjectRecordDetail.setObjectId(data.getId());
subjectRecordDetailService.save(tSubjectRecordDetail);
tSubjectRecordDetails.add(tSubjectRecordDetail);
- }else{
+ } else {
tSubjectRecordDetails.addAll(tSubjectRecordDetail1);
}
}
@@ -1213,13 +1203,13 @@
studyListenResultVO.setAccuracy(new BigDecimal(tSubjectRecordDetails.stream().filter(tSubjectRecordDetail -> tSubjectRecordDetail.getStatus().equals(2)).count())
.divide(new BigDecimal(tSubjectRecordDetails.size()), 2, RoundingMode.HALF_UP));
}
- System.err.println("音图相配返回VO"+studyListenResultVO.getList());
+ System.err.println("音图相配返回VO" + studyListenResultVO.getList());
return R.ok(studyListenResultVO);
}
@Override
public int computeSchedule(TUserStudy result, Integer week) {
- System.err.println("用户学习进度"+result);
+ System.err.println("用户学习进度" + result);
List<TStudy> studyList = this.lambdaQuery().eq(TStudy::getDisabled, 0)
.orderByAsc(TStudy::getWeek).list();
// 基础学习进度
@@ -1250,8 +1240,8 @@
thisQuarter = key;
}
}
- System.err.println("当前进入周目所属季度"+studyQuarter);
- System.err.println("进入周目所属季度"+thisQuarter);
+ System.err.println("当前进入周目所属季度" + studyQuarter);
+ System.err.println("进入周目所属季度" + thisQuarter);
// 默认进度为 0
int defaultSchedule;
// 季度判断
@@ -1269,7 +1259,7 @@
} else if (studyIndex < weekIndex) {
defaultSchedule = 0;
} else {
- System.err.println("学习到Day"+day);
+ System.err.println("学习到Day" + day);
// 根据day初始化学习进度
if (Constants.ONE.equals(day)) {
defaultSchedule = 0;
--
Gitblit v1.7.1