改为模糊查询

master
xiaoCJ 8 months ago
parent 78361fbfde
commit 3371d3477b

@ -132,7 +132,7 @@ public class CourseConfigController {
@RequestParam Integer index, @RequestParam Integer index,
@RequestParam Integer size) { @RequestParam Integer size) {
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
List<SysResourceDto> sysResourceDtos = sysResourceMapper.selectResource(oneID, twoID, threeID); List<SysResourceDto> sysResourceDtos = sysResourceMapper.selectResource(oneID, twoID, threeID,null);
PageInfo<SysResourceDto> pageInfo = new PageInfo(sysResourceDtos); PageInfo<SysResourceDto> pageInfo = new PageInfo(sysResourceDtos);
return new ResultEntity<PageInfo<SysResourceDto>>(pageInfo); return new ResultEntity<PageInfo<SysResourceDto>>(pageInfo);
} }

@ -7,6 +7,7 @@ import com.sztzjy.resource_center.entity.SysResource;
import com.sztzjy.resource_center.entity.dto.SysResourceDto; import com.sztzjy.resource_center.entity.dto.SysResourceDto;
import com.sztzjy.resource_center.mapper.SysResourceMapper; import com.sztzjy.resource_center.mapper.SysResourceMapper;
import com.sztzjy.resource_center.util.ResultEntity; import com.sztzjy.resource_center.util.ResultEntity;
import com.sztzjy.resource_center.util.file.IFileUtil;
import io.swagger.annotations.Api; 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;
@ -35,7 +36,8 @@ public class LearningResourceController {
private SysResourceMapper sysResourceMapper; private SysResourceMapper sysResourceMapper;
@Value("${file.path}") @Value("${file.path}")
private String filePath; private String filePath;
@Autowired
private IFileUtil fileUtil;
@AnonymousAccess @AnonymousAccess
@ -63,10 +65,22 @@ public class LearningResourceController {
} }
//下载资源文件
@GetMapping("downloadResource")
@ApiOperation("下载资源文件")
@AnonymousAccess
public void downloadResource(@ApiParam("资源ID") @RequestParam String resourceId, HttpServletResponse response) {
SysResource sysResource = sysResourceMapper.selectByPrimaryKey(resourceId);
if ("课件".equals(sysResource.getResourceType())) {
fileUtil.download(response, sysResource.getResourceName(), sysResource.getUrl());
}
}
@GetMapping("/getResource") @GetMapping("/getResource")
@ApiOperation("预览/获取视频或课件") @ApiOperation("预览/获取视频或课件")
@AnonymousAccess @AnonymousAccess
public ResponseEntity<FileSystemResource> streamVideo(@ApiParam("资源ID") @RequestParam String id,HttpServletResponse response) { public ResponseEntity<FileSystemResource> streamVideo(@ApiParam("资源ID") @RequestParam String id, HttpServletResponse response) {
SysResource sysResource = sysResourceMapper.selectByPrimaryKey(id); SysResource sysResource = sysResourceMapper.selectByPrimaryKey(id);
String url = sysResource.getUrl(); String url = sysResource.getUrl();
@ -83,17 +97,26 @@ public class LearningResourceController {
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
} else if ("课件".equals(sysResource.getResourceType())) { } else if ("课件".equals(sysResource.getResourceType())) {
// fileUtil.getPdf(response, name, url);
if (videoFile.exists()) { if (videoFile.exists()) {
// Path path = Paths.get(videoPath);
FileSystemResource fileSystemResource = new FileSystemResource(videoFile); FileSystemResource fileSystemResource = new FileSystemResource(videoFile);
return ResponseEntity.ok() if (url.endsWith("pptx")) {
.contentType(MediaType.parseMediaType("application/pdf")) return ResponseEntity.ok()
.body(fileSystemResource); .contentType(MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.presentationml.presentation"))
.body(fileSystemResource);
} else if (url.endsWith("ppt")) {
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType("application/vnd.ms-powerpoint"))
.body(fileSystemResource);
} else {
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType("application/pdf"))
.body(fileSystemResource);
}
} else { } else {
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
} }
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
} }

@ -235,8 +235,18 @@ public class CaseApi {
* ID * ID
* selectCaseByChapterId * selectCaseByChapterId
* threeId * threeId
* return:List<TestTestSysCaseQuestionStepWithBLOBs> * return:List<SysCaseQuestion>
*/ */
//案例题步骤内容查看 caseStepId
@PostMapping("selectCaseByChapterId")
@ApiOperation("根据三级ID查询案例题集合")
public List<SysCaseQuestion> selectCaseByChapterId(@RequestParam String threeId) {
SysCaseQuestionExample example = new SysCaseQuestionExample();
example.createCriteria().andThreeIdEqualTo(threeId);
List<SysCaseQuestion> list = caseQuestionMapper.selectByExample(example);
return list;
}
/** /**
* IDList * IDList
@ -244,5 +254,13 @@ public class CaseApi {
* caseIdList * caseIdList
* return:List<TestTestSysCaseQuestionStepWithBLOBs> * return:List<TestTestSysCaseQuestionStepWithBLOBs>
*/ */
@PostMapping("selectCaseStepListBatchByIdListAndSort")
@ApiOperation("查询案例题步骤并排序")
public List<SysCaseQuestionStepWithBLOBs> selectCaseByChapterId(@RequestParam List<String> caseIdList) {
SysCaseQuestionStepExample example = new SysCaseQuestionStepExample();
example.createCriteria().andCaseIdIn(caseIdList);
example.setOrderByClause("sort");
List<SysCaseQuestionStepWithBLOBs> sysCaseQuestionStepWithBLOBs = caseQuestionStepMapper.selectByExampleWithBLOBs(example);
return sysCaseQuestionStepWithBLOBs;
}
} }

