培训-init

dev-tmp1
zhanglei 2026-08-17 18:29:38 +08:00
parent 983d75efbd
commit cf6ca603cd
5 changed files with 47 additions and 3 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<CourseManagementMap
if (entity.getUsed() == null) {
entity.setUsed(0);
}
this.save(entity);
List<CourseRelCoursewareDO> 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<CourseManagementMap
public boolean updateCourse(CourseManagementDTO dto) {
CourseManagementDO entity = courseManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
this.updateById(entity);
courseRelCoursewareMapper.delete(new LambdaQueryWrapper<CourseRelCoursewareDO>()
.eq(CourseRelCoursewareDO::getCourseId, entity.getId()));
List<CourseRelCoursewareDO> 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);

View File

@ -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<CoursewareManag
public boolean saveCourseware(CoursewareManagementDTO dto) {
CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
if (dto.getClassHourDuration() != null) {
entity.setClassHourDuration(dto.getClassHourDuration());
entity.setCreditHours(dto.getClassHourDuration().divide(new BigDecimal("45"), 1, RoundingMode.HALF_UP));
}
return this.save(entity);
}
@ -72,6 +78,10 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
public boolean updateCourseware(CoursewareManagementDTO dto) {
CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
if (dto.getClassHourDuration() != null) {
entity.setClassHourDuration(dto.getClassHourDuration());
entity.setCreditHours(dto.getClassHourDuration().divide(new BigDecimal("45"), 1, RoundingMode.HALF_UP));
}
return this.updateById(entity);
}