diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareDTO.java index 2d894a9a..60014e74 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareDTO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareDTO.java @@ -3,6 +3,8 @@ package org.qinan.cedu.model.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * 课程关联课件表 * @TableName course_rel_courseware @@ -44,4 +46,10 @@ public class CourseRelCoursewareDTO { */ @ApiModelProperty("排序") private Integer sort; + + /** + * 课时时长(小时) + */ + @ApiModelProperty("课时时长(小时)") + private BigDecimal classHourDuration; } \ No newline at end of file diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareVO.java index 4fda6601..c32933ad 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/CourseRelCoursewareVO.java @@ -3,6 +3,8 @@ package org.qinan.cedu.model.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * 课程关联课件表 * @TableName course_rel_courseware @@ -39,4 +41,10 @@ public class CourseRelCoursewareVO { */ @ApiModelProperty("排序") private Integer sort; + + /** + * 课时时长(小时) + */ + @ApiModelProperty("课时时长(小时)") + private BigDecimal classHourDuration; } \ No newline at end of file diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/CourseRelCoursewareDO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/CourseRelCoursewareDO.java index 17de5154..4d6159cd 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/CourseRelCoursewareDO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/entity/CourseRelCoursewareDO.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.math.BigDecimal; + /** * 课程关联课件表 * @TableName course_rel_courseware @@ -47,4 +49,10 @@ public class CourseRelCoursewareDO { */ @TableField(value = "sort") private Integer sort; + + /** + * 课时时长(小时) + */ + @TableField(value = "class_hour_duration") + private BigDecimal classHourDuration; } \ No newline at end of file diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java index 7124423f..e9b5fac3 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java @@ -10,10 +10,10 @@ import org.qinan.cedu.enums.DeleteEnum; import org.qinan.cedu.mapper.CourseManagementMapper; import org.qinan.cedu.mapper.CourseRelCoursewareMapper; import org.qinan.cedu.model.dto.CourseManagementDTO; -import org.qinan.cedu.model.query.CourseManagementPageQuery; import org.qinan.cedu.model.dto.CourseManagementVO; import org.qinan.cedu.model.entity.CourseManagementDO; import org.qinan.cedu.model.entity.CourseRelCoursewareDO; +import org.qinan.cedu.model.query.CourseManagementPageQuery; import org.qinan.cedu.service.CourseManagementService; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; import org.springframework.beans.factory.annotation.Autowired; @@ -21,8 +21,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; /** * 课程管理服务实现 @@ -84,8 +86,12 @@ public class CourseManagementServiceImpl extends ServiceImpl courseRelCoursewareDOS = courseRelCoursewareConvertor.convertDtoListToEList(dto.getCourseRelCoursewareDTOList()); + if (entity.getClassHourDuration() == null) { + entity.setClassHourDuration(courseRelCoursewareDOS.stream().map(CourseRelCoursewareDO::getClassHourDuration).filter(Objects::nonNull) + .reduce(BigDecimal.ZERO, BigDecimal::add)); + } + this.save(entity); for (CourseRelCoursewareDO courseRelCoursewareDO : courseRelCoursewareDOS) { courseRelCoursewareDO.setCourseId(entity.getId()); courseRelCoursewareMapper.insert(courseRelCoursewareDO); @@ -98,10 +104,14 @@ public class CourseManagementServiceImpl extends ServiceImpl() .eq(CourseRelCoursewareDO::getCourseId, entity.getId())); List courseRelCoursewareDOS = courseRelCoursewareConvertor.convertDtoListToEList(dto.getCourseRelCoursewareDTOList()); + if (entity.getClassHourDuration() == null) { + entity.setClassHourDuration(courseRelCoursewareDOS.stream().map(CourseRelCoursewareDO::getClassHourDuration).filter(Objects::nonNull) + .reduce(BigDecimal.ZERO, BigDecimal::add)); + } + this.updateById(entity); for (CourseRelCoursewareDO courseRelCoursewareDO : courseRelCoursewareDOS) { courseRelCoursewareDO.setCourseId(entity.getId()); courseRelCoursewareMapper.insert(courseRelCoursewareDO); diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java index 29d1aa7a..91527da5 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java @@ -19,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDateTime; /** @@ -65,6 +67,10 @@ public class CoursewareManagementServiceImpl extends ServiceImpl