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 ee34d06..08f522b 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 @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; @RestController @Api(tags = "案例题方面API") @@ -265,12 +266,22 @@ public class CaseApi { } - /** * 根据章节IdList查询案例题 * 方法名:selectCaseByChapterIdList * 参数:List chapterIdList * return:List */ + @PostMapping("selectCaseByChapterIdList") + @ApiOperation("根据章节IdList查询案例题") + public List selectCaseByChapterIdList(@RequestParam List chapterIdList) { + SysTopicAndCourseExample example = new SysTopicAndCourseExample(); + example.createCriteria().andThreeIdIn(chapterIdList); + List sysTopicAndCourses = topicAndCourseMapper.selectByExample(example); + List idList = sysTopicAndCourses.stream().map(SysTopicAndCourse::getTopicId).collect(Collectors.toList()); + SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); + sysCaseQuestionExample.createCriteria().andCaseIdIn(idList); + return caseQuestionMapper.selectByExampleWithBLOBs(sysCaseQuestionExample); + } } 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 01ad03e..5bb2ddb 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 @@ -49,7 +49,7 @@ public class CourseApi { @PostMapping("selectThreeCatalogListByTwoId") @ApiOperation("根据二级目录ID查寻所有三级目录信息") @AnonymousAccess - public List selectChapterByCourseId(@RequestParam String twoId,@RequestParam String schoolId) { + public List selectChapterByCourseId(@RequestParam String twoId, @RequestParam String schoolId) { SysThreeCatalogExample example = new SysThreeCatalogExample(); ArrayList list = new ArrayList<>(); list.add(schoolId); @@ -146,6 +146,18 @@ public class CourseApi { * 参数:systemOwner * return:List */ + @AnonymousAccess + @ApiOperation("获取内置课程 并排序ASC") + @PostMapping("selectTwoCataLogByInnerAndAsc") + public List selectTwoCataLogByInnerAndAsc(@RequestParam String systemOwner) { + SysOneCatalog sysOneCatalogs = getSysOneCatalogs(systemOwner); + String oneId = sysOneCatalogs.getOneId(); + SysTwoCatalogExample example = new SysTwoCatalogExample(); + example.createCriteria().andOneIdEqualTo(oneId).andCreatorEqualTo("管理员"); + example.setOrderByClause("sort"); + List sysTwoCatalogs = twoCatalogMapper.selectByExample(example); + return sysTwoCatalogs; + } /** * 根据课程IDList查询章节集合并排序 @@ -153,6 +165,16 @@ public class CourseApi { * 参数:List courseIds * return:List */ + @AnonymousAccess + @ApiOperation("根据课程IDList查询章节集合并排序") + @PostMapping("selectChaptersByCourseIdsAndAsc") + public List selectChaptersByCourseIdsAndAsc(@RequestParam List courseIds) { + SysThreeCatalogExample example = new SysThreeCatalogExample(); + example.createCriteria().andTwoIdIn(courseIds); + example.setOrderByClause("sort"); + return threeCatalogMapper.selectByExample(example); + } + /** * 查询总章节数量 @@ -160,7 +182,14 @@ public class CourseApi { * 参数:systemOwner * return:Integer */ - + @AnonymousAccess + @ApiOperation("查询总章节数量") + @PostMapping("getTotalChapterCount") + public Integer getTotalChapterCount(String systemOwner) { + SysOneCatalog sysOneCatalogs = getSysOneCatalogs(systemOwner); + String oneId = sysOneCatalogs.getOneId(); + return threeCatalogMapper.countByOneId(oneId); + } /** * 根据章节ID查询章节信息 * 方法名:selectChapterByChapterId 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 328746f..9b05ae0 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 @@ -2,10 +2,7 @@ package com.sztzjy.resource_center.controller.api; import cn.hutool.core.util.IdUtil; import com.sztzjy.resource_center.annotation.AnonymousAccess; -import com.sztzjy.resource_center.entity.SysOneCatalog; -import com.sztzjy.resource_center.entity.SysOneCatalogExample; -import com.sztzjy.resource_center.entity.SysResource; -import com.sztzjy.resource_center.entity.SysResourceAndCourse; +import com.sztzjy.resource_center.entity.*; import com.sztzjy.resource_center.entity.dto.SysResourceDto; import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper; import com.sztzjy.resource_center.mapper.SysOneCatalogMapper; @@ -21,8 +18,11 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; +import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @RestController @Api(tags = "资源方面API") @@ -151,6 +151,19 @@ public class ResourceApi { * 参数:schoolId systemOwner * return: Map 课件:121 */ + @AnonymousAccess + @ApiOperation("获取资源类型数量") + @PostMapping("getResourceTypeCount") + 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); + } + /** * 获取该系统下 学校上传和内置的全部资源数量 @@ -158,6 +171,24 @@ public class ResourceApi { * 参数:systemOwner schoolId * return: Integer */ + @AnonymousAccess + @ApiOperation("获取该系统下 学校上传和内置的全部资源数量") + @PostMapping("getTotalResource") + public Integer getTotalResource(@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()); + + List list = Arrays.asList(schoolId, "管理员"); + SysResourceExample example1 = new SysResourceExample(); + example1.createCriteria().andResourceIdIn(ids).andResourceIdIn(list); + List sysResources = sysResourceMapper.selectByExample(example1); + return sysResources.size(); + } + /** * 获取最受欢迎的资源名称 diff --git a/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java b/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java index 310d611..81166c7 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java @@ -51,7 +51,7 @@ public class AdminDataController { @Transactional ResultEntity add(@RequestParam String adminDataDtoJSON, @RequestParam MultipartFile pictureFile, - @RequestParam List dataFile) { + @RequestParam(required = false) List dataFile) { Gson gson = new Gson(); AdminDataDto adminDataDto = null; try { @@ -212,12 +212,22 @@ public class AdminDataController { // return new ResultEntity<>(HttpStatus.OK,"编辑成功!"); // } + @PostMapping("updateAdminData") @ApiOperation("编辑") @AnonymousAccess @Transactional - ResultEntity updateAdminData(@RequestBody AdminDataDto adminDataDto, - @RequestParam MultipartFile pictureFile) { + ResultEntity updateAdminData(@RequestParam String adminDataDtoJSON, + @RequestParam(required = false) MultipartFile pictureFile, + @RequestPart List fileDataList) { + Gson gson = new Gson(); + AdminDataDto adminDataDto = null; + try { + adminDataDto = gson.fromJson(adminDataDtoJSON, AdminDataDto.class); + } catch (JsonSyntaxException e) { + e.printStackTrace(); + return new ResultEntity<>(HttpStatus.INTERNAL_SERVER_ERROR, "服务器错误,请联系管理员"); + } //新增 try { AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(adminDataDto.getDataId()); @@ -243,9 +253,7 @@ public class AdminDataController { } // 文件数据并行处理 - if (adminDataDto.getFileDataList() != null && !adminDataDto.getFileDataList().isEmpty()) { - List fileDataList = adminDataDto.getFileDataList(); - + if (fileDataList != null && !fileDataList.isEmpty()) { // 并行上传文件 fileDataList.parallelStream().forEach(fileData -> { if (fileData.getFile() != null && fileData.getFileId() != null) { diff --git a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataDto.java b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataDto.java index c5fd2fa..785d3b2 100644 --- a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataDto.java +++ b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataDto.java @@ -16,6 +16,4 @@ import java.util.Map; public class AdminDataDto extends AdminDataWithBLOBs { @ApiModelProperty("标签集合") private List adminLabelList; - @ApiModelProperty("编辑时传") - private List fileDataList; } 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 6b28a63..89b9c9d 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java @@ -4,6 +4,7 @@ import com.sztzjy.resource_center.entity.SysResource; import com.sztzjy.resource_center.entity.SysResourceExample; import java.util.List; +import java.util.Map; import com.sztzjy.resource_center.entity.dto.SysResourceDto; import org.apache.ibatis.annotations.Mapper; @@ -44,4 +45,5 @@ public interface SysResourceMapper { @Param("threeId") String threeId, @Param("resourceName") String resourceName); + Map getCountByType(@Param("list") List ids,@Param("schoolId") String schoolId); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java b/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java index d4f7d10..ac1c2cd 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java @@ -36,4 +36,7 @@ public interface SysThreeCatalogMapper { List> getAllThreeCatalogList(@Param("oneId")String oneId, @Param("twoId")String twoId); void updateByBatch(@Param("sysThreeCatalogs") List sysThreeCatalogs); + + @Select("select count(*) from sys_three_catalog where ont_id = #{oneId}") + Integer countByOneId(@Param("oneId") String oneId); } \ No newline at end of file diff --git a/src/main/resources/mapper/SysResourceMapper.xml b/src/main/resources/mapper/SysResourceMapper.xml index 2bae0ac..d832a0c 100644 --- a/src/main/resources/mapper/SysResourceMapper.xml +++ b/src/main/resources/mapper/SysResourceMapper.xml @@ -421,4 +421,16 @@ order by sr.create_time + + + \ No newline at end of file