├── .gitignore
├── README.md
├── img
├── .keep
├── image-20240614165450210.png
├── image-20240614165656746.png
├── image-20240614165945228.png
├── image-20240614180043158.png
├── image-20240614180123585.png
├── image-20240614180736332.png
├── image-20240614201845944.png
├── image-20240614202044813.png
├── image-20240614202617706.png
├── image-20240614202810543.png
├── image-20240614203033979.png
├── image-20240614203330284.png
├── image-20240614204047720.png
├── image-20240614204238429.png
├── image-20240614204436457.png
├── image-20240614204633520.png
└── special1.png
├── pom.xml
├── replay_pid16600.log
├── sql
└── video.sql
├── tools
└── Redis-x64-3.0.504.zip
├── video-admin
├── .gitignore
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── zhu
│ │ │ ├── VideoAdminApplication.java
│ │ │ ├── annotate
│ │ │ └── Dict.java
│ │ │ ├── aop
│ │ │ └── DictAspect.java
│ │ │ ├── config
│ │ │ ├── ControllerResponseAdvice.java
│ │ │ ├── ReloadMessageConfig.java
│ │ │ └── SecurityConfig.java
│ │ │ ├── constant
│ │ │ └── DataConstant.java
│ │ │ ├── controller
│ │ │ ├── AuthController.java
│ │ │ ├── CommentController.java
│ │ │ ├── DictController.java
│ │ │ ├── DictDataController.java
│ │ │ ├── MenuController.java
│ │ │ ├── TypeController.java
│ │ │ ├── UserController.java
│ │ │ └── VideoController.java
│ │ │ ├── exception
│ │ │ ├── CaptchaException.java
│ │ │ ├── GlobalException.java
│ │ │ ├── JwtException.java
│ │ │ └── SecurityException.java
│ │ │ ├── listener
│ │ │ └── AuthenticationFailureListener.java
│ │ │ ├── mapper
│ │ │ ├── DictDataMapper.java
│ │ │ ├── DictMapper.java
│ │ │ ├── MenuMapper.java
│ │ │ └── UserMapper.java
│ │ │ ├── model
│ │ │ ├── entity
│ │ │ │ ├── Base.java
│ │ │ │ ├── Dict.java
│ │ │ │ ├── DictData.java
│ │ │ │ ├── Menu.java
│ │ │ │ ├── Role.java
│ │ │ │ └── User.java
│ │ │ └── vo
│ │ │ │ ├── CaptchaVo.java
│ │ │ │ ├── DictTypeVo.java
│ │ │ │ ├── DictVo.java
│ │ │ │ ├── MenuVo.java
│ │ │ │ └── PasswordVo.java
│ │ │ ├── query
│ │ │ ├── MenuQuery.java
│ │ │ └── UserQuery.java
│ │ │ ├── security
│ │ │ ├── CaptchaFilter.java
│ │ │ ├── JwtAccessDeniedHandler.java
│ │ │ ├── JwtAuthenticationEntryPoint.java
│ │ │ ├── JwtFilter.java
│ │ │ ├── JwtLogoutSuccessHandler.java
│ │ │ ├── LoginFailureHandler.java
│ │ │ ├── LoginSuccessHandler.java
│ │ │ ├── UserDetail.java
│ │ │ └── UserDetailServiceImpl.java
│ │ │ ├── service
│ │ │ ├── IDictDataService.java
│ │ │ ├── IDictService.java
│ │ │ ├── IMenuService.java
│ │ │ ├── IUserService.java
│ │ │ └── impl
│ │ │ │ ├── DictDataServiceImpl.java
│ │ │ │ ├── DictServiceImpl.java
│ │ │ │ ├── MenuServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ │ └── utils
│ │ │ ├── IpUtil.java
│ │ │ ├── JwtUtils.java
│ │ │ ├── ObjConvertUtils.java
│ │ │ └── UUIDUtils.java
│ └── resources
│ │ ├── application.yml
│ │ └── mapper
│ │ ├── DictDataMapper.xml
│ │ ├── DictMapper.xml
│ │ ├── MenuMapper.xml
│ │ └── UserMapper.xml
│ └── test
│ └── java
│ └── com
│ └── zhu
│ └── VideoAdminApplicationTests.java
├── video-framework
├── .gitignore
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── zhu
│ │ │ ├── annotation
│ │ │ └── AuthCheck.java
│ │ │ ├── aop
│ │ │ └── AuthInterceptor.java
│ │ │ ├── common
│ │ │ ├── CommonEntity.java
│ │ │ ├── IdRequest.java
│ │ │ └── PageRequest.java
│ │ │ ├── config
│ │ │ ├── CorsConfig.java
│ │ │ ├── MessageConfig.java
│ │ │ ├── MyBatisPlusConfig.java
│ │ │ ├── RabbitMQConfig.java
│ │ │ ├── RedisConfiguration.java
│ │ │ ├── ScheduleHandler.java
│ │ │ ├── TimeHandle.java
│ │ │ ├── WebSocket.java
│ │ │ └── WebSocketConfig.java
│ │ │ ├── constant
│ │ │ ├── CommentConstant.java
│ │ │ ├── CommonConstant.java
│ │ │ ├── FileConstant.java
│ │ │ ├── MQConstant.java
│ │ │ ├── MessageConstant.java
│ │ │ ├── RedisConstant.java
│ │ │ └── UserConstant.java
│ │ │ ├── customer
│ │ │ ├── ESCustomer.java
│ │ │ └── MessageCustomer.java
│ │ │ ├── datasource
│ │ │ ├── DataSource.java
│ │ │ ├── DataSourceRegister.java
│ │ │ ├── UserDataSource.java
│ │ │ └── VideoDataSource.java
│ │ │ ├── exception
│ │ │ ├── ErrorException.java
│ │ │ └── GlobalException.java
│ │ │ ├── handler
│ │ │ ├── VideoBrowseHandler.java
│ │ │ ├── VideoFavourHandler.java
│ │ │ ├── VideoHandler.java
│ │ │ ├── VideoHandlerRegister.java
│ │ │ ├── VideoStarHandler.java
│ │ │ └── VideoWorksHandler.java
│ │ │ ├── mapper
│ │ │ ├── CommentFavourMapper.java
│ │ │ ├── CommentMapper.java
│ │ │ ├── DanmuMapper.java
│ │ │ ├── MessageMapper.java
│ │ │ ├── TypeMapper.java
│ │ │ ├── UserBrowseMapper.java
│ │ │ ├── UserFollowMapper.java
│ │ │ ├── UserMapper.java
│ │ │ ├── UserRatingMapper.java
│ │ │ ├── VideoFavourMapper.java
│ │ │ ├── VideoInfoMapper.java
│ │ │ └── VideoStarMapper.java
│ │ │ ├── model
│ │ │ ├── dto
│ │ │ │ ├── comment
│ │ │ │ │ ├── CommentAddRequest.java
│ │ │ │ │ ├── CommentLikesRequest.java
│ │ │ │ │ └── CommentReplyRequest.java
│ │ │ │ ├── danmu
│ │ │ │ │ └── DanmuAddRequest.java
│ │ │ │ ├── message
│ │ │ │ │ ├── MessageQueryRequest.java
│ │ │ │ │ └── MessageUpdateRequest.java
│ │ │ │ ├── search
│ │ │ │ │ └── SearchRequest.java
│ │ │ │ ├── user
│ │ │ │ │ ├── UserEditRequest.java
│ │ │ │ │ ├── UserFollowFansRequest.java
│ │ │ │ │ ├── UserFollowRequest.java
│ │ │ │ │ ├── UserInfoRequest.java
│ │ │ │ │ ├── UserLoginRequest.java
│ │ │ │ │ ├── UserRegisterRequest.java
│ │ │ │ │ └── UserVideoRequest.java
│ │ │ │ └── video
│ │ │ │ │ ├── VideoAddRequest.java
│ │ │ │ │ ├── VideoBrowseRequest.java
│ │ │ │ │ ├── VideoEsDTO.java
│ │ │ │ │ ├── VideoFavourRequest.java
│ │ │ │ │ ├── VideoRecommendRequest.java
│ │ │ │ │ ├── VideoStarRequest.java
│ │ │ │ │ └── VideoTypeRequest.java
│ │ │ ├── entity
│ │ │ │ ├── Comment.java
│ │ │ │ ├── CommentFavour.java
│ │ │ │ ├── Danmu.java
│ │ │ │ ├── Message.java
│ │ │ │ ├── Type.java
│ │ │ │ ├── User.java
│ │ │ │ ├── UserBrowse.java
│ │ │ │ ├── UserFollow.java
│ │ │ │ ├── UserRating.java
│ │ │ │ ├── VideoFavour.java
│ │ │ │ ├── VideoInfo.java
│ │ │ │ └── VideoStar.java
│ │ │ └── enums
│ │ │ │ ├── MessageTypeEnums.java
│ │ │ │ ├── SearchTypeEnums.java
│ │ │ │ ├── SortTypeEnums.java
│ │ │ │ ├── TimeScopeEnum.java
│ │ │ │ └── VideoTypeEnums.java
│ │ │ ├── recommend
│ │ │ ├── core
│ │ │ │ ├── CoreMath.java
│ │ │ │ ├── ItemCF.java
│ │ │ │ ├── UserBasedRecommend.java
│ │ │ │ └── UserCF.java
│ │ │ └── service
│ │ │ │ └── RecommendService.java
│ │ │ ├── result
│ │ │ ├── RespBean.java
│ │ │ └── RespBeanEnum.java
│ │ │ ├── service
│ │ │ ├── ICommentFavourService.java
│ │ │ ├── ICommentService.java
│ │ │ ├── IDanmuService.java
│ │ │ ├── IMessageService.java
│ │ │ ├── ITypeService.java
│ │ │ ├── IUserBrowseService.java
│ │ │ ├── IUserFollowService.java
│ │ │ ├── IUserRatingService.java
│ │ │ ├── IUserService.java
│ │ │ ├── IVideoFavourService.java
│ │ │ ├── IVideoInfoService.java
│ │ │ ├── IVideoStarService.java
│ │ │ └── impl
│ │ │ │ ├── CommentFavourServiceImpl.java
│ │ │ │ ├── CommentServiceImpl.java
│ │ │ │ ├── DanmuServiceImpl.java
│ │ │ │ ├── MessageServiceImpl.java
│ │ │ │ ├── TypeServiceImpl.java
│ │ │ │ ├── UserBrowseServiceImpl.java
│ │ │ │ ├── UserFollowServiceImpl.java
│ │ │ │ ├── UserRatingServiceImpl.java
│ │ │ │ ├── UserServiceImpl.java
│ │ │ │ ├── VideoFavourServiceImpl.java
│ │ │ │ ├── VideoInfoServiceImpl.java
│ │ │ │ └── VideoStarServiceImpl.java
│ │ │ ├── utils
│ │ │ ├── AddressUtils.java
│ │ │ ├── BeanCopeUtils.java
│ │ │ ├── IpUtil.java
│ │ │ ├── MessageUtils.java
│ │ │ ├── RedisUtils.java
│ │ │ ├── VideoCoverUtils.java
│ │ │ └── WhisperUtils.java
│ │ │ └── vo
│ │ │ ├── AuthorInfoVo.java
│ │ │ ├── CommentVo.java
│ │ │ ├── LoginUserVo.java
│ │ │ ├── MessageTypeVo.java
│ │ │ ├── MessageVideoVo.java
│ │ │ ├── MessageVo.java
│ │ │ ├── ReplyVo.java
│ │ │ ├── SearchVo.java
│ │ │ ├── UserVo.java
│ │ │ └── VideoVo.java
│ └── resources
│ │ └── mapper
│ │ ├── CommentFavourMapper.xml
│ │ ├── CommentMapper.xml
│ │ ├── DanmuMapper.xml
│ │ ├── MessageMapper.xml
│ │ ├── TypeMapper.xml
│ │ ├── UserBrowseMapper.xml
│ │ ├── UserFollowMapper.xml
│ │ ├── UserMapper.xml
│ │ ├── UserRatingMapper.xml
│ │ ├── VideoFavourMapper.xml
│ │ ├── VideoInfoMapper.xml
│ │ └── VideoStarMapper.xml
│ └── test
│ └── java
│ └── com
│ └── zhu
│ └── VideoFrameworkApplicationTests.java
└── video
├── .gitignore
├── pom.xml
└── src
└── main
├── java
└── com
│ └── zhu
│ ├── VideoApplication.java
│ ├── config
│ ├── LoginInterceptor.java
│ └── WebConfig.java
│ ├── controller
│ ├── CommentController.java
│ ├── DanmuController.java
│ ├── MainTest.java
│ ├── MessageController.java
│ ├── RecommendController.java
│ ├── SearchController.java
│ ├── TypeController.java
│ ├── UserController.java
│ ├── UserFollowController.java
│ ├── VideoFavourController.java
│ ├── VideoInfoController.java
│ └── VideoStarController.java
│ ├── recommend
│ ├── FileDataSource.java
│ └── RecommendUtils.java
│ ├── spark
│ ├── SparkManager.java
│ ├── SparkService.java
│ └── XingHuoConfig.java
│ └── utils
│ └── QiNiuUtils.java
└── resources
├── application.yml
└── data
├── DVideo.data
└── video.data
/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**/target/
5 | !**/src/test/**/target/
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 |
22 | ### NetBeans ###
23 | /nbproject/private/
24 | /nbbuild/
25 | /dist/
26 | /nbdist/
27 | /.nb-gradle/
28 | build/
29 | !**/src/main/**/build/
30 | !**/src/test/**/build/
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
--------------------------------------------------------------------------------
/img/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/.keep
--------------------------------------------------------------------------------
/img/image-20240614165450210.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614165450210.png
--------------------------------------------------------------------------------
/img/image-20240614165656746.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614165656746.png
--------------------------------------------------------------------------------
/img/image-20240614165945228.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614165945228.png
--------------------------------------------------------------------------------
/img/image-20240614180043158.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614180043158.png
--------------------------------------------------------------------------------
/img/image-20240614180123585.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614180123585.png
--------------------------------------------------------------------------------
/img/image-20240614180736332.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614180736332.png
--------------------------------------------------------------------------------
/img/image-20240614201845944.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614201845944.png
--------------------------------------------------------------------------------
/img/image-20240614202044813.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614202044813.png
--------------------------------------------------------------------------------
/img/image-20240614202617706.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614202617706.png
--------------------------------------------------------------------------------
/img/image-20240614202810543.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614202810543.png
--------------------------------------------------------------------------------
/img/image-20240614203033979.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614203033979.png
--------------------------------------------------------------------------------
/img/image-20240614203330284.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614203330284.png
--------------------------------------------------------------------------------
/img/image-20240614204047720.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614204047720.png
--------------------------------------------------------------------------------
/img/image-20240614204238429.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614204238429.png
--------------------------------------------------------------------------------
/img/image-20240614204436457.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614204436457.png
--------------------------------------------------------------------------------
/img/image-20240614204633520.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/image-20240614204633520.png
--------------------------------------------------------------------------------
/img/special1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/img/special1.png
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.zhu
7 | video-backend
8 | 0.0.1
9 | pom
10 |
11 |
12 | video
13 | video-framework
14 | video-admin
15 |
16 |
17 |
18 | UTF-8
19 | 1.8
20 |
21 |
22 |
23 |
24 |
25 | org.springframework.boot
26 | spring-boot-dependencies
27 | 2.7.5
28 | pom
29 | import
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | org.apache.maven.plugins
38 | maven-compiler-plugin
39 | 3.1
40 |
41 | ${java.version}
42 | ${java.version}
43 | ${project.build.sourceEncoding}
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/tools/Redis-x64-3.0.504.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiancheng2002/pig-video/798851820f73f68eacd6e13e3919107d462ab24f/tools/Redis-x64-3.0.504.zip
--------------------------------------------------------------------------------
/video-admin/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**/target/
5 | !**/src/test/**/target/
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 |
22 | ### NetBeans ###
23 | /nbproject/private/
24 | /nbbuild/
25 | /dist/
26 | /nbdist/
27 | /.nb-gradle/
28 | build/
29 | !**/src/main/**/build/
30 | !**/src/test/**/build/
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
--------------------------------------------------------------------------------
/video-admin/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.zhu
7 | video-backend
8 | 0.0.1
9 |
10 | com.zhu
11 | video-admin
12 | 0.0.1
13 | video-admin
14 |
15 |
16 | 1.8
17 |
18 |
19 |
20 | com.zhu
21 | video-framework
22 | 0.0.1
23 |
24 |
25 | org.springframework.boot
26 | spring-boot-starter-security
27 |
28 |
29 | org.springframework.security
30 | spring-security-test
31 | test
32 |
33 |
34 | com.github.whvcse
35 | easy-captcha
36 | 1.6.2
37 |
38 |
39 | io.jsonwebtoken
40 | jjwt
41 | 0.9.1
42 |
43 |
44 | org.springframework.boot
45 | spring-boot-starter-test
46 | test
47 |
48 |
49 | org.projectlombok
50 | lombok
51 |
52 |
53 | org.springframework.boot
54 | spring-boot-starter-aop
55 |
56 |
57 |
58 |
59 |
60 |
61 | org.springframework.boot
62 | spring-boot-maven-plugin
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/video-admin/src/main/java/com/zhu/VideoAdminApplication.java:
--------------------------------------------------------------------------------
1 | package com.zhu;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class VideoAdminApplication {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(VideoAdminApplication.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/video-admin/src/main/java/com/zhu/annotate/Dict.java:
--------------------------------------------------------------------------------
1 | package com.zhu.annotate;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Target(ElementType.FIELD)
9 | @Retention(RetentionPolicy.RUNTIME)
10 | public @interface Dict {
11 |
12 | //表示对应的字典编码
13 | String code();
14 |
15 | //表示转义后的文本
16 | String dicText() default "";
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/video-admin/src/main/java/com/zhu/config/ControllerResponseAdvice.java:
--------------------------------------------------------------------------------
1 | package com.zhu.config;
2 |
3 | import com.alibaba.fastjson.JSONObject;
4 | import com.zhu.result.RespBean;
5 | import org.springframework.core.MethodParameter;
6 | import org.springframework.http.MediaType;
7 | import org.springframework.http.converter.HttpMessageConverter;
8 | import org.springframework.http.server.ServerHttpRequest;
9 | import org.springframework.http.server.ServerHttpResponse;
10 | import org.springframework.web.bind.annotation.RestControllerAdvice;
11 | import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
12 |
13 | @RestControllerAdvice(basePackages = {"com.zhu.controller"})
14 | public class ControllerResponseAdvice implements ResponseBodyAdvice