diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/CaseApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/CaseApi.java index 43c8a8c..ae7c27e 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/CaseApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/CaseApi.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageInfo; import com.sztzjy.resource_center.annotation.AnonymousAccess; import com.sztzjy.resource_center.entity.*; +import com.sztzjy.resource_center.entity.dto.TrainingDto; import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper; import com.sztzjy.resource_center.mapper.SysCaseQuestionStepMapper; import com.sztzjy.resource_center.mapper.SysOneCatalogMapper; @@ -267,6 +268,7 @@ public class CaseApi { //案例题步骤内容查看 caseStepId @PostMapping("selectCaseStepDetails") @ApiOperation("案例题步骤内容查看") + @AnonymousAccess public SysCaseQuestionStepWithBLOBs selectCaseStepDetails(@ApiParam("案例题步骤ID") @RequestParam String caseStepId) { return caseQuestionStepMapper.selectByPrimaryKey(caseStepId); } @@ -281,10 +283,17 @@ public class CaseApi { //案例题步骤内容查看 caseStepId @PostMapping("selectCaseByChapterId") @ApiOperation("根据三级ID查询案例题集合") + @AnonymousAccess public List selectCaseByChapterId(@RequestParam String threeId) { - SysCaseQuestionExample example = new SysCaseQuestionExample(); + SysTopicAndCourseExample example = new SysTopicAndCourseExample(); example.createCriteria().andThreeIdEqualTo(threeId); - List list = caseQuestionMapper.selectByExample(example); + List sysTopicAndCourses = topicAndCourseMapper.selectByExample(example); + + List collect = sysTopicAndCourses.stream().map(SysTopicAndCourse::getTopicId).collect(Collectors.toList()); + + SysCaseQuestionExample example1 = new SysCaseQuestionExample(); + example1.createCriteria().andCaseIdIn(collect).andSourceEqualTo("管理员"); + List list = caseQuestionMapper.selectByExampleWithBLOBs(example1); return list; } @@ -297,7 +306,8 @@ public class CaseApi { */ @PostMapping("selectCaseStepListBatchByIdListAndSort") @ApiOperation("查询案例题步骤并排序") - public List selectCaseByChapterId(@RequestParam List caseIdList) { + @AnonymousAccess + public List selectCaseStepListBatchByIdListAndSort(@RequestBody List caseIdList) { SysCaseQuestionStepExample example = new SysCaseQuestionStepExample(); example.createCriteria().andCaseIdIn(caseIdList); example.setOrderByClause("sort"); @@ -314,7 +324,8 @@ public class CaseApi { */ @PostMapping("selectCaseByChapterIdList") @ApiOperation("根据章节IdList查询案例题") - public List selectCaseByChapterIdList(@RequestParam List chapterIdList) { + @AnonymousAccess + public List selectCaseByChapterIdList(@RequestBody List chapterIdList) { SysTopicAndCourseExample example = new SysTopicAndCourseExample(); example.createCriteria().andThreeIdIn(chapterIdList); List sysTopicAndCourses = topicAndCourseMapper.selectByExample(example); @@ -329,7 +340,8 @@ public class CaseApi { //*考试模式--成绩报告案例题question0riginal所属章节,contentOriginal为考核点数量,Sort为序号 @PostMapping("getGradeReportCase") @ApiOperation("考试模式/成绩报告/案例题") - public List getGradeReportCase(@RequestParam List caseIdList, + @AnonymousAccess + public List getGradeReportCase(@RequestBody List caseIdList, @RequestParam String schoolId, @RequestParam String systemOwner) { SysOneCatalog sysOneCatalogs = getSysOneCatalogs(systemOwner); @@ -341,6 +353,7 @@ public class CaseApi { //根据课程ID查询案例题 @PostMapping("selectCaseByCourseId") @ApiOperation("根据课程ID查询案例题") + @AnonymousAccess //只查学校新增的 public List selectCaseByCourseId(@RequestParam String courseId, @RequestParam String systemOwner, @RequestParam String schoolId) { @@ -350,12 +363,22 @@ public class CaseApi { SysTopicAndCourseExample example = new SysTopicAndCourseExample(); example.createCriteria().andTwoIdEqualTo(courseId).andOneIdEqualTo(oneId); List sysTopicAndCourses = topicAndCourseMapper.selectByExample(example); + if (!sysTopicAndCourses.isEmpty()) { + List collect = sysTopicAndCourses.stream().map(SysTopicAndCourse::getTopicId).collect(Collectors.toList()); + SysCaseQuestionExample example1 = new SysCaseQuestionExample(); + example1.createCriteria().andCaseIdIn(collect).andSourceEqualTo(schoolId); + List list = caseQuestionMapper.selectByExampleWithBLOBs(example1); + return list; + } + return null; + } - List collect = sysTopicAndCourses.stream().map(SysTopicAndCourse::getTopicId).collect(Collectors.toList()); - - SysCaseQuestionExample example1 = new SysCaseQuestionExample(); - example1.createCriteria().andCaseIdIn(collect).andSourceEqualTo(schoolId); - List list = caseQuestionMapper.selectByExampleWithBLOBs(example1); - return list; + //* 单独接口 +//* 展示案例题详细信息 + @AnonymousAccess + @ApiOperation("展示案例题详细信息") + @PostMapping("selectTrainingByIds") + public List selectTrainingByIds(@RequestBody List caseStepIdList) { + return caseQuestionStepMapper.selectTrainingByIds(caseStepIdList); } } diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java index eca3040..52e9999 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java @@ -169,7 +169,7 @@ public class CourseApi { @AnonymousAccess @ApiOperation("根据课程IDList查询章节集合并排序") @PostMapping("selectChaptersByCourseIdsAndAsc") - public List selectChaptersByCourseIdsAndAsc(@RequestParam List courseIds) { + public List selectChaptersByCourseIdsAndAsc(@RequestBody List courseIds) { SysThreeCatalogExample example = new SysThreeCatalogExample(); example.createCriteria().andTwoIdIn(courseIds); example.setOrderByClause("sort"); @@ -186,7 +186,7 @@ public class CourseApi { @AnonymousAccess @ApiOperation("查询总章节数量") @PostMapping("getTotalChapterCount") - public Integer getTotalChapterCount(String systemOwner) { + public Integer getTotalChapterCount(@RequestParam String systemOwner) { SysOneCatalog sysOneCatalogs = getSysOneCatalogs(systemOwner); String oneId = sysOneCatalogs.getOneId(); return threeCatalogMapper.countByOneId(oneId); @@ -202,7 +202,7 @@ public class CourseApi { @AnonymousAccess @ApiOperation("根据章节ID查询章节信息") @PostMapping("selectChapterByChapterId") - public SysThreeCatalog selectChapterByChapterId(String chapterId) { + public SysThreeCatalog selectChapterByChapterId(@RequestParam String chapterId) { return threeCatalogMapper.selectByPrimaryKey(chapterId); } diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/ObjectiveApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/ObjectiveApi.java index 5abd9b7..de89976 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/ObjectiveApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/ObjectiveApi.java @@ -347,7 +347,7 @@ public class ObjectiveApi { @AnonymousAccess @ApiOperation("根据客观题IDList批量查询客观题") @PostMapping("selectBatchByIdList") - private List selectBatchByIdList(@RequestParam List objectIdList) { + private List selectBatchByIdList(@RequestBody List objectIdList) { SysObjectiveQuestionsExample example = new SysObjectiveQuestionsExample(); example.createCriteria().andObjectiveIdIn(objectIdList); List sysObjectiveQuestions = sysObjectiveQuestionMapper.selectByExample(example); diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java index 0f735ad..ecb7c2a 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java @@ -24,10 +24,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @RestController @@ -159,14 +156,19 @@ public class ResourceApi { @AnonymousAccess @ApiOperation("获取资源类型数量") @PostMapping("getResourceTypeCount") - public Map getResourceTypeCount(@RequestParam String systemOwner, - @RequestParam String schoolId) { + public Map getResourceTypeCount(@RequestParam String systemOwner, + @RequestParam String schoolId) { SysOneCatalog sysOneCatalogs = getSysOneCatalogs(systemOwner); SysResourceAndCourseExample example = new SysResourceAndCourseExample(); example.createCriteria().andOneIdEqualTo(sysOneCatalogs.getOneId()); List sysResourceAndCourses = sysResourceAndCourseMapper.selectByExample(example); List ids = sysResourceAndCourses.stream().map(SysResourceAndCourse::getResourceId).collect(Collectors.toList()); - return sysResourceMapper.getCountByType(ids, schoolId); + List> countByType = sysResourceMapper.getCountByType(ids, schoolId); + Map resultMap = new HashMap<>(); + for (Map item : countByType) { + resultMap.put(item.get("resource_type").toString(), (Long) item.get("count")); + } + return resultMap; } @@ -303,5 +305,4 @@ public class ResourceApi { @Param("学校ID") @RequestParam String schoolId) { return sysResourceMapper.getMostPopularName(); } - } diff --git a/src/main/java/com/sztzjy/resource_center/entity/dto/TrainingDto.java b/src/main/java/com/sztzjy/resource_center/entity/dto/TrainingDto.java new file mode 100644 index 0000000..ea0ecb0 --- /dev/null +++ b/src/main/java/com/sztzjy/resource_center/entity/dto/TrainingDto.java @@ -0,0 +1,24 @@ +package com.sztzjy.resource_center.entity.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author xcj + * @Date 2024/7/22 + */ +@Data +public class TrainingDto { + @ApiModelProperty("案例名称") + private String name; + @ApiModelProperty("案例题ID") + private String caseId; + @ApiModelProperty("所属任务") + private String task; + @ApiModelProperty("步骤数量") + private int count; + @ApiModelProperty("案例分值") + private BigDecimal score; +} diff --git a/src/main/java/com/sztzjy/resource_center/mapper/SysCaseQuestionStepMapper.java b/src/main/java/com/sztzjy/resource_center/mapper/SysCaseQuestionStepMapper.java index e7204bb..a119cef 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysCaseQuestionStepMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysCaseQuestionStepMapper.java @@ -5,6 +5,7 @@ import com.sztzjy.resource_center.entity.SysCaseQuestionStepExample; import com.sztzjy.resource_center.entity.SysCaseQuestionStepWithBLOBs; import java.util.List; +import com.sztzjy.resource_center.entity.dto.TrainingDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper @@ -40,4 +41,6 @@ public interface SysCaseQuestionStepMapper { List getGradeReportCase(@Param("list") List caseIdList, @Param("schoolId") String schoolId, @Param("oneId") String oneId); + + List selectTrainingByIds(@Param("list") List caseStepIdList); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java index 65f3d3f..72b14a3 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java @@ -45,7 +45,7 @@ public interface SysResourceMapper { @Param("threeId") String threeId, @Param("resourceName") String resourceName); - Map getCountByType(@Param("list") List ids, @Param("schoolId") String schoolId); + List> getCountByType(@Param("list") List ids, @Param("schoolId") String schoolId); @Select("SELECT resource_name FROM `sys_resource` ORDER BY count desc") String getMostPopularName(); diff --git a/src/main/resources/mapper/SysCaseQuestionStepMapper.xml b/src/main/resources/mapper/SysCaseQuestionStepMapper.xml index 601126f..df3d6d2 100644 --- a/src/main/resources/mapper/SysCaseQuestionStepMapper.xml +++ b/src/main/resources/mapper/SysCaseQuestionStepMapper.xml @@ -409,4 +409,31 @@ and s2.unmount_status is FALSE GROUP BY s2.title, s3.three_name + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/SysResourceMapper.xml b/src/main/resources/mapper/SysResourceMapper.xml index fe824d1..18c5bf4 100644 --- a/src/main/resources/mapper/SysResourceMapper.xml +++ b/src/main/resources/mapper/SysResourceMapper.xml @@ -440,7 +440,7 @@ #{item} - AND source = #{schoolId} + AND source in (#{schoolId},'管理员') GROUP BY resource_type