From 0a46f676ba1e6057a661ef89af8631ee107d3cba Mon Sep 17 00:00:00 2001 From: zhanglei Date: Tue, 25 Aug 2026 16:23:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=95=99=E5=9F=B9=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cedu/model/entity/ClassCourseDO.java | 6 +++ .../cedu/model/entity/ClassStudentDO.java | 6 +++ .../service/impl/ClassCourseServiceImpl.java | 49 +++++++++---------- 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java index 2d15f1a9..8c944606 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassCourseDO.java @@ -32,9 +32,15 @@ public class ClassCourseDO extends BaseEntity { @TableField("course_id") private Long courseId; + /** + * 要求学时 + */ @TableField("required_total_hours") private BigDecimal requiredTotalHours; + /** + * 视频时长 + */ @TableField("video_duration") private BigDecimal videoDuration; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java index 29f0da82..3fd7be78 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/ClassStudentDO.java @@ -43,9 +43,15 @@ public class ClassStudentDO extends BaseEntity { @TableField("face_auth") private Integer faceAuth; + /** + * 要求学时 + */ @TableField("required_hours") private BigDecimal requiredHours; + /** + * 完成学时 + */ @TableField("completed_hours") private BigDecimal completedHours; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java index 1a986205..c1336aa9 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java @@ -144,24 +144,17 @@ public class ClassCourseServiceImpl extends ServiceImpl coursewareManagementDOS = coursewareManagementMapper.selectBatchIds(CollectionUtils.isEmpty(dto.getCoursewareId()) ? Collections.singletonList(0L) : dto.getCoursewareId()); - // 判空 - if (entity.getRequiredTotalHours() != null) { - entity.setRequiredTotalHours(entity.getRequiredTotalHours().add(coursewareManagementDOS.stream().map(CoursewareManagementDO::getClassHourDuration).reduce(BigDecimal.ZERO, BigDecimal::add))); - } else { - entity.setRequiredTotalHours(coursewareManagementDOS.stream().map(CoursewareManagementDO::getClassHourDuration).reduce(BigDecimal.ZERO, BigDecimal::add)); - } - if (entity.getVideoDuration() != null) { - entity.setVideoDuration(entity.getVideoDuration().add(coursewareManagementDOS.stream().map(CoursewareManagementDO::getCreditHours).reduce(BigDecimal.ZERO, BigDecimal::add))); - } else { - entity.setVideoDuration(coursewareManagementDOS.stream().map(CoursewareManagementDO::getCreditHours).reduce(BigDecimal.ZERO, BigDecimal::add)); - } + + entity.setRequiredTotalHours(coursewareManagementDOS.stream().map(CoursewareManagementDO::getCreditHours).reduce(BigDecimal.ZERO, BigDecimal::add)); + entity.setVideoDuration(coursewareManagementDOS.stream().map(CoursewareManagementDO::getClassHourDuration).reduce(BigDecimal.ZERO, BigDecimal::add)); + // 学员回填数据(要求学时) for (ClassStudentDO classStudentDO : classStudentMapper.selectList(new LambdaQueryWrapper() .eq(ClassStudentDO::getClassId, entity.getClassId()))) { if (classStudentDO.getRequiredHours() != null) { - classStudentDO.setRequiredHours(classStudentDO.getRequiredHours().add(entity.getVideoDuration())); + classStudentDO.setRequiredHours(classStudentDO.getRequiredHours().add(entity.getRequiredTotalHours())); } else { - classStudentDO.setRequiredHours(entity.getVideoDuration()); + classStudentDO.setRequiredHours(entity.getRequiredTotalHours()); } classStudentMapper.updateById(classStudentDO); } @@ -174,24 +167,17 @@ public class ClassCourseServiceImpl extends ServiceImpl coursewareManagementDOS = coursewareManagementMapper.selectBatchIds(CollectionUtils.isEmpty(dto.getCoursewareId()) ? Collections.singletonList(0L) : dto.getCoursewareId()); - // 判空 - if (entity.getRequiredTotalHours() != null) { - entity.setRequiredTotalHours(entity.getRequiredTotalHours().add(coursewareManagementDOS.stream().map(CoursewareManagementDO::getClassHourDuration).reduce(BigDecimal.ZERO, BigDecimal::add))); - } else { - entity.setRequiredTotalHours(coursewareManagementDOS.stream().map(CoursewareManagementDO::getClassHourDuration).reduce(BigDecimal.ZERO, BigDecimal::add)); - } - if (entity.getVideoDuration() != null) { - entity.setVideoDuration(entity.getVideoDuration().add(coursewareManagementDOS.stream().map(CoursewareManagementDO::getCreditHours).reduce(BigDecimal.ZERO, BigDecimal::add))); - } else { - entity.setVideoDuration(coursewareManagementDOS.stream().map(CoursewareManagementDO::getCreditHours).reduce(BigDecimal.ZERO, BigDecimal::add)); - } + + entity.setRequiredTotalHours(coursewareManagementDOS.stream().map(CoursewareManagementDO::getCreditHours).reduce(BigDecimal.ZERO, BigDecimal::add)); + entity.setVideoDuration(coursewareManagementDOS.stream().map(CoursewareManagementDO::getClassHourDuration).reduce(BigDecimal.ZERO, BigDecimal::add)); + // 学员回填数据(要求学时) for (ClassStudentDO classStudentDO : classStudentMapper.selectList(new LambdaQueryWrapper() .eq(ClassStudentDO::getClassId, entity.getClassId()))) { if (classStudentDO.getRequiredHours() != null) { - classStudentDO.setRequiredHours(classStudentDO.getRequiredHours().add(entity.getVideoDuration())); + classStudentDO.setRequiredHours(classStudentDO.getRequiredHours().add(entity.getRequiredTotalHours())); } else { - classStudentDO.setRequiredHours(entity.getVideoDuration()); + classStudentDO.setRequiredHours(entity.getRequiredTotalHours()); } classStudentMapper.updateById(classStudentDO); } @@ -199,7 +185,18 @@ public class ClassCourseServiceImpl extends ServiceImpl() + .eq(ClassStudentDO::getClassId, classCourseDO.getClassId()))) { + if (classStudentDO.getRequiredHours() != null) { + classStudentDO.setRequiredHours(classStudentDO.getRequiredHours().subtract(classCourseDO.getRequiredTotalHours())); + } + classStudentMapper.updateById(classStudentDO); + } + return baseMapper.deleteById(id) > 0; }