From 6ef9c9fb159956dca692cd151b948d119c070bf5 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Tue, 8 Jul 2025 15:34:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E8=AF=A6=E6=83=85=E3=80=81?= =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E5=88=97=E8=A1=A8=E6=B7=BB=E5=8A=A0=E8=80=83?= =?UTF-8?q?=E8=AF=95=E5=91=A8=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ClassEntityServiceImpl.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java index 4c2dddea..c54e9753 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java @@ -28,6 +28,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; @Slf4j @@ -632,6 +634,16 @@ public class ClassEntityServiceImpl extends ServiceImpl result = new HashMap<>(); result.put("class",classEntity); result.put("classModel",classModel); + result.put("examStartTime",""); + result.put("examEndTime",""); + result.put("examEndDays",""); + if (classModel.getIsExam()==1){ + Date examStartTime = DateUtils.addDateDays(classEntity.getStartTime(),classModel.getDays()); + result.put("examStartTime",DateUtils.stringToDate(DateUtils.format(examStartTime),"yyyy-MM-dd")); + Date examEndTime = DateUtils.addDateDays(classEntity.getStartTime(),classModel.getDays()-1+classModel.getExamDays()); + result.put("examEndTime",DateUtils.stringToDate(DateUtils.format(examEndTime)+" 23:59:59","yyyy-MM-dd HH:mm:ss")); + result.put("examEndDays",Math.ceil((examStartTime.getTime()-new Date().getTime())/60/60/24/1000)); + } result.put("courses",courses); result.put("admins",admins); result.put("students",studentRes); @@ -827,6 +839,7 @@ public class ClassEntityServiceImpl extends ServiceImpl> list = this.baseMapper.selectMaps(wrapper); if (list.size() > 0){ for (Map map:list){ - map.put("classModel",classModelDao.selectById(map.get("modelId").toString())); + ClassModel classModel = classModelDao.selectById(map.get("modelId").toString()); + map.put("classModel",classModel); map.put("role",classUserDao.selectList(new LambdaQueryWrapper() .eq(ClassUser::getClassId,map.get("id").toString()) .eq(ClassUser::getUserId,ShiroUtils.getUId()))); + map.put("studyEndTime",""); + map.put("examStartTime",""); + map.put("examEndTime",""); + if (map.get("startTime")!=null){ + LocalDateTime dateTime = (LocalDateTime)map.get("startTime"); + Date studyEndTime = DateUtils.addDateDays(Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant()),classModel.getDays()-1); + map.put("studyEndTime",DateUtils.stringToDate(DateUtils.format(studyEndTime)+" 23:59:59","yyyy-MM-dd HH:mm:ss")); + if (classModel.getIsExam()==1){ + Date examStartTime = DateUtils.addDateDays(Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant()),classModel.getDays()); + map.put("examStartTime",DateUtils.stringToDate(DateUtils.format(examStartTime),"yyyy-MM-dd")); + Date examEndTime = DateUtils.addDateDays(Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant()),classModel.getDays()-1+classModel.getExamDays()); + map.put("examEndTime",DateUtils.stringToDate(DateUtils.format(examEndTime)+" 23:59:59","yyyy-MM-dd HH:mm:ss")); + } + } } } return list;