Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xzksxtfw
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
xzksxtfw
Commits
9ef185fb
Commit
9ef185fb
authored
Jan 15, 2024
by
宋珺琪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加视频功能
parent
61cc7003
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
250 additions
and
0 deletions
+250
-0
src/main/java/com/exam/controller/VideoController.java
+85
-0
src/main/java/com/exam/entity/Video.java
+25
-0
src/main/java/com/exam/mapper/VideoMapper.java
+44
-0
src/main/java/com/exam/service/VideoService.java
+22
-0
src/main/java/com/exam/serviceimpl/VideoServiceImpl.java
+74
-0
No files found.
src/main/java/com/exam/controller/VideoController.java
0 → 100644
View file @
9ef185fb
package
com
.
exam
.
controller
;
import
com.exam.entity.ApiResult
;
import
com.exam.entity.Replay
;
import
com.exam.entity.Video
;
import
com.exam.service.VideoService
;
import
com.exam.util.ApiResultHandler
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.xml.crypto.Data
;
import
java.util.Date
;
import
java.util.List
;
@RestController
public
class
VideoController
{
@Autowired
private
VideoService
videoService
;
/**
* 上传视频
* @param videoFile
* @param videoName
* @return
*/
@PostMapping
(
"/uploadVideo"
)
public
ApiResult
handleVideoUpload
(
MultipartFile
videoFile
,
String
videoName
,
Date
uploadTime
)
{
int
res
=
videoService
.
add
(
videoFile
,
videoName
,
uploadTime
);
if
(
res
==
0
)
{
return
ApiResultHandler
.
buildApiResult
(
400
,
"视频添加失败"
,
res
);
}
else
{
return
ApiResultHandler
.
buildApiResult
(
200
,
"图片添加成功"
,
res
);
}
}
/**
* 查询视频
* @return
*/
@PostMapping
(
"/selectVideo"
)
public
ApiResult
handleVideoSelect
()
{
List
<
Video
>
res
=
videoService
.
findAll
();
return
ApiResultHandler
.
buildApiResult
(
200
,
"视频列表"
,
res
);
}
/**
* 根据名称或者时间查询
* @param name
* @param startTime
* @param endTime
* @return
*/
@PostMapping
(
"/selectVideoByNameOrTime"
)
public
ApiResult
selectVideoByNameOrTime
(
@RequestParam
(
required
=
false
)
String
name
,
@RequestParam
(
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startTime
,
@RequestParam
(
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endTime
)
{
List
<
Video
>
res
=
videoService
.
selectVideoByNameOrTime
(
name
,
startTime
,
endTime
);
return
ApiResultHandler
.
buildApiResult
(
200
,
"根据时间查询"
,
res
);
}
/**
*编辑视频
* @return
*/
@PostMapping
(
"/compileVideo"
)
public
ApiResult
compileVideo
(
String
id
,
String
name
)
{
int
res
=
videoService
.
compileVideo
(
id
,
name
);
return
ApiResultHandler
.
buildApiResult
(
200
,
"编辑成功"
,
res
);
}
/**
*删除视频
* @return
*/
@PostMapping
(
"/deleteVideo"
)
public
ApiResult
deleteVideo
(
String
id
)
{
int
res
=
videoService
.
deleteVideo
(
id
);
return
ApiResultHandler
.
buildApiResult
(
200
,
"删除成功"
,
res
);
}
}
src/main/java/com/exam/entity/Video.java
0 → 100644
View file @
9ef185fb
package
com
.
exam
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.UUID
;
@Data
public
class
Video
{
private
String
videoId
;
private
String
videoName
;
private
String
video
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
uploadTime
;
public
Video
()
{
this
.
videoId
=
UUID
.
randomUUID
().
toString
();
}
}
\ No newline at end of file
src/main/java/com/exam/mapper/VideoMapper.java
0 → 100644
View file @
9ef185fb
package
com
.
exam
.
mapper
;
import
com.exam.entity.Admin
;
import
com.exam.entity.Video
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Date
;
import
java.util.List
;
@Mapper
public
interface
VideoMapper
{
@Options
(
useGeneratedKeys
=
true
,
keyProperty
=
"videoId"
)
@Insert
(
"insert into video(videoId,videoName,video,uploadTime) "
+
"values(#{videoId},#{videoName},#{video},#{uploadTime})"
)
public
int
add
(
Video
video
);
@Select
(
"select * from video"
)
List
<
Video
>
findAll
();
@Update
(
"update video set videoName = #{name} where videoId = #{id}"
)
public
int
compileVideo
(
String
id
,
String
name
);
@Delete
(
"delete from video where videoId = #{id}"
)
public
int
deleteVideo
(
String
id
);
@Select
(
"<script> SELECT * FROM video WHERE 1=1"
+
"<if test='name != \"null\" and name != ""'>"
+
"AND videoName LIKE CONCAT('%', #{name}, '%')"
+
"</if>"
+
"<if test='startDate != \"null\" and endDate != \"null\"'>"
+
"AND date_format(uploadTime,'%Y-%m-%d') BETWEEN date_format(#{startDate},'%Y-%m-%d') AND date_format(#{endDate},'%Y-%m-%d')"
+
"</if>"
+
"<if test='startDate != \"null\" and endDate == \"null\"'>"
+
"AND date_format(uploadTime,'%Y-%m-%d') >= date_format(#{startDate},'%Y-%m-%d')"
+
"</if>"
+
"<if test='endDate != \"null\" and startDate == \"null\"'>"
+
"AND date_format(uploadTime,'%Y-%m-%d') >= date_format(#{endDate},'%Y-%m-%d')"
+
"</if>"
+
"</script>"
)
List
<
Video
>
selectVideoByNameOrTime
(
String
name
,
String
startDate
,
String
endDate
);
}
src/main/java/com/exam/service/VideoService.java
0 → 100644
View file @
9ef185fb
package
com
.
exam
.
service
;
import
com.exam.entity.Video
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Date
;
import
java.util.List
;
public
interface
VideoService
{
int
add
(
MultipartFile
videoFile
,
String
videoName
,
Date
uploadTime
);
List
<
Video
>
findAll
();
int
compileVideo
(
String
id
,
String
name
);
int
deleteVideo
(
String
id
);
List
<
Video
>
selectVideoByNameOrTime
(
String
name
,
Date
startTime
,
Date
endTime
);
}
src/main/java/com/exam/serviceimpl/VideoServiceImpl.java
0 → 100644
View file @
9ef185fb
package
com
.
exam
.
serviceimpl
;
import
com.exam.entity.PaperPhoto
;
import
com.exam.entity.Video
;
import
com.exam.mapper.VideoMapper
;
import
com.exam.service.VideoService
;
import
com.exam.util.Base64Util
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.List
;
@Service
public
class
VideoServiceImpl
implements
VideoService
{
@Autowired
private
VideoMapper
videoMapper
;
@Override
public
int
add
(
MultipartFile
videoFile
,
String
videoName
,
Date
uploadTime
)
{
int
i
=
0
;
if
(
videoFile
!=
null
)
{
String
base64
=
""
;
try
{
base64
=
"data:video/mp4;base64,"
+
Base64Util
.
getBase64
(
videoFile
);
Video
video
=
new
Video
();
video
.
setVideo
(
base64
);
video
.
setVideoName
(
videoName
);
video
.
setUploadTime
(
uploadTime
);
i
=
videoMapper
.
add
(
video
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
return
0
;
}
}
return
i
;
}
@Override
public
List
<
Video
>
findAll
()
{
return
videoMapper
.
findAll
();
}
@Override
public
int
compileVideo
(
String
id
,
String
name
)
{
return
videoMapper
.
compileVideo
(
id
,
name
);
}
@Override
public
int
deleteVideo
(
String
id
)
{
return
videoMapper
.
deleteVideo
(
id
);
}
@Override
public
List
<
Video
>
selectVideoByNameOrTime
(
String
name
,
Date
startTime
,
Date
endTime
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
// 设置日期格式
if
(
startTime
!=
null
&&
endTime
!=
null
)
{
return
videoMapper
.
selectVideoByNameOrTime
(
name
,
sdf
.
format
(
startTime
),
sdf
.
format
(
endTime
));
}
else
if
(
startTime
!=
null
)
{
return
videoMapper
.
selectVideoByNameOrTime
(
name
,
sdf
.
format
(
startTime
),
"null"
);
}
else
if
(
endTime
!=
null
)
{
return
videoMapper
.
selectVideoByNameOrTime
(
name
,
"null"
,
sdf
.
format
(
endTime
));
}
else
{
return
videoMapper
.
selectVideoByNameOrTime
(
name
,
"null"
,
"null"
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment