新增三方接口

master
xiaoCJ 8 months ago
parent 2974b95f48
commit 2a6d5d2033

@ -11,13 +11,17 @@ import com.sztzjy.resource_center.mapper.SysResourceMapper;
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.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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
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;
@ -28,17 +32,16 @@ import java.util.stream.Collectors;
@Api(tags = "资源方面API")
@RequestMapping("api/tea/ResourceApi")
public class ResourceApi {
@Autowired
private SysResourceMapper sysResourceMapper;
@Value("${file.path}")
private String filePath;
@Autowired
private SysResourceAndCourseMapper sysResourceAndCourseMapper;
private IFileUtil fileUtil;
@Autowired
private SysCaseQuestionMapper sysCaseQuestionMapper;
private SysResourceAndCourseMapper sysResourceAndCourseMapper;
@Autowired
SysOneCatalogMapper oneCatalogMapper;
@Autowired
private IFileUtil fileUtil;
private SysOneCatalog getSysOneCatalogs(String systemOwner) {
@ -190,6 +193,93 @@ public class ResourceApi {
}
//下载资源文件
@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());
}
if (sysResource.getCount() == null) {
sysResource.setCount(1);
} else {
sysResource.setCount(sysResource.getCount() + 1);
}
sysResourceMapper.updateByPrimaryKey(sysResource);
}
@GetMapping("/getResource")
@ApiOperation("预览/获取视频或课件")
@AnonymousAccess
public ResponseEntity<FileSystemResource> streamVideo(@ApiParam("资源ID") @RequestParam String id) {
SysResource sysResource = sysResourceMapper.selectByPrimaryKey(id);
String url = sysResource.getUrl();
String videoPath = filePath + url;
File videoFile = new File(videoPath);
if ("视频".equals(sysResource.getResourceType())) {
if (videoFile.exists()) {
// Path path = Paths.get(videoPath);
FileSystemResource fileSystemResource = new FileSystemResource(videoFile);
//设置count
if (sysResource.getCount() == null) {
sysResource.setCount(1);
} else {
sysResource.setCount(sysResource.getCount() + 1);
}
sysResourceMapper.updateByPrimaryKey(sysResource);
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType("video/mp4"))
.body(fileSystemResource);
} else {
return ResponseEntity.notFound().build();
}
} else if ("课件".equals(sysResource.getResourceType())) {
if (videoFile.exists()) {
FileSystemResource fileSystemResource = new FileSystemResource(videoFile);
//设置count
if (sysResource.getCount() == null) {
sysResource.setCount(1);
} else {
sysResource.setCount(sysResource.getCount() + 1);
}
sysResourceMapper.updateByPrimaryKey(sysResource);
if (url.endsWith("pptx")) {
return ResponseEntity.ok()
.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 {
return ResponseEntity.notFound().build();
}
}
return ResponseEntity.notFound().build();
}
/**
*
* getMostPopularName

@ -43,6 +43,9 @@ public class SysResource {
private String threeName;
@ApiModelProperty("使用次数")
private Integer count;
@ApiModelProperty("启用状态 1已启用 0未启用")
private Integer status;
@ -145,6 +148,14 @@ public class SysResource {
this.threeName = threeName == null ? null : threeName.trim();
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Integer getStatus() {
return status;
}

@ -945,6 +945,66 @@ public class SysResourceExample {
return (Criteria) this;
}
public Criteria andCountIsNull() {
addCriterion("count is null");
return (Criteria) this;
}
public Criteria andCountIsNotNull() {
addCriterion("count is not null");
return (Criteria) this;
}
public Criteria andCountEqualTo(Integer value) {
addCriterion("count =", value, "count");
return (Criteria) this;
}
public Criteria andCountNotEqualTo(Integer value) {
addCriterion("count <>", value, "count");
return (Criteria) this;
}
public Criteria andCountGreaterThan(Integer value) {
addCriterion("count >", value, "count");
return (Criteria) this;
}
public Criteria andCountGreaterThanOrEqualTo(Integer value) {
addCriterion("count >=", value, "count");
return (Criteria) this;
}
public Criteria andCountLessThan(Integer value) {
addCriterion("count <", value, "count");
return (Criteria) this;
}
public Criteria andCountLessThanOrEqualTo(Integer value) {
addCriterion("count <=", value, "count");
return (Criteria) this;
}
public Criteria andCountIn(List<Integer> values) {
addCriterion("count in", values, "count");
return (Criteria) this;
}
public Criteria andCountNotIn(List<Integer> values) {
addCriterion("count not in", values, "count");
return (Criteria) this;
}
public Criteria andCountBetween(Integer value1, Integer value2) {
addCriterion("count between", value1, value2, "count");
return (Criteria) this;
}
public Criteria andCountNotBetween(Integer value1, Integer value2) {
addCriterion("count not between", value1, value2, "count");
return (Criteria) this;
}
public Criteria andStatusIsNull() {
addCriterion("status is null");
return (Criteria) this;

@ -2,14 +2,12 @@ package com.sztzjy.resource_center.mapper;
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;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface SysResourceMapper {
long countByExample(SysResourceExample example);
@ -45,5 +43,5 @@ public interface SysResourceMapper {
@Param("threeId") String threeId,
@Param("resourceName") String resourceName);
Map<String, Integer> getCountByType(@Param("list") List<String> ids,@Param("schoolId") String schoolId);
Map<String, Integer> getCountByType(@Param("list") List<String> ids, @Param("schoolId") String schoolId);
}

@ -23,7 +23,7 @@
<property name="useInformationSchema" value="true"/> <!--useInformationSchema 实体类上添加数据表的注释 -->
</jdbcConnection>
<!-- 配置实体类的位置 -->
<javaModelGenerator targetPackage="com.sztzjy.resource_center.entity.admin" targetProject="src/main/java">
<javaModelGenerator targetPackage="com.sztzjy.resource_center.entity" targetProject="src/main/java">
<!-- 生成的Java模型是否支持序列化 -->
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
@ -35,7 +35,7 @@
</sqlMapGenerator>
<!-- 配置Mapper接口的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.sztzjy.resource_center.mapper.admin"
<javaClientGenerator type="XMLMAPPER" targetPackage="com.sztzjy.resource_center.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
@ -46,14 +46,14 @@
<!-- <table tableName="sys_model_question" domainObjectName="SysModelQuestion" />-->
<!-- <table tableName="sys_objective_questions" domainObjectName="SysObjectiveQuestions" />-->
<!-- <table tableName="sys_one_catalog" domainObjectName="SysOneCatalog" />-->
<!-- <table tableName="sys_resource" domainObjectName="SysResource" />-->
<table tableName="sys_resource" domainObjectName="SysResource" />
<!-- <table tableName="sys_resource_and_course" domainObjectName="SysResourceAndCourse" />-->
<!-- <table tableName="sys_resource_data" domainObjectName="SysResourceData" />-->
<!-- <table tableName="sys_school" domainObjectName="SysSchool" />-->
<!-- <table tableName="sys_three_catalog" domainObjectName="SysThreeCatalog" />-->
<!-- <table tableName="sys_topic_and_course" domainObjectName="SysTopicAndCourse" />-->
<table tableName="admin_case" domainObjectName="AdminCase" />
<table tableName="admin_data" domainObjectName="AdminData" />
<!-- <table tableName="admin_case" domainObjectName="AdminCase" />-->
<!-- <table tableName="admin_data" domainObjectName="AdminData" />-->
<!-- <table tableName="admin_collect_case" domainObjectName="AdminCollectCase" />-->
<!-- <table tableName="admin_collect_data" domainObjectName="AdminCollectData" />-->
<!-- <table tableName="admin_data_label" domainObjectName="AdminDataLabel" />-->

@ -2,20 +2,21 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sztzjy.resource_center.mapper.SysResourceMapper">
<resultMap id="BaseResultMap" type="com.sztzjy.resource_center.entity.SysResource">
<id column="resource_id" jdbcType="VARCHAR" property="resourceId"/>
<result column="resource_name" jdbcType="VARCHAR" property="resourceName"/>
<result column="url" jdbcType="VARCHAR" property="url"/>
<result column="picture_url" jdbcType="VARCHAR" property="pictureUrl"/>
<result column="resource_type" jdbcType="VARCHAR" property="resourceType"/>
<result column="source" jdbcType="VARCHAR" property="source"/>
<result column="one_tag" jdbcType="VARCHAR" property="oneTag"/>
<result column="one_name" jdbcType="VARCHAR" property="oneName"/>
<result column="two_tag" jdbcType="VARCHAR" property="twoTag"/>
<result column="two_name" jdbcType="VARCHAR" property="twoName"/>
<result column="three_tag" jdbcType="VARCHAR" property="threeTag"/>
<result column="three_name" jdbcType="VARCHAR" property="threeName"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<id column="resource_id" jdbcType="VARCHAR" property="resourceId" />
<result column="resource_name" jdbcType="VARCHAR" property="resourceName" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="picture_url" jdbcType="VARCHAR" property="pictureUrl" />
<result column="resource_type" jdbcType="VARCHAR" property="resourceType" />
<result column="source" jdbcType="VARCHAR" property="source" />
<result column="one_tag" jdbcType="VARCHAR" property="oneTag" />
<result column="one_name" jdbcType="VARCHAR" property="oneName" />
<result column="two_tag" jdbcType="VARCHAR" property="twoTag" />
<result column="two_name" jdbcType="VARCHAR" property="twoName" />
<result column="three_tag" jdbcType="VARCHAR" property="threeTag" />
<result column="three_name" jdbcType="VARCHAR" property="threeName" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -35,8 +36,7 @@
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
@ -65,8 +65,7 @@
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
@ -78,20 +77,18 @@
</where>
</sql>
<sql id="Base_Column_List">
resource_id
, resource_name, url, picture_url, resource_type, source, one_tag, one_name,
two_tag, two_name, three_tag, three_name, status, create_time
resource_id, resource_name, url, picture_url, resource_type, source, one_tag, one_name,
two_tag, two_name, three_tag, three_name, count, status, create_time
</sql>
<select id="selectByExample" parameterType="com.sztzjy.resource_center.entity.SysResourceExample"
resultMap="BaseResultMap">
<select id="selectByExample" parameterType="com.sztzjy.resource_center.entity.SysResourceExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List"/>
<include refid="Base_Column_List" />
from sys_resource
<if test="_parameter != null">
<include refid="Example_Where_Clause"/>
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
@ -99,19 +96,18 @@
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
<include refid="Base_Column_List" />
from sys_resource
where resource_id = #{resourceId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete
from sys_resource
delete from sys_resource
where resource_id = #{resourceId,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="com.sztzjy.resource_center.entity.SysResourceExample">
delete from sys_resource
<if test="_parameter != null">
<include refid="Example_Where_Clause"/>
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.sztzjy.resource_center.entity.SysResource">
@ -119,12 +115,14 @@
picture_url, resource_type, source,
one_tag, one_name, two_tag,
two_name, three_tag, three_name,
status, create_time)
count, status, create_time
)
values (#{resourceId,jdbcType=VARCHAR}, #{resourceName,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR},
#{pictureUrl,jdbcType=VARCHAR}, #{resourceType,jdbcType=VARCHAR}, #{source,jdbcType=VARCHAR},
#{oneTag,jdbcType=VARCHAR}, #{oneName,jdbcType=VARCHAR}, #{twoTag,jdbcType=VARCHAR},
#{twoName,jdbcType=VARCHAR}, #{threeTag,jdbcType=VARCHAR}, #{threeName,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})
#{count,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}
)
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.resource_center.entity.SysResource">
insert into sys_resource
@ -165,6 +163,9 @@
<if test="threeName != null">
three_name,
</if>
<if test="count != null">
count,
</if>
<if test="status != null">
status,
</if>
@ -209,6 +210,9 @@
<if test="threeName != null">
#{threeName,jdbcType=VARCHAR},
</if>
<if test="count != null">
#{count,jdbcType=INTEGER},
</if>
<if test="status != null">
#{status,jdbcType=INTEGER},
</if>
@ -217,11 +221,10 @@
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.resource_center.entity.SysResourceExample"
resultType="java.lang.Long">
<select id="countByExample" parameterType="com.sztzjy.resource_center.entity.SysResourceExample" resultType="java.lang.Long">
select count(*) from sys_resource
<if test="_parameter != null">
<include refid="Example_Where_Clause"/>
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
@ -263,6 +266,9 @@
<if test="record.threeName != null">
three_name = #{record.threeName,jdbcType=VARCHAR},
</if>
<if test="record.count != null">
count = #{record.count,jdbcType=INTEGER},
</if>
<if test="record.status != null">
status = #{record.status,jdbcType=INTEGER},
</if>
@ -271,7 +277,7 @@
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause"/>
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
@ -288,10 +294,11 @@
two_name = #{record.twoName,jdbcType=VARCHAR},
three_tag = #{record.threeTag,jdbcType=VARCHAR},
three_name = #{record.threeName,jdbcType=VARCHAR},
count = #{record.count,jdbcType=INTEGER},
status = #{record.status,jdbcType=INTEGER},
create_time = #{record.createTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause"/>
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.sztzjy.resource_center.entity.SysResource">
@ -330,6 +337,9 @@
<if test="threeName != null">
three_name = #{threeName,jdbcType=VARCHAR},
</if>
<if test="count != null">
count = #{count,jdbcType=INTEGER},
</if>
<if test="status != null">
status = #{status,jdbcType=INTEGER},
</if>
@ -352,26 +362,27 @@
two_name = #{twoName,jdbcType=VARCHAR},
three_tag = #{threeTag,jdbcType=VARCHAR},
three_name = #{threeName,jdbcType=VARCHAR},
count = #{count,jdbcType=INTEGER},
status = #{status,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP}
where resource_id = #{resourceId,jdbcType=VARCHAR}
</update>
<resultMap id="DtoMap" type="com.sztzjy.resource_center.entity.SysResource">
<id column="resource_id" jdbcType="VARCHAR" property="resourceId"/>
<result column="resource_name" jdbcType="VARCHAR" property="resourceName"/>
<result column="url" jdbcType="VARCHAR" property="url"/>
<result column="picture_url" jdbcType="VARCHAR" property="pictureUrl"/>
<result column="resource_type" jdbcType="VARCHAR" property="resourceType"/>
<result column="source" jdbcType="VARCHAR" property="source"/>
<result column="one_id" jdbcType="VARCHAR" property="oneTag"/>
<result column="one_name" jdbcType="VARCHAR" property="oneName"/>
<result column="two_id" jdbcType="VARCHAR" property="twoTag"/>
<result column="two_name" jdbcType="VARCHAR" property="twoName"/>
<result column="three_id" jdbcType="VARCHAR" property="threeTag"/>
<result column="three_name" jdbcType="VARCHAR" property="threeName"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<id column="resource_id" jdbcType="VARCHAR" property="resourceId" />
<result column="resource_name" jdbcType="VARCHAR" property="resourceName" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="picture_url" jdbcType="VARCHAR" property="pictureUrl" />
<result column="resource_type" jdbcType="VARCHAR" property="resourceType" />
<result column="source" jdbcType="VARCHAR" property="source" />
<result column="one_id" jdbcType="VARCHAR" property="oneTag" />
<result column="one_name" jdbcType="VARCHAR" property="oneName" />
<result column="two_id" jdbcType="VARCHAR" property="twoTag" />
<result column="two_name" jdbcType="VARCHAR" property="twoName" />
<result column="three_id" jdbcType="VARCHAR" property="threeTag" />
<result column="three_name" jdbcType="VARCHAR" property="threeName" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>
<!--重复-->
@ -426,7 +437,7 @@
SELECT resource_type, count(*) as count
FROM sys_resource
WHERE resource_id IN
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
<foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
AND source = #{schoolId}

Loading…
Cancel
Save