fix: 教培调整

dev-tmp1
zhanglei 2026-08-24 10:18:21 +08:00
parent 3da8c36455
commit b85d7284f8
10 changed files with 41 additions and 28 deletions

View File

@ -111,7 +111,7 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
*/
private ClassCourseDO buildEntity(ClassCourseDTO dto) {
ClassCourseDO entity = classCourseConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
entity.setUpdateTime(LocalDateTime.now());
return entity;
}
@ -119,7 +119,7 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
@Override
public boolean updateCourse(ClassCourseDTO dto) {
ClassCourseDO entity = classCourseConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
return this.updateById(entity);
}

View File

@ -95,7 +95,7 @@ public class ClassManagementServiceImpl extends ServiceImpl<ClassManagementMappe
@Override
public Long saveClass(ClassManagementDTO dto) {
ClassManagementDO entity = classManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
entity.setUpdateTime(LocalDateTime.now());
if (entity.getStatus() == null) {
entity.setStatus(0);
@ -119,7 +119,7 @@ public class ClassManagementServiceImpl extends ServiceImpl<ClassManagementMappe
@Override
public boolean updateClass(ClassManagementDTO dto) {
ClassManagementDO entity = classManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
return this.updateById(entity);
}

View File

@ -52,7 +52,7 @@ public class ClassStudentExamRecordServiceImpl extends ServiceImpl<ClassStudentE
@Override
public boolean saveRecord(ClassStudentExamRecordDTO dto) {
ClassStudentExamRecordDO entity = classStudentExamRecordConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
entity.setUpdateTime(LocalDateTime.now());
if (entity.getPassed() == null) {
entity.setPassed(0);
@ -66,7 +66,7 @@ public class ClassStudentExamRecordServiceImpl extends ServiceImpl<ClassStudentE
@Override
public boolean updateRecord(ClassStudentExamRecordDTO dto) {
ClassStudentExamRecordDO entity = classStudentExamRecordConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
return this.updateById(entity);
}

View File

@ -52,7 +52,7 @@ public class ClassStudentLearningRecordServiceImpl extends ServiceImpl<ClassStud
@Override
public boolean saveRecord(ClassStudentLearningRecordDTO dto) {
ClassStudentLearningRecordDO entity = classStudentLearningRecordConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
entity.setUpdateTime(LocalDateTime.now());
if (entity.getStudyStatus() == null) {
entity.setStudyStatus(0);
@ -63,7 +63,7 @@ public class ClassStudentLearningRecordServiceImpl extends ServiceImpl<ClassStud
@Override
public boolean updateRecord(ClassStudentLearningRecordDTO dto) {
ClassStudentLearningRecordDO entity = classStudentLearningRecordConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
return this.updateById(entity);
}

View File

@ -82,7 +82,7 @@ public class ClassStudentServiceImpl extends ServiceImpl<ClassStudentMapper, Cla
*/
private ClassStudentDO buildEntity(ClassStudentDTO dto) {
ClassStudentDO entity = classStudentConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
entity.setUpdateTime(LocalDateTime.now());
if (entity.getFaceAuth() == null) {
entity.setFaceAuth(0);
@ -102,7 +102,7 @@ public class ClassStudentServiceImpl extends ServiceImpl<ClassStudentMapper, Cla
@Override
public boolean updateStudent(ClassStudentDTO dto) {
ClassStudentDO entity = classStudentConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
return this.updateById(entity);
}

View File

@ -7,13 +7,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.qinan.cedu.convertor.CourseManagementConvertor;
import org.qinan.cedu.convertor.CourseRelCoursewareConvertor;
import org.qinan.cedu.enums.DeleteEnum;
import org.qinan.cedu.mapper.ClassCourseMapper;
import org.qinan.cedu.mapper.ClassManagementMapper;
import org.qinan.cedu.mapper.CourseManagementMapper;
import org.qinan.cedu.mapper.CourseRelCoursewareMapper;
import org.qinan.cedu.model.dto.CourseManagementDTO;
import org.qinan.cedu.model.vo.CourseManagementVO;
import org.qinan.cedu.model.entity.ClassCourseDO;
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.model.vo.CourseManagementVO;
import org.qinan.cedu.service.CourseManagementService;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
import org.springframework.beans.factory.annotation.Autowired;
@ -24,7 +27,9 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
*
@ -39,6 +44,10 @@ public class CourseManagementServiceImpl extends ServiceImpl<CourseManagementMap
private CourseRelCoursewareConvertor courseRelCoursewareConvertor;
@Autowired
private CourseRelCoursewareMapper courseRelCoursewareMapper;
@Autowired
private ClassManagementMapper classManagementMapper;
@Autowired
private ClassCourseMapper classCourseMapper;
@Override
@ -51,12 +60,16 @@ public class CourseManagementServiceImpl extends ServiceImpl<CourseManagementMap
.orderByDesc(CourseManagementDO::getCreateTime)
.page(new Page<>(query.getCurrent(), query.getSize()));
IPage<CourseManagementVO> convert = page.convert(courseManagementConvertor::convertEToVo);
Map<Long, Integer> collectMap = classCourseMapper.selectList(new LambdaQueryWrapper<ClassCourseDO>()
.in(ClassCourseDO::getCourseId, convert.getRecords().stream().map(CourseManagementVO::getId)))
.stream().collect(Collectors.toMap(ClassCourseDO::getCourseId, v -> 1));
convert.getRecords().forEach(vo -> {
vo.setCourseRelCoursewareVOList(courseRelCoursewareConvertor.convertEListToVoList(
courseRelCoursewareMapper.selectList(new LambdaQueryWrapper<CourseRelCoursewareDO>()
.eq(CourseRelCoursewareDO::getCourseId, vo.getId())
.orderByAsc(CourseRelCoursewareDO::getSort))
));
vo.setUsed(Math.toIntExact(collectMap.getOrDefault(Long.valueOf(vo.getId()), 0)));
});
return convert;
}
@ -80,7 +93,7 @@ public class CourseManagementServiceImpl extends ServiceImpl<CourseManagementMap
@Transactional(rollbackFor = Exception.class)
public boolean saveCourse(CourseManagementDTO dto) {
CourseManagementDO entity = courseManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
LocalDateTime now = LocalDateTime.now();
entity.setUpdateTime(now);
if (entity.getUsed() == null) {
@ -103,7 +116,7 @@ public class CourseManagementServiceImpl extends ServiceImpl<CourseManagementMap
@Transactional(rollbackFor = Exception.class)
public boolean updateCourse(CourseManagementDTO dto) {
CourseManagementDO entity = courseManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
courseRelCoursewareMapper.delete(new LambdaQueryWrapper<CourseRelCoursewareDO>()
.eq(CourseRelCoursewareDO::getCourseId, entity.getId()));
List<CourseRelCoursewareDO> courseRelCoursewareDOS = courseRelCoursewareConvertor.convertDtoListToEList(dto.getCourseRelCoursewareDTOList());

View File

@ -68,7 +68,7 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
@Override
public boolean saveCourseware(CoursewareManagementDTO dto) {
CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyIgnoreOrgId(entity);
InsertFieldDefaults.apply(entity);
if (dto.getClassHourDuration() != null) {
entity.setClassHourDuration(dto.getClassHourDuration());
entity.setCreditHours(dto.getClassHourDuration().divide(new BigDecimal("45"), 1, RoundingMode.HALF_UP));
@ -79,7 +79,7 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
@Override
public boolean updateCourseware(CoursewareManagementDTO dto) {
CoursewareManagementDO entity = coursewareManagementConvertor.convertDtoToE(dto);
InsertFieldDefaults.applyForUpdateIgnoreOrgId(entity);
InsertFieldDefaults.applyForUpdate(entity);
if (dto.getClassHourDuration() != null) {
entity.setClassHourDuration(dto.getClassHourDuration());
entity.setCreditHours(dto.getClassHourDuration().divide(new BigDecimal("45"), 1, RoundingMode.HALF_UP));

View File

@ -87,7 +87,7 @@ public class PaperQuestionRelServiceImpl extends ServiceImpl<PaperQuestionRelMap
.map(option -> String.valueOf(option.getId()))
.collect(Collectors.joining(",")));
InsertFieldDefaults.applyIgnoreOrgId(question);
InsertFieldDefaults.apply(question);
questionMapper.insert(question);
Db.saveBatch(options);
@ -96,7 +96,7 @@ public class PaperQuestionRelServiceImpl extends ServiceImpl<PaperQuestionRelMap
rel.setPaperId(dto.getPaperId());
rel.setQuestionId(question.getId());
rel.setScore(dto.getScore());
InsertFieldDefaults.applyIgnoreOrgId(rel);
InsertFieldDefaults.apply(rel);
this.save(rel);
}
@ -118,7 +118,7 @@ public class PaperQuestionRelServiceImpl extends ServiceImpl<PaperQuestionRelMap
option.setOptionKey(key);
option.setOptionName(key);
option.setSortOrder(sortOrder++);
InsertFieldDefaults.applyIgnoreOrgId(option);
InsertFieldDefaults.apply(option);
}
return options;
}
@ -225,7 +225,7 @@ public class PaperQuestionRelServiceImpl extends ServiceImpl<PaperQuestionRelMap
InsertFieldDefaults.applyForUpdate(option);
} else {
option.setId(IdUtil.getSnowflakeNextId());
InsertFieldDefaults.applyIgnoreOrgId(option);
InsertFieldDefaults.apply(option);
toInsert.add(option);
}
}

View File

@ -154,7 +154,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
// 新增试卷(名称/总分/合格分数取请求,其余属性沿用源试卷)
PaperDO target = paperConvertor.convertCopyDtoToE(copyDTO, source);
InsertFieldDefaults.applyIgnoreOrgId(target);
InsertFieldDefaults.apply(target);
this.savePaper(target);
// 复制试题+选项+试卷试题关系id全部换新雪花id
@ -170,7 +170,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
Long oldQuestionId = question.getId();
Long newQuestionId = IdUtil.getSnowflakeNextId();
question.setId(newQuestionId);
InsertFieldDefaults.applyIgnoreOrgId(question);
InsertFieldDefaults.apply(question);
List<QuestionOptionDO> options = allOptions.stream()
.filter(option -> oldQuestionId.equals(option.getQuestionId()))
@ -180,7 +180,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
for (QuestionOptionDO option : options) {
option.setId(IdUtil.getSnowflakeNextId());
option.setQuestionId(newQuestionId);
InsertFieldDefaults.applyIgnoreOrgId(option);
InsertFieldDefaults.apply(option);
newQueOptions.add(option);
newOptions.add(option);
}
@ -196,7 +196,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
rel.setQuestionId(newQuestionId);
rel.setQuestionNum(oldRel.getQuestionNum());
newRels.add(rel);
InsertFieldDefaults.applyIgnoreOrgId(rel);
InsertFieldDefaults.apply(rel);
}
Db.saveBatch(questions);
Db.saveBatch(newOptions);
@ -268,7 +268,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
paper.setPaperTotalScore(importDTO.getPaperTotalScore());
paper.setPaperPassScore(importDTO.getPaperPassScore());
paper.setExamTime(importDTO.getExamTime());
InsertFieldDefaults.applyIgnoreOrgId(paper);
InsertFieldDefaults.apply(paper);
this.savePaper(paper);
// 保存试题和选项id已预置雪花id
@ -284,7 +284,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
rel.setQuestionId(questions.get(i).getId());
rel.setScore(questions.get(i).getScore());
rel.setQuestionNum(i + 1);
InsertFieldDefaults.applyIgnoreOrgId(rel);
InsertFieldDefaults.apply(rel);
rels.add(rel);
}
Db.saveBatch(rels);
@ -316,7 +316,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
rel.setQuestionId(questionId);
rel.setQuestionNum(questionNum++);
rel.setScore(rule.getScore());
InsertFieldDefaults.applyIgnoreOrgId(rel);
InsertFieldDefaults.apply(rel);
rels.add(rel);
}
}
@ -329,7 +329,7 @@ public class PaperServiceImpl extends ServiceImpl<PaperMapper, PaperDO> implemen
paper.setExamTime(dto.getExamTime());
paper.setPaperType(PaperTypeEnum.CONFIG_RULE.getValue());
paper.setConfigRule(JSONUtil.toJsonStr(dto.getQuestionTypeRuleList()));
InsertFieldDefaults.applyIgnoreOrgId(paper);
InsertFieldDefaults.apply(paper);
this.savePaper(paper);
// 3. 绑定试卷试题关系回填试卷id后批量保存

View File

@ -144,7 +144,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, QuestionDO>
InsertFieldDefaults.applyForUpdate(option);
} else {
option.setId(IdUtil.getSnowflakeNextId());
InsertFieldDefaults.applyIgnoreOrgId(option);
InsertFieldDefaults.apply(option);
toInsert.add(option);
}
}