Merge remote-tracking branch 'origin/dev-tmp1' into dev-tmp1

dev-tmp1
luotaiqian 2026-08-19 10:52:28 +08:00
commit dae9d2eacf
16 changed files with 67 additions and 19 deletions

View File

@ -5,7 +5,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.qinan.cedu.model.dto.CourseManagementDTO; import org.qinan.cedu.model.dto.CourseManagementDTO;
import org.qinan.cedu.model.dto.CourseManagementVO; import org.qinan.cedu.model.vo.CourseManagementVO;
import org.qinan.cedu.model.query.CourseManagementPageQuery; import org.qinan.cedu.model.query.CourseManagementPageQuery;
import org.qinan.cedu.service.CourseManagementService; import org.qinan.cedu.service.CourseManagementService;
import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.PageResponse;

View File

@ -5,7 +5,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.qinan.cedu.model.dto.CourseRelCoursewareDTO; import org.qinan.cedu.model.dto.CourseRelCoursewareDTO;
import org.qinan.cedu.model.dto.CourseRelCoursewareVO; import org.qinan.cedu.model.vo.CourseRelCoursewareVO;
import org.qinan.cedu.service.CourseRelCoursewareService; import org.qinan.cedu.service.CourseRelCoursewareService;
import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.PageResponse;
import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.SingleResponse;

View File

@ -5,7 +5,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.qinan.cedu.model.dto.CoursewareManagementDTO; import org.qinan.cedu.model.dto.CoursewareManagementDTO;
import org.qinan.cedu.model.dto.CoursewareManagementVO; import org.qinan.cedu.model.vo.CoursewareManagementVO;
import org.qinan.cedu.model.query.CoursewareManagementPageQuery; import org.qinan.cedu.model.query.CoursewareManagementPageQuery;
import org.qinan.cedu.service.CoursewareManagementService; import org.qinan.cedu.service.CoursewareManagementService;
import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.PageResponse;

View File

@ -2,7 +2,7 @@ package org.qinan.cedu.convertor;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.qinan.cedu.model.dto.CourseManagementDTO; import org.qinan.cedu.model.dto.CourseManagementDTO;
import org.qinan.cedu.model.dto.CourseManagementVO; import org.qinan.cedu.model.vo.CourseManagementVO;
import org.qinan.cedu.model.entity.CourseManagementDO; import org.qinan.cedu.model.entity.CourseManagementDO;
import java.util.List; import java.util.List;

View File

@ -2,7 +2,7 @@ package org.qinan.cedu.convertor;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.qinan.cedu.model.dto.CourseRelCoursewareDTO; import org.qinan.cedu.model.dto.CourseRelCoursewareDTO;
import org.qinan.cedu.model.dto.CourseRelCoursewareVO; import org.qinan.cedu.model.vo.CourseRelCoursewareVO;
import org.qinan.cedu.model.entity.CourseRelCoursewareDO; import org.qinan.cedu.model.entity.CourseRelCoursewareDO;
import java.util.List; import java.util.List;

View File

@ -2,7 +2,7 @@ package org.qinan.cedu.convertor;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.qinan.cedu.model.dto.CoursewareManagementDTO; import org.qinan.cedu.model.dto.CoursewareManagementDTO;
import org.qinan.cedu.model.dto.CoursewareManagementVO; import org.qinan.cedu.model.vo.CoursewareManagementVO;
import org.qinan.cedu.model.entity.CoursewareManagementDO; import org.qinan.cedu.model.entity.CoursewareManagementDO;
import java.util.List; import java.util.List;

View File

@ -1,8 +1,9 @@
package org.qinan.cedu.model.dto; package org.qinan.cedu.model.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.qinan.cedu.model.dto.BaseVO;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package org.qinan.cedu.model.dto; package org.qinan.cedu.model.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;

View File

@ -1,10 +1,12 @@
package org.qinan.cedu.model.dto; package org.qinan.cedu.model.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.qinan.cedu.model.dto.BaseVO;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* *
@ -74,6 +76,6 @@ public class CoursewareManagementVO extends BaseVO {
@ApiModelProperty("课件描述") @ApiModelProperty("课件描述")
private String coursewareDescription; private String coursewareDescription;
@ApiModelProperty("习题") @ApiModelProperty("习题ID")
private Long exerciseCount; private List<Long> questionIds;
} }

View File

@ -0,0 +1,44 @@
package org.qinan.cedu.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.qinan.cedu.model.dto.BaseVO;
import java.math.BigDecimal;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class QuestionVO extends BaseVO {
@ApiModelProperty("题目内容")
private String title;
@ApiModelProperty("题型single单选/multiple多选/judge判断/fill填空/short简答")
private String questionType;
@ApiModelProperty("参考答案:逗号隔开")
private String answer;
@ApiModelProperty("答案选项id 多个逗号隔开")
private String answerQuestionOptionIds;
@ApiModelProperty("子题 多个逗号分割")
private String childrenQuestionIds;
@ApiModelProperty("分值")
private BigDecimal score;
@ApiModelProperty("答案解析")
private String analysis;
@ApiModelProperty("标签类型")
private String tagType;
@ApiModelProperty("关联课件管理id")
private Long coursewareManagementId;
}

View File

