培训-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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* *
* @TableName course_rel_courseware * @TableName course_rel_courseware
@ -44,4 +46,10 @@ public class CourseRelCoursewareDTO {
*/ */
@ApiModelProperty("排序") @ApiModelProperty("排序")
private Integer sort; 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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* *
* @TableName course_rel_courseware * @TableName course_rel_courseware
@ -39,4 +41,10 @@ public class CourseRelCoursewareVO {
*/ */
@ApiModelProperty("排序") @ApiModelProperty("排序")
private Integer sort; 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 com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* *
* @TableName course_rel_courseware * @TableName course_rel_courseware
@ -47,4 +49,10 @@ public class CourseRelCoursewareDO {
*/ */
@TableField(value = "sort") @TableField(value = "sort")
private Integer 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.CourseManagementMapper;
import org.qinan.cedu.mapper.CourseRelCoursewareMapper; import org.qinan.cedu.mapper.CourseRelCoursewareMapper;
import org.qinan.cedu.model.dto.CourseManagementDTO; 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.dto.CourseManagementVO;
import org.qinan.cedu.model.entity.CourseManagementDO; import org.qinan.cedu.model.entity.CourseManagementDO;
import org.qinan.cedu.model.entity.CourseRelCoursewareDO; import org.qinan.cedu.model.entity.CourseRelCoursewareDO;
import org.qinan.cedu.model.query.CourseManagementPageQuery;
import org.qinan.cedu.service.CourseManagementService; import org.qinan.cedu.service.CourseManagementService;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
import org.springframework.beans.factory.annotation.Autowired; 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.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* *
@ -84,8 +86,12 @@ public class CourseManagementServiceImpl extends ServiceImpl<CourseManagementMap
if (entity.getUsed() == null) { if (entity.getUsed() == null) {
entity.setUsed(0); entity.setUsed(0);
} }
this.save(entity);
List<CourseRelCoursewareDO> courseRelCoursewareDOS = courseRelCoursewareConvertor.convertDtoListToEList(dto.getCourseRelCoursewareDTOList()); 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) { for (CourseRelCoursewareDO courseRelCoursewareDO : courseRelCoursewareDOS) {
courseRelCoursewareDO.setCourseId(entity.getId()); courseRelCoursewareDO.setCourseId(entity.getId());
courseRelCoursewareMapper.insert(courseRelCoursewareDO); courseRelCoursewareMapper.insert(courseRelCoursewareDO);
@ -98,10 +104,14 @@ public class CourseManagementServiceImpl extends ServiceImpl<CourseManagementMap
public boolean updateCourse(CourseManagementDTO dto) { public boolean updateCourse(CourseManagementDTO dto) {
CourseManagementDO entity = courseManagementConvertor.convertDtoToE(dto); CourseManagementDO entity = courseManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
this.updateById(entity);
courseRelCoursewareMapper.delete(new LambdaQueryWrapper<CourseRelCoursewareDO>() courseRelCoursewareMapper.delete(new LambdaQueryWrapper<CourseRelCoursewareDO>()
.eq(CourseRelCoursewareDO::getCourseId, entity.getId())); .eq(CourseRelCoursewareDO::getCourseId, entity.getId()));
List<CourseRelCoursewareDO> courseRelCoursewareDOS = courseRelCoursewareConvertor.convertDtoListToEList(dto.getCourseRelCoursewareDTOList()); 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) { for (CourseRelCoursewareDO courseRelCoursewareDO : courseRelCoursewareDOS) {
courseRelCoursewareDO.setCourseId(entity.getId()); courseRelCoursewareDO.setCourseId(entity.getId());
courseRelCoursewareMapper.insert(courseRelCoursewareDO); courseRelCoursewareMapper.insert(courseRelCoursewareDO);

View File

@ -19,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -65,6 +67,10 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
public boolean saveCourseware(CoursewareManagementDTO dto) { public boolean saveCourseware(CoursewareManagementDTO dto) {
CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto); CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity); 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); return this.save(entity);
} }
@ -72,6 +78,10 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
public boolean updateCourseware(CoursewareManagementDTO dto) { public boolean updateCourseware(CoursewareManagementDTO dto) {
CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto); CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity); 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); return this.updateById(entity);
} }