@ -9,7 +9,6 @@ import com.sztzjy.resource_center.entity.dto.SysObjectiveQuestionsDto;
import com.sztzjy.resource_center.mapper.SysObjectiveQuestionsMapper; import com.sztzjy.resource_center.mapper.SysObjectiveQuestionsMapper;
import com.sztzjy.resource_center.mapper.SysOneCatalogMapper; import com.sztzjy.resource_center.mapper.SysOneCatalogMapper;
import com.sztzjy.resource_center.mapper.SysTopicAndCourseMapper; import com.sztzjy.resource_center.mapper.SysTopicAndCourseMapper;
import com.sztzjy.resource_center.util.ResultEntity;
import com.sztzjy.resource_center.util.file.IFileUtil; import com.sztzjy.resource_center.util.file.IFileUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -19,7 +18,6 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -164,12 +162,12 @@ public class ObjectiveApi {
@ApiOperation("课程配置/题目条件查询") @ApiOperation("课程配置/题目条件查询")
@PostMapping("selectObjectiveList") //todo 关于老师删除的题库如何查询 @PostMapping("selectObjectiveList") //todo 关于老师删除的题库如何查询
private PageInfo<SysObjectiveQuestionsDto> selectObjectiveList(@RequestParam Integer index, private PageInfo<SysObjectiveQuestionsDto> selectObjectiveList(@RequestParam Integer index,
@RequestParam Integer size, @RequestParam Integer size,
@RequestParam(required = false) String courseId, @RequestParam(required = false) String courseId,
@RequestParam(required = false) String chapterId, @RequestParam(required = false) String chapterId,
@RequestParam(required = false) String type, @RequestParam(required = false) String type,
@RequestParam String schoolId, @RequestParam String schoolId,
@ApiParam("题干") @RequestParam(required = false) String content) { @ApiParam("题干") @RequestParam(required = false) String content) {
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
List<SysObjectiveQuestionsDto> list = sysObjectiveQuestionMapper.getTopicByConfig(null, courseId, chapterId, type, schoolId, content); List<SysObjectiveQuestionsDto> list = sysObjectiveQuestionMapper.getTopicByConfig(null, courseId, chapterId, type, schoolId, content);
PageInfo<SysObjectiveQuestionsDto> pageInfo = new PageInfo(list); PageInfo<SysObjectiveQuestionsDto> pageInfo = new PageInfo(list);
@ -304,4 +302,13 @@ public class ObjectiveApi {
* objectIdList * objectIdList
* return:List<SysObjectiveQuestions> * return:List<SysObjectiveQuestions>
*/ */
@AnonymousAccess
@ApiOperation("根据客观题IDList批量查询客观题")
@PostMapping("selectBatchByIdList")
private List<SysObjectiveQuestions> selectBatchByIdList(@RequestParam List<String> objectIdList) {
SysObjectiveQuestionsExample example = new SysObjectiveQuestionsExample();
example.createCriteria().andObjectiveIdIn(objectIdList);
List<SysObjectiveQuestions> sysObjectiveQuestions = sysObjectiveQuestionMapper.selectByExample(example);
return sysObjectiveQuestions;
}
} }

@ -1,19 +1,117 @@
package com.sztzjy.resource_center.controller.api; 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.dto.SysResourceDto;
import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper;
import com.sztzjy.resource_center.mapper.SysOneCatalogMapper;
import com.sztzjy.resource_center.mapper.SysResourceAndCourseMapper;
import com.sztzjy.resource_center.mapper.SysResourceMapper;
import com.sztzjy.resource_center.util.file.IFileUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.List;
@RestController @RestController
@Api(tags = "资源方面API") @Api(tags = "资源方面API")
@RequestMapping("api/tea/ResourceApi") @RequestMapping("api/tea/ResourceApi")
public class ResourceApi { public class ResourceApi {
@Autowired
private SysResourceMapper sysResourceMapper;
@Autowired
private SysResourceAndCourseMapper sysResourceAndCourseMapper;
@Autowired
private SysCaseQuestionMapper sysCaseQuestionMapper;
@Autowired
SysOneCatalogMapper oneCatalogMapper;
@Autowired
private IFileUtil fileUtil;
private SysOneCatalog getSysOneCatalogs(String systemOwner) {
SysOneCatalogExample example = new SysOneCatalogExample();
example.createCriteria().andOneNameEqualTo(systemOwner);
List<SysOneCatalog> sysOneCatalogs = oneCatalogMapper.selectByExample(example);
return sysOneCatalogs.get(0);
}
/** /**
* *
* uploadResource * uploadResource
* MultipartFile schoolId courseId resourceType systemOwner * MultipartFile schoolId twoId resourceType systemOwner
* return: boolean * return: boolean
*/ */
@AnonymousAccess
@ApiOperation("上传资源文件")
@PostMapping("uploadResource")
public Boolean uploadResource(@RequestParam MultipartFile file,
@RequestParam String schoolId,
@RequestParam String twoId,
@RequestParam String twoName,
@RequestParam String resourceType,
@RequestParam String systemOwner) {
if (file == null) {
return false;
}
//取到文件后缀名
String fileName = file.getName();
int lastIndex = fileName.lastIndexOf(".");
String extension = fileName.substring(lastIndex);
SysResource sysResource = new SysResource();
//判断文件type //todo 格式可能不够全
if (extension.equals(".pdf") || extension.equals(".ppt") || extension.equals(".pptx")
|| extension.equals(".xlsx") || extension.equals(".xls")
|| extension.equals(".doc") || extension.equals(".docx")) {
sysResource.setResourceType("课件");
} else if (extension.equals(".mp4") || extension.equals(".wmv") || extension.equals(".avi")) {
sysResource.setResourceType("视频");
} else {
return false;
}
String url = fileUtil.upload(file);
String uuid = IdUtil.randomUUID();
sysResource.setResourceId(uuid);
sysResource.setUrl(url);
sysResource.setSource(schoolId); //管理员或者 xx学校
sysResource.setResourceName(fileName);
sysResource.setStatus(1);
sysResource.setCreateTime(new Date()); //todo 测试修改资源之后 新增时间会不会变化,有变化就错了
sysResourceMapper.insert(sysResource);
//绑定资源的对应关系
try {
SysResourceAndCourse sysResourceAndCourse = new SysResourceAndCourse();
SysOneCatalog sysOneCatalogs = getSysOneCatalogs(systemOwner);
String oneId = sysOneCatalogs.getOneId();
sysResourceAndCourse.setId(IdUtil.randomUUID());
sysResourceAndCourse.setOneId(oneId);
sysResourceAndCourse.setTwoId(twoId);
sysResourceAndCourse.setOneName(systemOwner);
sysResourceAndCourse.setTwoName(twoName);
sysResourceAndCourse.setResourceId(uuid); //资源ID
sysResourceAndCourseMapper.insert(sysResourceAndCourse);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/** /**
* *
@ -21,6 +119,15 @@ public class ResourceApi {
* schoolId twoId oneId * schoolId twoId oneId
* return: List<SysResource> * return: List<SysResource>
*/ */
@AnonymousAccess
@ApiOperation("查看资源文件列表")
@PostMapping("selectResource")
public List<SysResourceDto> selectResource(@RequestParam String oneId, //这里传的是一级的名称
@RequestParam String twoId,
@RequestParam String schoolId) {
SysOneCatalog sysOneCatalogs = getSysOneCatalogs(oneId);
return sysResourceMapper.selectResource(sysOneCatalogs.getOneId(), twoId, null, schoolId);
}
/** /**
* *
@ -28,12 +135,13 @@ public class ResourceApi {
* threeId oneId * threeId oneId
* return: List<SysResource> * return: List<SysResource>
*/ */
@AnonymousAccess
/** @ApiOperation("根据章节查看资源文件列表")
* @PostMapping("selectResourceByChapterId")
* downloadResource public List<SysResourceDto> selectResourceByChapterId(@RequestParam String oneId, //这里传的是一级的名称
* resourceDataName resourceId response @RequestParam String threeId,
* return: void @RequestParam String source) {
* method GET SysOneCatalog sysOneCatalogs = getSysOneCatalogs(oneId);
*/ return sysResourceMapper.selectResource(sysOneCatalogs.getOneId(), null, threeId, source);
}
} }

@ -36,7 +36,8 @@ public interface SysResourceMapper {
List<SysResourceDto> selectResource(@Param("oneId") String oneId, List<SysResourceDto> selectResource(@Param("oneId") String oneId,
@Param("twoId") String twoId, @Param("twoId") String twoId,
@Param("threeId") String threeId); @Param("threeId") String threeId,
@Param("source") String source);
List<SysResourceDto> selectResourceByRepeat(@Param("oneId") String oneId, List<SysResourceDto> selectResourceByRepeat(@Param("oneId") String oneId,
@Param("twoId") String twoId, @Param("twoId") String twoId,

@ -415,6 +415,9 @@
<if test="threeId != null and threeId != ''"> <if test="threeId != null and threeId != ''">
and sc.three_id = #{threeId} and sc.three_id = #{threeId}
</if> </if>
<if test="source != null and source != ''">
and sr.source = #{source}
</if>
</where> </where>
order by sr.create_time order by sr.create_time
</select> </select>

Loading…
Cancel
Save