From 7c25c843b19639172626ad859d995e9fd2d5fa9e Mon Sep 17 00:00:00 2001 From: xiaoCJ <406612557@qq.com> Date: Fri, 14 Jun 2024 18:02:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B5=84=E6=BA=90=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResourceController.java | 103 ++++++++++-------- .../resource_center/entity/SysResource.java | 2 +- .../entity/dto/SysResourceDto.java | 5 +- .../mapper/SysResourceAndCourseMapper.java | 2 + .../mapper/SysResourceAndCourseMapper.xml | 11 ++ .../resources/mapper/SysResourceMapper.xml | 4 +- 6 files changed, 79 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/sztzjy/resource_center/controller/ResourceController.java b/src/main/java/com/sztzjy/resource_center/controller/ResourceController.java index 824449d..d4b5a0f 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/ResourceController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/ResourceController.java @@ -6,7 +6,7 @@ import com.github.pagehelper.PageInfo; import com.sztzjy.resource_center.annotation.AnonymousAccess; import com.sztzjy.resource_center.entity.SysResource; import com.sztzjy.resource_center.entity.SysResourceAndCourse; -import com.sztzjy.resource_center.entity.SysResourceExample; +import com.sztzjy.resource_center.entity.SysResourceAndCourseExample; import com.sztzjy.resource_center.entity.dto.SysResourceDto; import com.sztzjy.resource_center.mapper.SysResourceAndCourseMapper; import com.sztzjy.resource_center.mapper.SysResourceMapper; @@ -15,7 +15,6 @@ import com.sztzjy.resource_center.util.file.IFileUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; @@ -40,55 +39,54 @@ public class ResourceController { private IFileUtil fileUtil; @AnonymousAccess - @ApiOperation("上传资源") + @ApiOperation("上传资源单个或批量") @PostMapping("uploadResource") - public ResultEntity uploadResource(@ApiParam("") @RequestBody SysResourceDto dto) { - if (StringUtils.isBlank(dto.getResourceName())) { - return new ResultEntity<>(HttpStatus.BAD_REQUEST, "请输入资源名称!"); - } - if (dto.getFile() == null) { - return new ResultEntity<>(HttpStatus.BAD_REQUEST, "请上传文件!"); - } - //取到文件后缀名 - String fileName = dto.getResourceName(); - int lastIndex = fileName.lastIndexOf("."); - String extension = fileName.substring(lastIndex); + public ResultEntity uploadResource(@ApiParam("") @RequestBody List dtos) { + for (SysResourceDto dto : dtos) { + if (dto.getFile() == null) { + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "请上传文件!"); + } + //取到文件后缀名 + String fileName = dto.getResourceName(); + 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 new ResultEntity<>(HttpStatus.BAD_REQUEST, "文件类型不支持!"); - } - String url = fileUtil.upload(dto.getFile()); - String uuid = IdUtil.randomUUID(); - sysResource.setResourceId(uuid); - sysResource.setUrl(url); - sysResource.setSchoolId(dto.getSchoolId()); - sysResource.setResourceName(dto.getResourceName()); - sysResource.setCreateTime(new Date()); //todo 测试修改资源之后 新增时间会不会变化,有变化就错了 - sysResourceMapper.insert(sysResource); + 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 new ResultEntity<>(HttpStatus.BAD_REQUEST, "文件类型不支持!"); + } + String url = fileUtil.upload(dto.getFile()); + String uuid = IdUtil.randomUUID(); + sysResource.setResourceId(uuid); + sysResource.setUrl(url); + sysResource.setSchoolId(dto.getSchoolId()); + sysResource.setSource(dto.getSource()); //管理员或者 xx学校 + sysResource.setResourceName(dto.getResourceName()); + sysResource.setCreateTime(new Date()); //todo 测试修改资源之后 新增时间会不会变化,有变化就错了 + sysResourceMapper.insert(sysResource); - //绑定资源的对应关系 - SysResourceAndCourse sysResourceAndCourse = new SysResourceAndCourse(); - sysResourceAndCourse.setId(IdUtil.randomUUID()); - sysResourceAndCourse.setOneId(dto.getOneId()); - sysResourceAndCourse.setOneName(dto.getOneName()); - sysResourceAndCourse.setTwoId(dto.getTwoId()); - sysResourceAndCourse.setTwoName(dto.getTwoName()); - sysResourceAndCourse.setThreeId(dto.getThreeId()); - sysResourceAndCourse.setThreeName(dto.getThreeName()); - sysResourceAndCourse.setResourceId(uuid); //资源ID - sysResourceAndCourseMapper.insert(sysResourceAndCourse); + //绑定资源的对应关系 + SysResourceAndCourse sysResourceAndCourse = new SysResourceAndCourse(); + sysResourceAndCourse.setId(IdUtil.randomUUID()); + sysResourceAndCourse.setOneId(dto.getOneId()); + sysResourceAndCourse.setOneName(dto.getOneName()); + sysResourceAndCourse.setTwoId(dto.getTwoId()); + sysResourceAndCourse.setTwoName(dto.getTwoName()); + sysResourceAndCourse.setThreeId(dto.getThreeId()); + sysResourceAndCourse.setThreeName(dto.getThreeName()); + sysResourceAndCourse.setResourceId(uuid); //资源ID + sysResourceAndCourseMapper.insert(sysResourceAndCourse); + } return new ResultEntity<>(HttpStatus.OK, "上传成功!"); } - @AnonymousAccess @ApiOperation("资源列表展示") @PostMapping("selectResource") @@ -103,4 +101,19 @@ public class ResourceController { PageInfo pageInfo = new PageInfo(sysResourceDtos); return new ResultEntity>(pageInfo); } + + + @AnonymousAccess + @ApiOperation("删除资源") + @PostMapping("deleteResource") + public ResultEntity deleteResource(@RequestParam String id) { + SysResourceAndCourseExample example = new SysResourceAndCourseExample(); + example.createCriteria().andResourceIdEqualTo(id); + List sysResourceAndCourses = sysResourceAndCourseMapper.selectByExample(example); + if (sysResourceAndCourses.isEmpty()) { + sysResourceMapper.deleteByPrimaryKey(id); + return new ResultEntity<>(HttpStatus.OK, "删除成功!"); + } + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该资源已绑定课程,无法删除!"); + } } diff --git a/src/main/java/com/sztzjy/resource_center/entity/SysResource.java b/src/main/java/com/sztzjy/resource_center/entity/SysResource.java index 54be78d..8efd205 100644 --- a/src/main/java/com/sztzjy/resource_center/entity/SysResource.java +++ b/src/main/java/com/sztzjy/resource_center/entity/SysResource.java @@ -22,7 +22,7 @@ public class SysResource { @ApiModelProperty("资源类型 /视频/课件") private String resourceType; - @ApiModelProperty("来源(内置/老师新增)") + @ApiModelProperty("来源 管理员/xx学校") private String source; @ApiModelProperty("学校ID") diff --git a/src/main/java/com/sztzjy/resource_center/entity/dto/SysResourceDto.java b/src/main/java/com/sztzjy/resource_center/entity/dto/SysResourceDto.java index bcff50c..7fbbf25 100644 --- a/src/main/java/com/sztzjy/resource_center/entity/dto/SysResourceDto.java +++ b/src/main/java/com/sztzjy/resource_center/entity/dto/SysResourceDto.java @@ -21,7 +21,10 @@ public class SysResourceDto { @ApiModelProperty("资源类型 /视频/课件") private String resourceType; - @ApiModelProperty("来源(内置/老师新增)") + @ApiModelProperty("视频路径") + private String url; + + @ApiModelProperty("来源 管理员/xx学校") private String source; @ApiModelProperty("学校ID") diff --git a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceAndCourseMapper.java b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceAndCourseMapper.java index 9b84cad..c965097 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceAndCourseMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceAndCourseMapper.java @@ -29,4 +29,6 @@ public interface SysResourceAndCourseMapper { int updateByPrimaryKeySelective(SysResourceAndCourse record); int updateByPrimaryKey(SysResourceAndCourse record); + + void batchDeleteByIds(@Param("idList") List idList); } \ No newline at end of file diff --git a/src/main/resources/mapper/SysResourceAndCourseMapper.xml b/src/main/resources/mapper/SysResourceAndCourseMapper.xml index 1cf2662..30a5fd2 100644 --- a/src/main/resources/mapper/SysResourceAndCourseMapper.xml +++ b/src/main/resources/mapper/SysResourceAndCourseMapper.xml @@ -255,4 +255,15 @@ three_name = #{threeName,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} + + + + DELETE FROM sys_resource_and_course + WHERE resource_id IN + + #{id} + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/SysResourceMapper.xml b/src/main/resources/mapper/SysResourceMapper.xml index facfd1c..ab43650 100644 --- a/src/main/resources/mapper/SysResourceMapper.xml +++ b/src/main/resources/mapper/SysResourceMapper.xml @@ -268,12 +268,14 @@ + +