@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
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.query.CourseManagementPageQuery;
import org.qinan.cedu.model.dto.CourseManagementVO; import org.qinan.cedu.model.vo.CourseManagementVO;
import org.qinan.cedu.model.entity.CourseManagementDO; import org.qinan.cedu.model.entity.CourseManagementDO;
/** /**

View File

@ -3,7 +3,7 @@ package org.qinan.cedu.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.qinan.cedu.model.dto.CourseRelCoursewareDTO; import org.qinan.cedu.model.dto.CourseRelCoursewareDTO;
import org.qinan.cedu.model.dto.CourseRelCoursewareVO; import org.qinan.cedu.model.vo.CourseRelCoursewareVO;
import org.qinan.cedu.model.entity.CourseRelCoursewareDO; import org.qinan.cedu.model.entity.CourseRelCoursewareDO;
import java.util.List; import java.util.List;

View File

@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.qinan.cedu.model.dto.CoursewareManagementDTO; import org.qinan.cedu.model.dto.CoursewareManagementDTO;
import org.qinan.cedu.model.query.CoursewareManagementPageQuery; import org.qinan.cedu.model.query.CoursewareManagementPageQuery;
import org.qinan.cedu.model.dto.CoursewareManagementVO; import org.qinan.cedu.model.vo.CoursewareManagementVO;
import org.qinan.cedu.model.entity.CoursewareManagementDO; import org.qinan.cedu.model.entity.CoursewareManagementDO;
/** /**

View File

@ -10,7 +10,7 @@ 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.dto.CourseManagementVO; import org.qinan.cedu.model.vo.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.model.query.CourseManagementPageQuery;

View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.qinan.cedu.convertor.CourseRelCoursewareConvertor; import org.qinan.cedu.convertor.CourseRelCoursewareConvertor;
import org.qinan.cedu.mapper.CourseRelCoursewareMapper; import org.qinan.cedu.mapper.CourseRelCoursewareMapper;
import org.qinan.cedu.model.dto.CourseRelCoursewareDTO; import org.qinan.cedu.model.dto.CourseRelCoursewareDTO;
import org.qinan.cedu.model.dto.CourseRelCoursewareVO; import org.qinan.cedu.model.vo.CourseRelCoursewareVO;
import org.qinan.cedu.model.entity.CourseRelCoursewareDO; import org.qinan.cedu.model.entity.CourseRelCoursewareDO;
import org.qinan.cedu.service.CourseRelCoursewareService; import org.qinan.cedu.service.CourseRelCoursewareService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@ -9,7 +9,7 @@ import org.qinan.cedu.enums.DeleteEnum;
import org.qinan.cedu.mapper.CoursewareManagementMapper; import org.qinan.cedu.mapper.CoursewareManagementMapper;
import org.qinan.cedu.mapper.QuestionMapper; import org.qinan.cedu.mapper.QuestionMapper;
import org.qinan.cedu.model.dto.CoursewareManagementDTO; import org.qinan.cedu.model.dto.CoursewareManagementDTO;
import org.qinan.cedu.model.dto.CoursewareManagementVO; import org.qinan.cedu.model.vo.CoursewareManagementVO;
import org.qinan.cedu.model.entity.CoursewareManagementDO; import org.qinan.cedu.model.entity.CoursewareManagementDO;
import org.qinan.cedu.model.entity.QuestionDO; import org.qinan.cedu.model.entity.QuestionDO;
import org.qinan.cedu.model.query.CoursewareManagementPageQuery; import org.qinan.cedu.model.query.CoursewareManagementPageQuery;
@ -22,6 +22,7 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.stream.Collectors;
/** /**
* *
@ -47,7 +48,7 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
.page(new Page<>(query.getCurrent(), query.getSize())); .page(new Page<>(query.getCurrent(), query.getSize()));
IPage<CoursewareManagementVO> convert = page.convert(coursewareManagementConvertor::convertEToVo); IPage<CoursewareManagementVO> convert = page.convert(coursewareManagementConvertor::convertEToVo);
for (CoursewareManagementVO record : convert.getRecords()) { for (CoursewareManagementVO record : convert.getRecords()) {
record.setExerciseCount(questionMapper.selectCount(new LambdaQueryWrapper<QuestionDO>().eq(QuestionDO::getCoursewareManagementId, record.getId()))); record.setQuestionIds(questionMapper.selectList(new LambdaQueryWrapper<QuestionDO>().eq(QuestionDO::getCoursewareManagementId, record.getId())).stream().map(QuestionDO::getId).collect(Collectors.toList()));
} }
return convert; return convert;
} }
@ -59,7 +60,7 @@ public class CoursewareManagementServiceImpl extends ServiceImpl<CoursewareManag
.eq(CoursewareManagementDO::getDeleteEnum, DeleteEnum.FALSE.getCode()) .eq(CoursewareManagementDO::getDeleteEnum, DeleteEnum.FALSE.getCode())
.one(); .one();
CoursewareManagementVO coursewareManagementVO = coursewareManagementConvertor.convertEToVo(entity); CoursewareManagementVO coursewareManagementVO = coursewareManagementConvertor.convertEToVo(entity);
coursewareManagementVO.setExerciseCount(questionMapper.selectCount(new LambdaQueryWrapper<QuestionDO>().eq(QuestionDO::getCoursewareManagementId, coursewareManagementVO.getId()))); coursewareManagementVO.setQuestionIds(questionMapper.selectList(new LambdaQueryWrapper<QuestionDO>().eq(QuestionDO::getCoursewareManagementId, coursewareManagementVO.getId())).stream().map(QuestionDO::getId).collect(Collectors.toList()));
return coursewareManagementVO; return coursewareManagementVO;
} }