新增资源中心部分接口

master
xiaoCJ 9 months ago
parent 4f6e0837c4
commit 7c25c843b1

@ -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<String> 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<String> uploadResource(@ApiParam("") @RequestBody List<SysResourceDto> 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<SysResourceDto> pageInfo = new PageInfo(sysResourceDtos);
return new ResultEntity<PageInfo<SysResourceDto>>(pageInfo);
}
@AnonymousAccess
@ApiOperation("删除资源")
@PostMapping("deleteResource")
public ResultEntity deleteResource(@RequestParam String id) {
SysResourceAndCourseExample example = new SysResourceAndCourseExample();
example.createCriteria().andResourceIdEqualTo(id);
List<SysResourceAndCourse> sysResourceAndCourses = sysResourceAndCourseMapper.selectByExample(example);
if (sysResourceAndCourses.isEmpty()) {
sysResourceMapper.deleteByPrimaryKey(id);
return new ResultEntity<>(HttpStatus.OK, "删除成功!");
}
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该资源已绑定课程,无法删除!");
}
}

@ -22,7 +22,7 @@ public class SysResource {
@ApiModelProperty("资源类型 /视频/课件")
private String resourceType;
@ApiModelProperty("来源(内置/老师新增)")
@ApiModelProperty("来源 管理员/xx学校")
private String source;
@ApiModelProperty("学校ID")

@ -21,7 +21,10 @@ public class SysResourceDto {
@ApiModelProperty("资源类型 /视频/课件")
private String resourceType;
@ApiModelProperty("来源(内置/老师新增)")
@ApiModelProperty("视频路径")
private String url;
@ApiModelProperty("来源 管理员/xx学校")
private String source;
@ApiModelProperty("学校ID")

@ -29,4 +29,6 @@ public interface SysResourceAndCourseMapper {
int updateByPrimaryKeySelective(SysResourceAndCourse record);
int updateByPrimaryKey(SysResourceAndCourse record);
void batchDeleteByIds(@Param("idList") List<String> idList);
}

@ -255,4 +255,15 @@
three_name = #{threeName,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
<!-- 批量删除 -->
<delete id="batchDeleteByIds" parameterType="java.util.List">
DELETE FROM sys_resource_and_course
WHERE resource_id IN
<foreach collection="idList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -268,12 +268,14 @@
<result column="resource_name" jdbcType="VARCHAR" property="resourceName"/>
<result column="resource_name" jdbcType="VARCHAR" property="resourceName"/>
<result column="resource_type" jdbcType="VARCHAR" property="resourceType"/>
<result column="url" jdbcType="VARCHAR" property="url"/>
<result column="source" jdbcType="VARCHAR" property="source"/>
<result column="one_name" jdbcType="VARCHAR" property="oneName"/>
<result column="two_name" jdbcType="VARCHAR" property="twoName"/>
<result column="three_name" jdbcType="VARCHAR" property="threeName"/>
</resultMap>
<select id="selectResource" parameterType="java.lang.String" resultMap="SelectResourceMap">
SELECT sr.resource_id,sr.resource_name,sr.resource_type,sra.one_name,sra.two_name,sra.three_name
SELECT sr.resource_id,sr.resource_name,sr.resource_type,sr.url,sr.source,sra.one_name,sra.two_name,sra.three_name
FROM sys_resource sr
JOIN sys_resource_and_course sra ON sr.resource_id = sra.resource_id
<where>

Loading…
Cancel
Save