├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── doc ├── api │ ├── AllInOne.css │ ├── AllInOne.md │ ├── error.md │ ├── index.html │ ├── postman.json │ └── smart-doc.json ├── config │ ├── aes-dev.yml │ ├── feign-client-dev.yml │ ├── feign-server-dev.yml │ ├── gateway-dev.yml │ ├── logback-config.xml │ ├── logback-dev.yml │ ├── movie-server-celebrity-dev.yml │ ├── movie-server-movie-dev.yml │ ├── movie-server-music-dev.yml │ ├── movie-server-scene-dev.yml │ ├── movie-server-search-dev.yml │ ├── movie-server-user-dev.yml │ ├── mysql-dev.yml │ ├── oauth2-client-dev.yml │ ├── oauth2-resource-dev.yml │ ├── oauth2-server-dev.yml │ ├── rabbitmq-dev.yml │ ├── redis-dev.yml │ ├── servlet-dev.yml │ └── zipkin-client-dev.yml ├── image │ ├── language-Java-green.svg │ ├── license-GPL-blue.svg │ ├── logo.png │ └── movie_2.0_er.png ├── key │ ├── oauth2.jks │ ├── oauth2.jks.old │ └── public.txt └── sql │ ├── movie │ ├── create_test.sql │ ├── foreign.sql │ └── zipkin.sql │ └── movie_structure.sql ├── movie-api ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── api │ │ │ ├── MovieApiApplication.java │ │ │ ├── about │ │ │ └── MessageApi.java │ │ │ ├── auth │ │ │ └── Oauth2Api.java │ │ │ ├── celebrity │ │ │ ├── CelebrityApi.java │ │ │ ├── DoubanApi.java │ │ │ └── ImdbApi.java │ │ │ ├── common │ │ │ ├── converter │ │ │ │ ├── CelebrityDetailsVoConverter.java │ │ │ │ ├── CelebrityVoConverter.java │ │ │ │ ├── MessageVoConverter.java │ │ │ │ ├── MovieDetailsVoConverter.java │ │ │ │ ├── MovieSceneAllVoConverter.java │ │ │ │ ├── MovieSceneBriefVoConverter.java │ │ │ │ ├── MovieVoConverter.java │ │ │ │ ├── RateMovieVoConverter.java │ │ │ │ ├── ResourceMovieVoConverter.java │ │ │ │ ├── SearchResultDoubanVoConverter.java │ │ │ │ ├── SearchTipsDoubanVoConverter.java │ │ │ │ ├── ZhihuVoConverter.java │ │ │ │ ├── celebrity │ │ │ │ │ ├── CelebrityDoubanDetailsVoConverter.java │ │ │ │ │ ├── CelebrityDoubanVoConverter.java │ │ │ │ │ ├── CelebrityImdbDetailsVoConverter.java │ │ │ │ │ ├── CelebrityImdbVoConverter.java │ │ │ │ │ ├── SearchResultCelebrityDoubanVoConverter.java │ │ │ │ │ ├── SearchTipsCelebrityDoubanVoConverter.java │ │ │ │ │ └── details │ │ │ │ │ │ ├── AliasCelebrityDoubanVoConverter.java │ │ │ │ │ │ ├── CelebrityDoubanToClassicDoubanVoConverter.java │ │ │ │ │ │ ├── MovieDoubanOfCelebrityDoubanVoConverter.java │ │ │ │ │ │ └── MovieImdbOfCelebrityImdbVoConverter.java │ │ │ │ ├── movie │ │ │ │ │ ├── ClassicOfMovieDoubanVoConverter.java │ │ │ │ │ ├── MovieDoubanDetailsVoConverter.java │ │ │ │ │ ├── MovieDoubanVoConverter.java │ │ │ │ │ ├── MovieImdbDetailsVoConverter.java │ │ │ │ │ ├── MovieImdbVoConverter.java │ │ │ │ │ ├── SearchResultMovieDoubanVoConverter.java │ │ │ │ │ ├── SearchTipsMovieDoubanVoConverter.java │ │ │ │ │ ├── details │ │ │ │ │ │ ├── CelebrityDoubanOfMovieDoubanVoConverter.java │ │ │ │ │ │ ├── CelebrityImdbOfMovieImdbVoConverter.java │ │ │ │ │ │ ├── CommentOfMovieDoubanVoConverter.java │ │ │ │ │ │ ├── MovieDoubanToCelebrityDoubanVoConverter.java │ │ │ │ │ │ ├── MovieImdbToCelebrityImdbVoConverter.java │ │ │ │ │ │ ├── ReviewOfMovieDoubanVoConverter.java │ │ │ │ │ │ ├── TrailerMovieDoubanVoConverter.java │ │ │ │ │ │ └── UserDoubanToClassicDoubanVoConverter.java │ │ │ │ │ └── rate │ │ │ │ │ │ ├── RateMovieDoubanVoConverter.java │ │ │ │ │ │ └── RateMovieImdbVoConverter.java │ │ │ │ ├── scene │ │ │ │ │ ├── CelebritySceneOfSceneDetailVoConverter.java │ │ │ │ │ ├── ImagePlaceSceneVoConverter.java │ │ │ │ │ ├── MovieSceneVoConverter.java │ │ │ │ │ ├── PlaceSceneVoConverter.java │ │ │ │ │ ├── SceneVoConverter.java │ │ │ │ │ ├── all │ │ │ │ │ │ ├── ImageSceneDetailVoConverter.java │ │ │ │ │ │ ├── PlaceSceneAllVoConverter.java │ │ │ │ │ │ ├── SceneAllVoConverter.java │ │ │ │ │ │ ├── SceneDetailAllVoConverter.java │ │ │ │ │ │ └── SceneDetailVoConverter.java │ │ │ │ │ └── brief │ │ │ │ │ │ ├── PlaceSceneBriefVoConverter.java │ │ │ │ │ │ └── SceneBriefVoConverter.java │ │ │ │ ├── share │ │ │ │ │ ├── AwardOfMovieAndCelebrityDoubanVoConverter.java │ │ │ │ │ └── ImageDoubanVoConverter.java │ │ │ │ └── zhihu │ │ │ │ │ ├── MovieZhihuVoConverter.java │ │ │ │ │ └── QuestionZhihuVoConverter.java │ │ │ ├── util │ │ │ │ └── ConverterUtil.java │ │ │ └── vo │ │ │ │ ├── CelebrityDetailsVo.java │ │ │ │ ├── CelebrityVo.java │ │ │ │ ├── MessageResVo.java │ │ │ │ ├── MessageVo.java │ │ │ │ ├── MovieDetailsVo.java │ │ │ │ ├── MovieSceneAllVo.java │ │ │ │ ├── MovieSceneBriefVo.java │ │ │ │ ├── MovieVo.java │ │ │ │ ├── RateMovieVo.java │ │ │ │ ├── ResourceMovieVo.java │ │ │ │ ├── SearchResultDoubanVo.java │ │ │ │ ├── SearchTipsDoubanVo.java │ │ │ │ ├── ZhihuVo.java │ │ │ │ ├── celebrity │ │ │ │ ├── CelebrityDoubanDetailsVo.java │ │ │ │ ├── CelebrityDoubanVo.java │ │ │ │ ├── CelebrityImdbDetailsVo.java │ │ │ │ ├── CelebrityImdbVo.java │ │ │ │ ├── SearchResultCelebrityDoubanVo.java │ │ │ │ ├── SearchTipsCelebrityDoubanVo.java │ │ │ │ └── details │ │ │ │ │ ├── AliasCelebrityDoubanVo.java │ │ │ │ │ ├── CelebrityDoubanToClassicDoubanVo.java │ │ │ │ │ ├── MovieDoubanOfCelebrityDoubanVo.java │ │ │ │ │ └── MovieImdbOfCelebrityImdbVo.java │ │ │ │ ├── movie │ │ │ │ ├── ClassicOfMovieDoubanVo.java │ │ │ │ ├── MovieDoubanDetailsVo.java │ │ │ │ ├── MovieDoubanVo.java │ │ │ │ ├── MovieImdbDetailsVo.java │ │ │ │ ├── MovieImdbVo.java │ │ │ │ ├── SearchResultMovieDoubanVo.java │ │ │ │ ├── SearchTipsMovieDoubanVo.java │ │ │ │ ├── details │ │ │ │ │ ├── CelebrityDoubanOfMovieDoubanVo.java │ │ │ │ │ ├── CelebrityImdbOfMovieImdbVo.java │ │ │ │ │ ├── CommentOfMovieDoubanVo.java │ │ │ │ │ ├── MovieDoubanToCelebrityDoubanVo.java │ │ │ │ │ ├── MovieImdbToCelebrityImdbVo.java │ │ │ │ │ ├── ReviewOfMovieDoubanVo.java │ │ │ │ │ ├── TrailerMovieDoubanVo.java │ │ │ │ │ └── UserDoubanToClassicDoubanVo.java │ │ │ │ └── rate │ │ │ │ │ ├── RateMovieDoubanVo.java │ │ │ │ │ └── RateMovieImdbVo.java │ │ │ │ ├── scene │ │ │ │ ├── CelebritySceneOfSceneDetailVo.java │ │ │ │ ├── ImagePlaceSceneVo.java │ │ │ │ ├── ImageSceneDetailVo.java │ │ │ │ ├── MovieSceneVo.java │ │ │ │ ├── PlaceSceneAllVo.java │ │ │ │ ├── PlaceSceneBriefVo.java │ │ │ │ ├── PlaceSceneVo.java │ │ │ │ ├── SceneAllVo.java │ │ │ │ ├── SceneBriefVo.java │ │ │ │ ├── SceneDetailAllVo.java │ │ │ │ ├── SceneDetailVo.java │ │ │ │ └── SceneVo.java │ │ │ │ ├── share │ │ │ │ ├── AwardOfMovieAndCelebrityDoubanVo.java │ │ │ │ └── ImageDoubanVo.java │ │ │ │ └── zhihu │ │ │ │ ├── MovieZhihuVo.java │ │ │ │ └── QuestionZhihuVo.java │ │ │ ├── movie │ │ │ ├── DoubanApi.java │ │ │ ├── ImdbApi.java │ │ │ ├── MovieApi.java │ │ │ ├── ResourceApi.java │ │ │ └── ZhihuApi.java │ │ │ ├── music │ │ │ └── NeteaseApi.java │ │ │ ├── scene │ │ │ └── MovieApi.java │ │ │ ├── search │ │ │ ├── SearchApi.java │ │ │ ├── SearchCelebrityDoubanApi.java │ │ │ ├── SearchDoubanApi.java │ │ │ ├── SearchMovieDoubanApi.java │ │ │ ├── SearchMovieSceneApi.java │ │ │ ├── SearchPlaceSceneApi.java │ │ │ └── SearchResourceApi.java │ │ │ └── user │ │ │ ├── RootApi.java │ │ │ └── UserApi.java │ └── resources │ │ └── bootstrap.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── api │ └── MovieApiApplicationTests.java ├── movie-common ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── common │ │ │ ├── MovieCommonApplication.java │ │ │ ├── annotation │ │ │ ├── AesDecrypt.java │ │ │ ├── LogRecord.java │ │ │ └── RedisCache.java │ │ │ ├── aspect │ │ │ ├── AesDecryptAspect.java │ │ │ └── LogAspect.java │ │ │ ├── config │ │ │ └── RedisConfig.java │ │ │ ├── controller │ │ │ └── MyErrorController.java │ │ │ ├── entity │ │ │ ├── MovieConstant.java │ │ │ └── Result.java │ │ │ ├── enumeration │ │ │ ├── CodeAndMsg.java │ │ │ └── Roles.java │ │ │ ├── exception │ │ │ ├── GlobalKnownExceptionHandler.java │ │ │ ├── GlobalUnknownExceptionHandler.java │ │ │ ├── MyAccessDeniedHandler.java │ │ │ ├── MyAuthenticationEntryPoint.java │ │ │ ├── MyException.java │ │ │ ├── MyOauth2Exception.java │ │ │ ├── serializer │ │ │ │ └── MyOauth2ExceptionSerializer.java │ │ │ └── translator │ │ │ │ └── MyOauth2Translator.java │ │ │ └── util │ │ │ ├── AesUtil.java │ │ │ ├── Base2Converter.java │ │ │ └── BaseConverter.java │ └── resources │ │ └── bootstrap.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── common │ └── MovieCommonApplicationTests.java ├── movie-dal ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── dal │ │ │ ├── MovieDalApplication.java │ │ │ ├── config │ │ │ └── PreHeatMysqlCommandLineRunner.java │ │ │ ├── domain │ │ │ ├── douban │ │ │ │ ├── AwardOfMovieAndCelebrityDoubanDo.java │ │ │ │ ├── CelebrityDoubanOfMovieDoubanDo.java │ │ │ │ ├── ClassicOfMovieDoubanDo.java │ │ │ │ ├── CommentOfMovieDoubanDo.java │ │ │ │ ├── ImageDoubanDo.java │ │ │ │ ├── MovieDoubanOfCelebrityDoubanDo.java │ │ │ │ └── ReviewOfMovieDoubanDo.java │ │ │ ├── imdb │ │ │ │ ├── CelebrityImdbOfMovieImdbDo.java │ │ │ │ └── MovieImdbOfCelebrityImdbDo.java │ │ │ └── scene │ │ │ │ ├── CelebritySceneOfSceneDetailDo.java │ │ │ │ ├── all │ │ │ │ ├── PlaceSceneAllDo.java │ │ │ │ ├── SceneAllDo.java │ │ │ │ └── SceneDetailAllDo.java │ │ │ │ └── brief │ │ │ │ ├── PlaceSceneBriefDo.java │ │ │ │ └── SceneBriefDo.java │ │ │ ├── entity │ │ │ ├── AlbumNetease.java │ │ │ ├── AlbumNeteaseExample.java │ │ │ ├── AliasCelebrityDouban.java │ │ │ ├── AliasCelebrityDoubanExample.java │ │ │ ├── AliasMovieDouban.java │ │ │ ├── AliasMovieDoubanExample.java │ │ │ ├── ArtistNetease.java │ │ │ ├── ArtistNeteaseExample.java │ │ │ ├── ArtistNeteaseToAlbumNetease.java │ │ │ ├── ArtistNeteaseToAlbumNeteaseExample.java │ │ │ ├── ArtistNeteaseToSongNetease.java │ │ │ ├── ArtistNeteaseToSongNeteaseExample.java │ │ │ ├── AwardMovie.java │ │ │ ├── AwardMovieExample.java │ │ │ ├── CelebrityDouban.java │ │ │ ├── CelebrityDoubanExample.java │ │ │ ├── CelebrityDoubanToClassicDouban.java │ │ │ ├── CelebrityDoubanToClassicDoubanExample.java │ │ │ ├── CelebrityImdb.java │ │ │ ├── CelebrityImdbExample.java │ │ │ ├── CelebrityScene.java │ │ │ ├── CelebritySceneExample.java │ │ │ ├── CityScene.java │ │ │ ├── CitySceneExample.java │ │ │ ├── ClassicDouban.java │ │ │ ├── ClassicDoubanExample.java │ │ │ ├── CommentMovieDouban.java │ │ │ ├── CommentMovieDoubanExample.java │ │ │ ├── CommentNetease.java │ │ │ ├── CommentNeteaseExample.java │ │ │ ├── ContinentScene.java │ │ │ ├── ContinentSceneExample.java │ │ │ ├── CountryScene.java │ │ │ ├── CountrySceneExample.java │ │ │ ├── ImageCelebrityDouban.java │ │ │ ├── ImageCelebrityDoubanExample.java │ │ │ ├── ImageMovieDouban.java │ │ │ ├── ImageMovieDoubanExample.java │ │ │ ├── ImagePlaceScene.java │ │ │ ├── ImagePlaceSceneExample.java │ │ │ ├── ImageSceneDetail.java │ │ │ ├── ImageSceneDetailExample.java │ │ │ ├── Message.java │ │ │ ├── MessageExample.java │ │ │ ├── MovieDouban.java │ │ │ ├── MovieDoubanExample.java │ │ │ ├── MovieDoubanToAwardMovie.java │ │ │ ├── MovieDoubanToAwardMovieExample.java │ │ │ ├── MovieDoubanToCelebrityDouban.java │ │ │ ├── MovieDoubanToCelebrityDoubanExample.java │ │ │ ├── MovieDoubanToReviewMovieDouban.java │ │ │ ├── MovieDoubanToReviewMovieDoubanExample.java │ │ │ ├── MovieDoubanToTypeMovie.java │ │ │ ├── MovieDoubanToTypeMovieExample.java │ │ │ ├── MovieImdb.java │ │ │ ├── MovieImdbExample.java │ │ │ ├── MovieImdbToCelebrityImdb.java │ │ │ ├── MovieImdbToCelebrityImdbExample.java │ │ │ ├── MovieImdbToTypeMovie.java │ │ │ ├── MovieImdbToTypeMovieExample.java │ │ │ ├── MovieNetease.java │ │ │ ├── MovieNeteaseExample.java │ │ │ ├── MovieScene.java │ │ │ ├── MovieSceneExample.java │ │ │ ├── MovieSceneToCelebrityScene.java │ │ │ ├── MovieSceneToCelebritySceneExample.java │ │ │ ├── MovieZhihu.java │ │ │ ├── MovieZhihuExample.java │ │ │ ├── Permission.java │ │ │ ├── PermissionExample.java │ │ │ ├── PlaceScene.java │ │ │ ├── PlaceSceneExample.java │ │ │ ├── PlaceSceneToTypePlaceScene.java │ │ │ ├── PlaceSceneToTypePlaceSceneExample.java │ │ │ ├── PlaylistNetease.java │ │ │ ├── PlaylistNeteaseExample.java │ │ │ ├── Profession.java │ │ │ ├── ProfessionExample.java │ │ │ ├── QuestionZhihu.java │ │ │ ├── QuestionZhihuExample.java │ │ │ ├── RateImdb.java │ │ │ ├── RateImdbExample.java │ │ │ ├── RateMovieDouban.java │ │ │ ├── RateMovieDoubanExample.java │ │ │ ├── ResourceMovie.java │ │ │ ├── ResourceMovieExample.java │ │ │ ├── ReviewMovieDouban.java │ │ │ ├── ReviewMovieDoubanExample.java │ │ │ ├── Role.java │ │ │ ├── RoleExample.java │ │ │ ├── RoleToPermission.java │ │ │ ├── RoleToPermissionExample.java │ │ │ ├── Scene.java │ │ │ ├── SceneDetail.java │ │ │ ├── SceneDetailExample.java │ │ │ ├── SceneDetailToCelebrityScene.java │ │ │ ├── SceneDetailToCelebritySceneExample.java │ │ │ ├── SceneExample.java │ │ │ ├── SongNetease.java │ │ │ ├── SongNeteaseExample.java │ │ │ ├── SongNeteaseToAlbumNetease.java │ │ │ ├── SongNeteaseToAlbumNeteaseExample.java │ │ │ ├── SongNeteaseToPlaylistNetease.java │ │ │ ├── SongNeteaseToPlaylistNeteaseExample.java │ │ │ ├── StateScene.java │ │ │ ├── StateSceneExample.java │ │ │ ├── TagMovie.java │ │ │ ├── TagMovieExample.java │ │ │ ├── TrailerMovieDouban.java │ │ │ ├── TrailerMovieDoubanExample.java │ │ │ ├── TypeMovie.java │ │ │ ├── TypeMovieExample.java │ │ │ ├── TypePlaceScene.java │ │ │ ├── TypePlaceSceneExample.java │ │ │ ├── TypeResource.java │ │ │ ├── TypeResourceExample.java │ │ │ ├── TypeVideo.java │ │ │ ├── TypeVideoExample.java │ │ │ ├── User.java │ │ │ ├── UserDouban.java │ │ │ ├── UserDoubanExample.java │ │ │ ├── UserDoubanToClassicDouban.java │ │ │ ├── UserDoubanToClassicDoubanExample.java │ │ │ ├── UserDoubanToMovieDouban.java │ │ │ ├── UserDoubanToMovieDoubanExample.java │ │ │ ├── UserDoubanToReviewMovieDouban.java │ │ │ ├── UserDoubanToReviewMovieDoubanExample.java │ │ │ ├── UserExample.java │ │ │ ├── UserNetease.java │ │ │ ├── UserNeteaseExample.java │ │ │ ├── UserToRole.java │ │ │ ├── UserToRoleExample.java │ │ │ ├── WebsiteResource.java │ │ │ └── WebsiteResourceExample.java │ │ │ ├── generator │ │ │ ├── Generator.java │ │ │ └── MyBatisPlugin.java │ │ │ └── mapper │ │ │ ├── auto │ │ │ ├── AlbumNeteaseMapper.java │ │ │ ├── AliasCelebrityDoubanMapper.java │ │ │ ├── AliasMovieDoubanMapper.java │ │ │ ├── ArtistNeteaseMapper.java │ │ │ ├── ArtistNeteaseToAlbumNeteaseMapper.java │ │ │ ├── ArtistNeteaseToSongNeteaseMapper.java │ │ │ ├── AwardMovieMapper.java │ │ │ ├── CelebrityDoubanMapper.java │ │ │ ├── CelebrityDoubanToClassicDoubanMapper.java │ │ │ ├── CelebrityImdbMapper.java │ │ │ ├── CelebritySceneMapper.java │ │ │ ├── CitySceneMapper.java │ │ │ ├── ClassicDoubanMapper.java │ │ │ ├── CommentMovieDoubanMapper.java │ │ │ ├── CommentNeteaseMapper.java │ │ │ ├── ContinentSceneMapper.java │ │ │ ├── CountrySceneMapper.java │ │ │ ├── ImageCelebrityDoubanMapper.java │ │ │ ├── ImageMovieDoubanMapper.java │ │ │ ├── ImagePlaceSceneMapper.java │ │ │ ├── ImageSceneDetailMapper.java │ │ │ ├── MessageMapper.java │ │ │ ├── MovieDoubanMapper.java │ │ │ ├── MovieDoubanToAwardMovieMapper.java │ │ │ ├── MovieDoubanToCelebrityDoubanMapper.java │ │ │ ├── MovieDoubanToReviewMovieDoubanMapper.java │ │ │ ├── MovieDoubanToTypeMovieMapper.java │ │ │ ├── MovieImdbMapper.java │ │ │ ├── MovieImdbToCelebrityImdbMapper.java │ │ │ ├── MovieImdbToTypeMovieMapper.java │ │ │ ├── MovieNeteaseMapper.java │ │ │ ├── MovieSceneMapper.java │ │ │ ├── MovieSceneToCelebritySceneMapper.java │ │ │ ├── MovieZhihuMapper.java │ │ │ ├── PermissionMapper.java │ │ │ ├── PlaceSceneMapper.java │ │ │ ├── PlaceSceneToTypePlaceSceneMapper.java │ │ │ ├── PlaylistNeteaseMapper.java │ │ │ ├── ProfessionMapper.java │ │ │ ├── QuestionZhihuMapper.java │ │ │ ├── RateImdbMapper.java │ │ │ ├── RateMovieDoubanMapper.java │ │ │ ├── ResourceMovieMapper.java │ │ │ ├── ReviewMovieDoubanMapper.java │ │ │ ├── RoleMapper.java │ │ │ ├── RoleToPermissionMapper.java │ │ │ ├── SceneDetailMapper.java │ │ │ ├── SceneDetailToCelebritySceneMapper.java │ │ │ ├── SceneMapper.java │ │ │ ├── SongNeteaseMapper.java │ │ │ ├── SongNeteaseToAlbumNeteaseMapper.java │ │ │ ├── SongNeteaseToPlaylistNeteaseMapper.java │ │ │ ├── StateSceneMapper.java │ │ │ ├── TagMovieMapper.java │ │ │ ├── TrailerMovieDoubanMapper.java │ │ │ ├── TypeMovieMapper.java │ │ │ ├── TypePlaceSceneMapper.java │ │ │ ├── TypeResourceMapper.java │ │ │ ├── TypeVideoMapper.java │ │ │ ├── UserDoubanMapper.java │ │ │ ├── UserDoubanToClassicDoubanMapper.java │ │ │ ├── UserDoubanToMovieDoubanMapper.java │ │ │ ├── UserDoubanToReviewMovieDoubanMapper.java │ │ │ ├── UserMapper.java │ │ │ ├── UserNeteaseMapper.java │ │ │ ├── UserToRoleMapper.java │ │ │ └── WebsiteResourceMapper.java │ │ │ └── plus │ │ │ ├── AliasCelebrityDoubanMapperPlus.java │ │ │ ├── AliasMovieDoubanMapperPlus.java │ │ │ ├── BaseMapperPlus.java │ │ │ ├── CelebrityDoubanMapperPlus.java │ │ │ ├── CelebrityImdbMapperPlus.java │ │ │ ├── CelebritySceneMapperPlus.java │ │ │ ├── ClassicDoubanMapperPlus.java │ │ │ ├── CommentMovieDoubanMapperPlus.java │ │ │ ├── MessageMapperPlus.java │ │ │ ├── MovieDouanToAwardMovieMapperPlus.java │ │ │ ├── MovieDoubanMapperPlus.java │ │ │ ├── MovieImdbMapperPlus.java │ │ │ ├── ReviewMovieDoubanMapperPlus.java │ │ │ └── RoleMapperPlus.java │ └── resources │ │ ├── bootstrap.yml │ │ ├── mapper │ │ ├── auto │ │ │ ├── AlbumNeteaseMapper.xml │ │ │ ├── AliasCelebrityDoubanMapper.xml │ │ │ ├── AliasMovieDoubanMapper.xml │ │ │ ├── ArtistNeteaseMapper.xml │ │ │ ├── ArtistNeteaseToAlbumNeteaseMapper.xml │ │ │ ├── ArtistNeteaseToSongNeteaseMapper.xml │ │ │ ├── AwardMovieMapper.xml │ │ │ ├── CelebrityDoubanMapper.xml │ │ │ ├── CelebrityDoubanToClassicDoubanMapper.xml │ │ │ ├── CelebrityImdbMapper.xml │ │ │ ├── CelebritySceneMapper.xml │ │ │ ├── CitySceneMapper.xml │ │ │ ├── ClassicDoubanMapper.xml │ │ │ ├── CommentMovieDoubanMapper.xml │ │ │ ├── CommentNeteaseMapper.xml │ │ │ ├── ContinentSceneMapper.xml │ │ │ ├── CountrySceneMapper.xml │ │ │ ├── ImageCelebrityDoubanMapper.xml │ │ │ ├── ImageMovieDoubanMapper.xml │ │ │ ├── ImagePlaceSceneMapper.xml │ │ │ ├── ImageSceneDetailMapper.xml │ │ │ ├── MessageMapper.xml │ │ │ ├── MovieDoubanMapper.xml │ │ │ ├── MovieDoubanToAwardMovieMapper.xml │ │ │ ├── MovieDoubanToCelebrityDoubanMapper.xml │ │ │ ├── MovieDoubanToReviewMovieDoubanMapper.xml │ │ │ ├── MovieDoubanToTypeMovieMapper.xml │ │ │ ├── MovieImdbMapper.xml │ │ │ ├── MovieImdbToCelebrityImdbMapper.xml │ │ │ ├── MovieImdbToTypeMovieMapper.xml │ │ │ ├── MovieNeteaseMapper.xml │ │ │ ├── MovieSceneMapper.xml │ │ │ ├── MovieSceneToCelebritySceneMapper.xml │ │ │ ├── MovieZhihuMapper.xml │ │ │ ├── PermissionMapper.xml │ │ │ ├── PlaceSceneMapper.xml │ │ │ ├── PlaceSceneToTypePlaceSceneMapper.xml │ │ │ ├── PlaylistNeteaseMapper.xml │ │ │ ├── ProfessionMapper.xml │ │ │ ├── QuestionZhihuMapper.xml │ │ │ ├── RateImdbMapper.xml │ │ │ ├── RateMovieDoubanMapper.xml │ │ │ ├── ResourceMovieMapper.xml │ │ │ ├── ReviewMovieDoubanMapper.xml │ │ │ ├── RoleMapper.xml │ │ │ ├── RoleToPermissionMapper.xml │ │ │ ├── SceneDetailMapper.xml │ │ │ ├── SceneDetailToCelebritySceneMapper.xml │ │ │ ├── SceneMapper.xml │ │ │ ├── SongNeteaseMapper.xml │ │ │ ├── SongNeteaseToAlbumNeteaseMapper.xml │ │ │ ├── SongNeteaseToPlaylistNeteaseMapper.xml │ │ │ ├── StateSceneMapper.xml │ │ │ ├── TagMovieMapper.xml │ │ │ ├── TrailerMovieDoubanMapper.xml │ │ │ ├── TypeMovieMapper.xml │ │ │ ├── TypePlaceSceneMapper.xml │ │ │ ├── TypeResourceMapper.xml │ │ │ ├── TypeVideoMapper.xml │ │ │ ├── UserDoubanMapper.xml │ │ │ ├── UserDoubanToClassicDoubanMapper.xml │ │ │ ├── UserDoubanToMovieDoubanMapper.xml │ │ │ ├── UserDoubanToReviewMovieDoubanMapper.xml │ │ │ ├── UserMapper.xml │ │ │ ├── UserNeteaseMapper.xml │ │ │ ├── UserToRoleMapper.xml │ │ │ └── WebsiteResourceMapper.xml │ │ └── plus │ │ │ ├── AliasCelebirtyDoubanMapperPlus.xml │ │ │ ├── AliasMovieDoubanMapperPlus.xml │ │ │ ├── CelebrityDoubanMapperPlus.xml │ │ │ ├── CelebrityImdbMapperPlus.xml │ │ │ ├── CelebritySceneMapperPlus.xml │ │ │ ├── ClassicDoubanMapperPlus.xml │ │ │ ├── CommentMovieDoubanMapperPlus.xml │ │ │ ├── MessageMapperPlus.xml │ │ │ ├── MovieDouanToAwardMovieMapperPlus.xml │ │ │ ├── MovieDoubanMapperPlus.xml │ │ │ ├── MovieImdbMapperPlus.xml │ │ │ ├── ReviewMovieDoubanMapperPlus.xml │ │ │ └── RoleMapperPlus.xml │ │ └── mybatis │ │ ├── generatorConfig.xml │ │ └── mybatis-generator.properties │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── dal │ └── MovieDalApplicationTests.java ├── movie-security ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── security │ │ │ ├── MovieSecurityApplication.java │ │ │ └── config │ │ │ ├── AuthorizationServerConfig.java │ │ │ ├── ResourceServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── bootstrap.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── security │ └── MovieSecurityApplicationTests.java ├── movie-server-auth ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── server │ │ │ └── auth │ │ │ ├── MovieServerAuthApplication.java │ │ │ ├── config │ │ │ ├── MyAuthorizationServerConfig.java │ │ │ └── MyWebSecurityConfig.java │ │ │ └── entity │ │ │ ├── Oauth2Mode.java │ │ │ └── ResourceId.java │ └── resources │ │ └── bootstrap.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── server │ └── auth │ └── MovieServerAuthApplicationTests.java ├── movie-server-config ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── server │ │ │ └── config │ │ │ └── MovieServerConfigApplication.java │ └── resources │ │ └── bootstrap.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── server │ └── config │ └── MovieServerConfigApplicationTests.java ├── movie-server-eureka ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── server │ │ │ └── eureka │ │ │ └── MovieServerEurekaApplication.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── server │ └── eureka │ └── MovieServerEurekaApplicationTests.java ├── movie-server-gateway ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── humingk │ │ │ └── movie │ │ │ └── server │ │ │ └── gateway │ │ │ ├── MovieServerGatewayApplication.java │ │ │ ├── config │ │ │ └── IpLimiter.java │ │ │ ├── controller │ │ │ └── FallbackController.java │ │ │ └── filter │ │ │ └── LogGlobalFilter.java │ └── resources │ │ └── bootstrap.yml │ └── test │ └── java │ └── org │ └── humingk │ └── movie │ └── server │ └── gateway │ └── MovieServerGatewayApplicationTests.java ├── movie-servers ├── movie-server-celebrity │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── server │ │ │ │ └── celebrity │ │ │ │ ├── MovieServerCelebrityApplication.java │ │ │ │ ├── config │ │ │ │ └── MyResourceServerConfig.java │ │ │ │ └── controller │ │ │ │ ├── CelebrityController.java │ │ │ │ ├── DoubanController.java │ │ │ │ └── ImdbController.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── server │ │ └── celebrity │ │ └── MovieServerCelebrityApplicationTests.java ├── movie-server-movie │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── server │ │ │ │ └── movie │ │ │ │ ├── MovieServerMovieApplication.java │ │ │ │ ├── config │ │ │ │ └── MyResourceServerConfig.java │ │ │ │ └── controller │ │ │ │ ├── DoubanController.java │ │ │ │ ├── ImdbController.java │ │ │ │ ├── MessageController.java │ │ │ │ ├── MovieController.java │ │ │ │ ├── ResourceController.java │ │ │ │ └── ZhihuController.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── server │ │ └── movie │ │ └── MovieServerMovieApplicationTests.java ├── movie-server-music │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── server │ │ │ │ └── music │ │ │ │ ├── MovieServerMusicApplication.java │ │ │ │ ├── config │ │ │ │ └── MyResourceServerConfig.java │ │ │ │ └── controller │ │ │ │ └── NeteaseController.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── server │ │ └── music │ │ └── MovieServerMusicApplicationTests.java ├── movie-server-scene │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── server │ │ │ │ └── scene │ │ │ │ ├── MovieServerSceneApplication.java │ │ │ │ ├── config │ │ │ │ └── MyResourceServerConfig.java │ │ │ │ └── controller │ │ │ │ └── MovieController.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── server │ │ └── scene │ │ └── MovieServerSceneApplicationTests.java ├── movie-server-search │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── server │ │ │ │ └── search │ │ │ │ ├── MovieServerSearchApplication.java │ │ │ │ ├── config │ │ │ │ └── MyResourceServerConfig.java │ │ │ │ └── controller │ │ │ │ ├── SearchCelebrityDoubanController.java │ │ │ │ ├── SearchDoubanController.java │ │ │ │ ├── SearchMovieDoubanController.java │ │ │ │ ├── SearchMovieSceneController.java │ │ │ │ ├── SearchPlaceSceneController.java │ │ │ │ └── SearchResourceController.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── server │ │ └── search │ │ └── MovieServerSearchApplicationTests.java ├── movie-server-user │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── server │ │ │ │ └── user │ │ │ │ ├── MovieServerUserApplication.java │ │ │ │ ├── config │ │ │ │ └── MyResourceServerConfig.java │ │ │ │ └── controller │ │ │ │ ├── RootController.java │ │ │ │ └── UserController.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── server │ │ └── user │ │ └── MovieServerUserApplicationTests.java └── pom.xml ├── movie-services ├── movie-service-douban │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── douban │ │ │ │ ├── MovieServiceDoubanApplication.java │ │ │ │ ├── converter │ │ │ │ ├── ImageDoubanDoConverter.java │ │ │ │ ├── celebrity │ │ │ │ │ └── CelebrityDoubanDetailsDtoConverter.java │ │ │ │ └── movie │ │ │ │ │ └── MovieDoubanDetailsDtoConverter.java │ │ │ │ ├── dto │ │ │ │ ├── celebrity │ │ │ │ │ ├── CelebrityDoubanDetailsDto.java │ │ │ │ │ ├── SearchResultCelebrityDoubanDto.java │ │ │ │ │ └── SearchTipsCelebrityDoubanDto.java │ │ │ │ └── movie │ │ │ │ │ ├── MovieDoubanDetailsDto.java │ │ │ │ │ ├── SearchResultMovieDoubanDto.java │ │ │ │ │ └── SearchTipsMovieDoubanDto.java │ │ │ │ └── service │ │ │ │ ├── CelebrityDoubanService.java │ │ │ │ ├── MessageService.java │ │ │ │ ├── MovieDoubanService.java │ │ │ │ └── impl │ │ │ │ ├── CelebrityDoubanServiceImpl.java │ │ │ │ ├── MessageServiceImpl.java │ │ │ │ └── MovieDoubanServiceImpl.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── douban │ │ ├── MovieServiceDoubanApplicationTest.java │ │ └── service │ │ ├── CelebrityDoubanServiceTest.java │ │ ├── MessageServiceTest.java │ │ └── MovieDoubanServiceTest.java ├── movie-service-imdb │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── imdb │ │ │ │ ├── MovieServiceImdbApplication.java │ │ │ │ ├── converter │ │ │ │ ├── celebrity │ │ │ │ │ └── CelebrityImdbDetailsDtoConverter.java │ │ │ │ └── movie │ │ │ │ │ └── MovieImdbDetailsDtoConverter.java │ │ │ │ ├── dto │ │ │ │ ├── celebrity │ │ │ │ │ └── CelebrityImdbDetailsDto.java │ │ │ │ └── movie │ │ │ │ │ └── MovieImdbDetailsDto.java │ │ │ │ └── service │ │ │ │ ├── CelebrityImdbService.java │ │ │ │ ├── MovieImdbService.java │ │ │ │ └── impl │ │ │ │ ├── CelebrityImdbServiceImpl.java │ │ │ │ └── MovieImdbServiceImpl.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── imdb │ │ ├── MovieServiceImdbApplicationTests.java │ │ └── service │ │ ├── CelebrityImdbServiceTest.java │ │ └── MovieImdbServiceTest.java ├── movie-service-netease │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── netease │ │ │ │ └── MovieServiceNeteaseApplication.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── netease │ │ └── MovieServiceNeteaseApplicationTests.java ├── movie-service-resource │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── resource │ │ │ │ ├── MovieServiceResourceApplication.java │ │ │ │ └── service │ │ │ │ ├── ResourceService.java │ │ │ │ └── impl │ │ │ │ └── ResourceServiceImpl.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── resource │ │ ├── MovieServiceResourceApplicationTests.java │ │ └── service │ │ └── ResourceServiceTest.java ├── movie-service-scene │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── scene │ │ │ │ ├── MovieServiceSceneApplication.java │ │ │ │ ├── converter │ │ │ │ ├── MovieSceneAllDtoConverter.java │ │ │ │ └── MovieSceneBriefDtoConverter.java │ │ │ │ ├── dto │ │ │ │ ├── MovieSceneAllDto.java │ │ │ │ └── MovieSceneBriefDto.java │ │ │ │ └── service │ │ │ │ ├── SceneMovieService.java │ │ │ │ ├── ScenePlaceService.java │ │ │ │ └── impl │ │ │ │ ├── SceneMovieServiceImpl.java │ │ │ │ └── ScenePlaceServiceImpl.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── scene │ │ ├── MovieServiceSceneApplicationTests.java │ │ └── service │ │ └── SceneMovieServiceTest.java ├── movie-service-user │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── user │ │ │ │ ├── MovieServiceUserApplication.java │ │ │ │ ├── entity │ │ │ │ ├── SecurityRole.java │ │ │ │ └── SecurityUser.java │ │ │ │ └── service │ │ │ │ ├── MyUserDetailsService.java │ │ │ │ ├── RegisterService.java │ │ │ │ └── impl │ │ │ │ ├── MyUserDetailsServiceImpl.java │ │ │ │ └── RegisterServiceImpl.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── user │ │ ├── MovieServiceUserApplicationTests.java │ │ └── service │ │ └── impl │ │ ├── MyUserDetailsServiceImplTest.java │ │ └── RegisterServiceImplTest.java ├── movie-service-zhihu │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── humingk │ │ │ │ └── movie │ │ │ │ └── service │ │ │ │ └── zhihu │ │ │ │ ├── MovieServiceZhihuApplication.java │ │ │ │ ├── converter │ │ │ │ └── ZhihuDtoConverter.java │ │ │ │ ├── dto │ │ │ │ └── ZhihuDto.java │ │ │ │ └── service │ │ │ │ ├── ZhihuService.java │ │ │ │ └── impl │ │ │ │ └── ZhihuServiceImpl.java │ │ └── resources │ │ │ └── bootstrap.yml │ │ └── test │ │ └── java │ │ └── org │ │ └── humingk │ │ └── movie │ │ └── service │ │ └── zhihu │ │ ├── MovieServiceZhihuApplicationTests.java │ │ └── service │ │ └── ZhihuServiceTest.java └── pom.xml ├── pom.xml └── tools.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | *.iml 3 | **/target/ 4 | **/*.iml 5 | **/.mvn/ 6 | **/mvnw 7 | **/mvnw.cmd 8 | doc/log/ 9 | **/rebel.xml 10 | run/** 11 | zipkin.jar 12 | NeteaseCloudMusicApi/ -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | jdk: 3 | - openjdk8 4 | cache: 5 | directories: 6 | - '$HOME/.m2/repository' 7 | install: mvn clean install -DskipTests=true -Dmaven.javadoc.skip=true 8 | script: 9 | - "mvn package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true" 10 | after_success: 11 | - codecov 12 | - bash <(curl -s https://codecov.io/bash) -------------------------------------------------------------------------------- /doc/api/error.md: -------------------------------------------------------------------------------- 1 | ## 错误码列表 2 | Error code |Description 3 | ---|--- 4 | 200|success 5 | 400|客户端错误 6 | 401|认证失败 7 | 403|服务器拒绝提供服务 8 | 404|找不到此资源 9 | 500|服务器内部处理错误 10 | 1001|请求参数错误 11 | 1002|无此用户 12 | 1003|此用户无权限 13 | 1004|此邮箱已被注册 14 | 1004|此豆瓣ID已被注册 -------------------------------------------------------------------------------- /doc/config/aes-dev.yml: -------------------------------------------------------------------------------- 1 | custom: 2 | aes: 3 | # AesUtil加密方式 4 | way: AES 5 | # 密钥(16位) 6 | key: youaretheapofmye 7 | -------------------------------------------------------------------------------- /doc/config/feign-client-dev.yml: -------------------------------------------------------------------------------- 1 | # feign超时设置 2 | ribbon: 3 | ReadTimeout: 100000 4 | ConnectTimeout: 100000 5 | feign: 6 | httpclient: 7 | # 替换为apache的httpclient 8 | enabled: true -------------------------------------------------------------------------------- /doc/config/feign-server-dev.yml: -------------------------------------------------------------------------------- 1 | # 开启feign中的hytrix 2 | feign: 3 | hystrix: 4 | enabled: true 5 | -------------------------------------------------------------------------------- /doc/config/logback-dev.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | # logback配置文件路径 3 | config: /home/humingk/git/douban_movie_plus/doc/config/logback-config.xml -------------------------------------------------------------------------------- /doc/config/movie-server-celebrity-dev.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | # 资源服务器ID 5 | id: celebrity -------------------------------------------------------------------------------- /doc/config/movie-server-movie-dev.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | # 资源服务器ID 5 | id: movie -------------------------------------------------------------------------------- /doc/config/movie-server-music-dev.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | # 资源服务器ID 5 | id: music -------------------------------------------------------------------------------- /doc/config/movie-server-scene-dev.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | # 资源服务器ID 5 | id: scene -------------------------------------------------------------------------------- /doc/config/movie-server-search-dev.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | # 资源服务器ID 5 | id: search -------------------------------------------------------------------------------- /doc/config/movie-server-user-dev.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | # 资源服务器ID 5 | id: user 6 | spring: 7 | security: 8 | oauth2: 9 | client: 10 | registration: 11 | # 通过本地注册服务器认证 12 | auth: 13 | client-id: client 14 | client-secret: secret 15 | client-scopes: scopes 16 | # 通过Github认证 17 | github: 18 | client-id: e97fedfabcf648c19043 19 | client-secret: 4f6091870ca0e51b432587b557f6375732d3ac44 20 | # 获取Github授权验证码 21 | authorize-uri: https://github.com/login/oauth/authorize 22 | # 获取授权码后回调 23 | callback-uri: http://localhost:8081/v2/user/github_callback 24 | # 通过Github授权验证码和客户端密钥获取token 25 | access-token-uri: https://github.com/login/oauth/access_token 26 | # Github用户信息 27 | user-uri: https://api.github.com/user 28 | -------------------------------------------------------------------------------- /doc/config/mysql-dev.yml: -------------------------------------------------------------------------------- 1 | mybatis: 2 | mapper-locations: classpath:mapper/**/*.xml 3 | spring: 4 | datasource: 5 | driverClassName: com.mysql.cj.jdbc.Driver 6 | password: 1233 7 | url: jdbc:mysql://localhost:3306/movie?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai 8 | username: root 9 | hikari: 10 | # 池中最大连接数,包括闲置和使用中的连接,默认10 11 | maximumPoolSize: 30 12 | # 池中维护的最小空闲连接数,默认10 13 | minimumIdle: 10 14 | # 连接允许在池中闲置的最长时间,默认600000 15 | idleTimeout: 600000 16 | # 等待来自池的连接的最大毫秒数,默认30000 17 | connectionTimeout: 30000 18 | # 池中连接最长生命周期,默认1800000 19 | maxLifetime: 1800000 20 | -------------------------------------------------------------------------------- /doc/config/oauth2-client-dev.yml: -------------------------------------------------------------------------------- 1 | # auth对应的客户端配置 2 | security: 3 | oauth2: 4 | # 客户端 5 | client: 6 | client-id: client 7 | client-secret: secret 8 | access-token-uri: http://localhost:8006/oauth/token 9 | grant-type: password,refresh_token 10 | scope: scopes 11 | -------------------------------------------------------------------------------- /doc/config/oauth2-resource-dev.yml: -------------------------------------------------------------------------------- 1 | # auth对应的资源服务端配置 2 | security: 3 | oauth2: 4 | resource: 5 | # id 定义在资源服务器对应配置文件中 6 | # 资源服务器检查、解析用户信息 7 | token-info-uri: http://localhost:8006/oauth/check_token 8 | jwt: 9 | # 从授权服务器获取jwt公钥 10 | key-uri: http://localhost:8006/oauth/token_key 11 | # 使用本地存储的公钥(优先) 12 | key-value: | 13 | -----BEGIN PUBLIC KEY----- 14 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAi61EyyxeDcjH8FrH23AE 15 | 9PAzcyggsdPtOAbRnwModIXo2WaJjTfT+axls23lwmcnZFd5/4R7o7ICq1SsGrc3 16 | zH27n+mLxbktb2b+eAaC1TkWjlvkKmGajARtIwvtu8ZGtzwNf3lrnXPmRdINbsfZ 17 | Yyuxfc8kc3StoOvSWUN9KeWXKFMekNafa4csHbgcK/Ae0um8fffxu87Bl2SwiC+u 18 | ZzTziq1bPg8wVhDlIhyhEs3pth5fjbW7/ypY5/Q5MQZjPogT1GOrfMwt15k4a2X5 19 | 859yzgepgvzQeNeySVUah1LTeoaQNs2x5bS+eypTUqghTtgo2giW46JKbyz4oqdy 20 | SQIDAQAB 21 | -----END PUBLIC KEY----- 22 | -------------------------------------------------------------------------------- /doc/config/oauth2-server-dev.yml: -------------------------------------------------------------------------------- 1 | custom: 2 | oauth2: 3 | # 有效期 s 4 | validity: 7776000 5 | client: 6 | id: client 7 | secret: secret 8 | scopes: scopes 9 | key: 10 | # 别名 11 | alias: oauth2 12 | # oauth2.jks 绝对路径 13 | location: /home/humingk/git/douban_movie_plus/doc/key/oauth2.jks 14 | # 秘钥口令和秘钥库口令 15 | secret: 12331233 16 | -------------------------------------------------------------------------------- /doc/config/rabbitmq-dev.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | # 消息中间件rabbit 3 | rabbitmq: 4 | host: localhost 5 | port: 5672 6 | username: guest 7 | password: guest 8 | -------------------------------------------------------------------------------- /doc/config/redis-dev.yml: -------------------------------------------------------------------------------- 1 | custom: 2 | redis: 3 | # redis缓存过期时间 /d 4 | expire: 100 5 | spring: 6 | redis: 7 | # Redis数据库索引 8 | database: 0 9 | # Redis服务器地址 10 | host: localhost 11 | # Redis服务器连接端口 12 | port: 6379 13 | # Redis服务器连接密码 14 | password: 1233 15 | # 连接超时时间(毫秒) 16 | timeout: 5000 17 | # 采用默认的lettuce而不是jedis 18 | lettuce: 19 | pool: 20 | #连接池最大连接数 默认8 (使用负值表示没有限制) 21 | max-active: 32 22 | # 连接池中的最大空闲连接 默认8 23 | max-idle: 8 24 | # 连接池最大阻塞等待时间 默认-1 (使用负值表示没有限制) 25 | max-wait: -1 26 | # 连接池中的最小空闲连接 默认0 27 | min-idle: 0 -------------------------------------------------------------------------------- /doc/config/servlet-dev.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | mvc: 3 | servlet: 4 | # 默认-1,不初始化DispatcherServlet 5 | load-on-startup: 1 -------------------------------------------------------------------------------- /doc/config/zipkin-client-dev.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | # zipkin服务追踪 3 | zipkin: 4 | # base-url: http://localhost:9411 5 | sender: 6 | # 发送类型(rabbit,web) 7 | type: rabbit 8 | sleuth: 9 | web: 10 | enabled: true 11 | sampler: 12 | # zipkin 采样比例,1.0表示采集所有(默认0.1) 13 | probability: 1.0 14 | -------------------------------------------------------------------------------- /doc/image/language-Java-green.svg: -------------------------------------------------------------------------------- 1 | languagelanguageJavaJava -------------------------------------------------------------------------------- /doc/image/license-GPL-blue.svg: -------------------------------------------------------------------------------- 1 | licenselicenseGPLGPL -------------------------------------------------------------------------------- /doc/image/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humingk/douban_movie_plus/68991887b0a897bc6bb0e20c78eb57558ebb0b0c/doc/image/logo.png -------------------------------------------------------------------------------- /doc/image/movie_2.0_er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humingk/douban_movie_plus/68991887b0a897bc6bb0e20c78eb57558ebb0b0c/doc/image/movie_2.0_er.png -------------------------------------------------------------------------------- /doc/key/oauth2.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humingk/douban_movie_plus/68991887b0a897bc6bb0e20c78eb57558ebb0b0c/doc/key/oauth2.jks -------------------------------------------------------------------------------- /doc/key/oauth2.jks.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/humingk/douban_movie_plus/68991887b0a897bc6bb0e20c78eb57558ebb0b0c/doc/key/oauth2.jks.old -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/MovieApiApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.openfeign.EnableFeignClients; 6 | 7 | /** @author humingk */ 8 | @SpringBootApplication 9 | @EnableFeignClients 10 | public class MovieApiApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(MovieApiApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/CelebrityVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter; 2 | 3 | import org.humingk.movie.api.common.converter.celebrity.CelebrityDoubanVoConverter; 4 | import org.humingk.movie.api.common.converter.celebrity.CelebrityImdbVoConverter; 5 | import org.humingk.movie.api.common.vo.CelebrityVo; 6 | import org.humingk.movie.dal.entity.CelebrityDouban; 7 | import org.humingk.movie.dal.entity.CelebrityImdb; 8 | import org.mapstruct.Mapper; 9 | import org.mapstruct.Mapping; 10 | import org.mapstruct.Mappings; 11 | 12 | /** @author humingk */ 13 | @Mapper( 14 | componentModel = "spring", 15 | uses = {CelebrityDoubanVoConverter.class, CelebrityImdbVoConverter.class}) 16 | public interface CelebrityVoConverter { 17 | @Mappings({ 18 | @Mapping(target = "douban", source = "celebrityDouban"), 19 | @Mapping(target = "imdb", source = "celebrityImdb") 20 | }) 21 | CelebrityVo to(CelebrityDouban celebrityDouban, CelebrityImdb celebrityImdb); 22 | } 23 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/MessageVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter; 2 | 3 | import org.humingk.movie.api.common.util.ConverterUtil; 4 | import org.humingk.movie.api.common.vo.MessageVo; 5 | import org.humingk.movie.common.util.BaseConverter; 6 | import org.humingk.movie.dal.entity.Message; 7 | import org.mapstruct.Mapper; 8 | import org.mapstruct.Mapping; 9 | import org.mapstruct.Mappings; 10 | 11 | /** @author humingk */ 12 | @Mapper( 13 | componentModel = "spring", 14 | uses = {ConverterUtil.class}) 15 | public interface MessageVoConverter extends BaseConverter { 16 | @Override 17 | @Mappings({ 18 | @Mapping( 19 | target = "ip", 20 | source = "ip", 21 | qualifiedByName = {"util", "ip"}), 22 | @Mapping( 23 | target = "createTime", 24 | source = "createTime", 25 | qualifiedByName = {"util", "unixTimestamp2"}), 26 | }) 27 | MessageVo to(Message message); 28 | } 29 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/MovieVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter; 2 | 3 | import org.humingk.movie.api.common.converter.movie.MovieDoubanVoConverter; 4 | import org.humingk.movie.api.common.converter.movie.MovieImdbVoConverter; 5 | import org.humingk.movie.api.common.vo.MovieVo; 6 | import org.humingk.movie.dal.entity.MovieDouban; 7 | import org.humingk.movie.dal.entity.MovieImdb; 8 | import org.mapstruct.Mapper; 9 | import org.mapstruct.Mapping; 10 | import org.mapstruct.Mappings; 11 | 12 | /** @author humingk */ 13 | @Mapper( 14 | componentModel = "spring", 15 | uses = {MovieDoubanVoConverter.class, MovieImdbVoConverter.class}) 16 | public interface MovieVoConverter { 17 | @Mappings({ 18 | @Mapping(target = "douban", source = "movieDouban"), 19 | @Mapping(target = "imdb", source = "movieImdb") 20 | }) 21 | MovieVo to(MovieDouban movieDouban, MovieImdb movieImdb); 22 | } 23 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/ZhihuVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter; 2 | 3 | import org.humingk.movie.api.common.converter.zhihu.MovieZhihuVoConverter; 4 | import org.humingk.movie.api.common.converter.zhihu.QuestionZhihuVoConverter; 5 | import org.humingk.movie.api.common.vo.ZhihuVo; 6 | import org.humingk.movie.common.util.BaseConverter; 7 | import org.humingk.movie.service.zhihu.dto.ZhihuDto; 8 | import org.mapstruct.Mapper; 9 | import org.mapstruct.Mapping; 10 | import org.mapstruct.Mappings; 11 | 12 | /** @author humingk */ 13 | @Mapper( 14 | componentModel = "spring", 15 | uses = {MovieZhihuVoConverter.class, QuestionZhihuVoConverter.class}) 16 | public interface ZhihuVoConverter extends BaseConverter { 17 | @Override 18 | @Mappings({ 19 | @Mapping(target = "topic", source = "movieZhihu"), 20 | @Mapping(target = "questionList", source = "questionZhihuList") 21 | }) 22 | ZhihuVo to(ZhihuDto zhihuDto); 23 | } 24 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/celebrity/CelebrityImdbVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.celebrity; 2 | 3 | import org.humingk.movie.api.common.util.ConverterUtil; 4 | import org.humingk.movie.api.common.vo.celebrity.CelebrityImdbVo; 5 | import org.humingk.movie.common.util.BaseConverter; 6 | import org.humingk.movie.dal.entity.CelebrityImdb; 7 | import org.mapstruct.Mapper; 8 | import org.mapstruct.Mapping; 9 | import org.mapstruct.Mappings; 10 | 11 | /** @author humingk */ 12 | @Mapper(componentModel = "spring", uses = ConverterUtil.class) 13 | public interface CelebrityImdbVoConverter extends BaseConverter { 14 | @Override 15 | @Mappings({ 16 | @Mapping( 17 | target = "id", 18 | source = "id", 19 | qualifiedByName = {"util", "idCelebrityImdb"}) 20 | }) 21 | CelebrityImdbVo to(CelebrityImdb celebrityImdb); 22 | } 23 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/celebrity/details/AliasCelebrityDoubanVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.celebrity.details; 2 | 3 | import org.humingk.movie.api.common.vo.celebrity.details.AliasCelebrityDoubanVo; 4 | import org.humingk.movie.common.util.BaseConverter; 5 | import org.humingk.movie.dal.entity.AliasCelebrityDouban; 6 | import org.mapstruct.Mapper; 7 | 8 | /** @author humingk */ 9 | @Mapper(componentModel = "spring") 10 | public interface AliasCelebrityDoubanVoConverter 11 | extends BaseConverter {} 12 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/movie/details/TrailerMovieDoubanVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.movie.details; 2 | 3 | import org.humingk.movie.api.common.vo.movie.details.TrailerMovieDoubanVo; 4 | import org.humingk.movie.common.util.BaseConverter; 5 | import org.humingk.movie.dal.entity.TrailerMovieDouban; 6 | import org.mapstruct.Mapper; 7 | import org.mapstruct.Mapping; 8 | import org.mapstruct.Mappings; 9 | 10 | import javax.validation.constraints.NotNull; 11 | 12 | /** @author humingk */ 13 | @Mapper(componentModel = "spring") 14 | public interface TrailerMovieDoubanVoConverter 15 | extends BaseConverter { 16 | 17 | @Override 18 | @Mappings({ 19 | @Mapping( 20 | target = "urlTrailer", 21 | expression = "java(\"https://movie.douban.com/trailer/\"+trailerMovieDouban.getId())") 22 | }) 23 | TrailerMovieDoubanVo to(@NotNull TrailerMovieDouban trailerMovieDouban); 24 | } 25 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/movie/rate/RateMovieDoubanVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.movie.rate; 2 | 3 | import org.humingk.movie.api.common.vo.movie.rate.RateMovieDoubanVo; 4 | import org.humingk.movie.common.util.BaseConverter; 5 | import org.humingk.movie.dal.entity.RateMovieDouban; 6 | import org.mapstruct.Mapper; 7 | import org.mapstruct.Mapping; 8 | import org.mapstruct.Mappings; 9 | 10 | /** @author humingk */ 11 | @Mapper(componentModel = "spring") 12 | public interface RateMovieDoubanVoConverter 13 | extends BaseConverter { 14 | @Mappings({@Mapping(target = "rateColor", constant = "214,133,9")}) 15 | @Override 16 | RateMovieDoubanVo to(RateMovieDouban rateMovieDouban); 17 | } 18 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/scene/ImagePlaceSceneVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.scene; 2 | 3 | import org.humingk.movie.api.common.util.ConverterUtil; 4 | import org.humingk.movie.api.common.vo.scene.ImagePlaceSceneVo; 5 | import org.humingk.movie.common.util.BaseConverter; 6 | import org.humingk.movie.dal.entity.ImagePlaceScene; 7 | import org.mapstruct.Mapper; 8 | import org.mapstruct.Mapping; 9 | import org.mapstruct.Mappings; 10 | 11 | /** @author humingk */ 12 | @Mapper( 13 | componentModel = "spring", 14 | uses = {ConverterUtil.class}) 15 | public interface ImagePlaceSceneVoConverter 16 | extends BaseConverter { 17 | @Override 18 | @Mappings({ 19 | @Mapping( 20 | target = "urlImage", 21 | source = "urlImage", 22 | qualifiedByName = {"util", "urlImage"}) 23 | }) 24 | ImagePlaceSceneVo to(ImagePlaceScene imagePlaceScene); 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/scene/SceneVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.scene; 2 | 3 | import org.humingk.movie.api.common.util.ConverterUtil; 4 | import org.humingk.movie.api.common.vo.scene.SceneVo; 5 | import org.humingk.movie.common.util.BaseConverter; 6 | import org.humingk.movie.dal.entity.Scene; 7 | import org.mapstruct.Mapper; 8 | import org.mapstruct.Mapping; 9 | 10 | /** @author humingk */ 11 | @Mapper( 12 | componentModel = "spring", 13 | uses = {ConverterUtil.class}) 14 | public interface SceneVoConverter extends BaseConverter { 15 | @Override 16 | @Mapping( 17 | target = "urlMovieScene", 18 | source = "idMovieScene", 19 | qualifiedByName = {"util", "urlMovieScene"}) 20 | SceneVo to(Scene scene); 21 | } 22 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/scene/all/ImageSceneDetailVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.scene.all; 2 | 3 | import org.humingk.movie.api.common.util.ConverterUtil; 4 | import org.humingk.movie.api.common.vo.scene.ImageSceneDetailVo; 5 | import org.humingk.movie.common.util.BaseConverter; 6 | import org.humingk.movie.dal.entity.ImageSceneDetail; 7 | import org.mapstruct.Mapper; 8 | import org.mapstruct.Mapping; 9 | import org.mapstruct.Mappings; 10 | 11 | /** @author humingk */ 12 | @Mapper( 13 | componentModel = "spring", 14 | uses = {ConverterUtil.class}) 15 | public interface ImageSceneDetailVoConverter 16 | extends BaseConverter { 17 | @Override 18 | @Mappings({ 19 | @Mapping( 20 | target = "urlImage", 21 | source = "urlImage", 22 | qualifiedByName = {"util", "urlImage"}) 23 | }) 24 | ImageSceneDetailVo to(ImageSceneDetail imageSceneDetail); 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/scene/all/SceneDetailVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.scene.all; 2 | 3 | import org.humingk.movie.api.common.vo.scene.SceneDetailVo; 4 | import org.humingk.movie.common.util.BaseConverter; 5 | import org.humingk.movie.dal.entity.SceneDetail; 6 | import org.mapstruct.Mapper; 7 | 8 | /** @author humingk */ 9 | @Mapper(componentModel = "spring") 10 | public interface SceneDetailVoConverter extends BaseConverter {} 11 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/scene/brief/PlaceSceneBriefVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.scene.brief; 2 | 3 | import org.humingk.movie.api.common.converter.scene.PlaceSceneVoConverter; 4 | import org.humingk.movie.api.common.vo.scene.PlaceSceneBriefVo; 5 | import org.humingk.movie.dal.domain.scene.brief.PlaceSceneBriefDo; 6 | import org.mapstruct.Mapper; 7 | import org.mapstruct.Mapping; 8 | import org.mapstruct.Mappings; 9 | 10 | /** @author humingk */ 11 | @Mapper( 12 | componentModel = "spring", 13 | uses = {PlaceSceneVoConverter.class}) 14 | public interface PlaceSceneBriefVoConverter { 15 | @Mappings({ 16 | @Mapping(target = "base", source = "placeScene"), 17 | }) 18 | PlaceSceneBriefVo to(PlaceSceneBriefDo placeSceneBriefDo); 19 | } 20 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/converter/scene/brief/SceneBriefVoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.converter.scene.brief; 2 | 3 | import org.humingk.movie.api.common.converter.scene.SceneVoConverter; 4 | import org.humingk.movie.api.common.vo.scene.SceneBriefVo; 5 | import org.humingk.movie.common.util.BaseConverter; 6 | import org.humingk.movie.dal.domain.scene.brief.SceneBriefDo; 7 | import org.mapstruct.Mapper; 8 | import org.mapstruct.Mapping; 9 | import org.mapstruct.Mappings; 10 | 11 | /** @author humingk */ 12 | @Mapper( 13 | componentModel = "spring", 14 | uses = {SceneVoConverter.class, PlaceSceneBriefVoConverter.class}) 15 | public interface SceneBriefVoConverter extends BaseConverter { 16 | @Override 17 | @Mappings({ 18 | @Mapping(target = "base", source = "scene"), 19 | @Mapping(target = "place", source = "placeSceneBriefDo") 20 | }) 21 | SceneBriefVo to(SceneBriefDo sceneBriefDo); 22 | } 23 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/CelebrityDetailsVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.CelebrityDoubanDetailsVo; 7 | import org.humingk.movie.api.common.vo.celebrity.CelebrityImdbDetailsVo; 8 | 9 | import java.io.Serializable; 10 | 11 | /** 12 | * 影人详细信息 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class CelebrityDetailsVo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | /** 豆瓣影人详细信息 */ 22 | private CelebrityDoubanDetailsVo douban; 23 | /** IMDB影人详细信息 */ 24 | private CelebrityImdbDetailsVo imdb; 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/CelebrityVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.CelebrityDoubanVo; 7 | import org.humingk.movie.api.common.vo.celebrity.CelebrityImdbVo; 8 | 9 | import java.io.Serializable; 10 | 11 | /** 12 | * 影人基础信息 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class CelebrityVo implements Serializable { 20 | 21 | private static final long serialVersionUID = 1L; 22 | 23 | /** 豆瓣影人基础信息 */ 24 | private CelebrityDoubanVo douban; 25 | 26 | /** IMDB影人基础信息 */ 27 | private CelebrityImdbVo imdb; 28 | } 29 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/MessageResVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.util.List; 9 | 10 | /** 11 | * 留言板 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class MessageResVo implements Serializable { 19 | 20 | /** 留言总数 */ 21 | private Long amount; 22 | 23 | /** 留言列表 */ 24 | private List messageList; 25 | 26 | private static final long serialVersionUID = 1L; 27 | } 28 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/MessageVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 留言板 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class MessageVo implements Serializable { 18 | /** 留言ID */ 19 | private String id; 20 | 21 | /** 用户ID */ 22 | private String idUser; 23 | 24 | /** 用户昵称 */ 25 | private String nickname; 26 | 27 | /** IP地址 */ 28 | private String ip; 29 | 30 | /** 留言内容 */ 31 | private String content; 32 | 33 | /** 留言时间 */ 34 | private String createTime; 35 | 36 | /** 赞同数 */ 37 | private Integer agree; 38 | 39 | private static final long serialVersionUID = 1L; 40 | } 41 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/MovieDetailsVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.movie.MovieDoubanDetailsVo; 7 | import org.humingk.movie.api.common.vo.movie.MovieImdbDetailsVo; 8 | 9 | import java.io.Serializable; 10 | 11 | /** 12 | * 电影详细信息 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class MovieDetailsVo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | /** 豆瓣电影详细信息 */ 22 | private MovieDoubanDetailsVo douban; 23 | /** IMDB电影详细信息 */ 24 | private MovieImdbDetailsVo imdb; 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/MovieSceneAllVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.scene.MovieSceneVo; 7 | import org.humingk.movie.api.common.vo.scene.SceneAllVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 场景详细信息 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | public class MovieSceneAllVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 场景电影基础信息 */ 23 | private MovieSceneVo base; 24 | /** 场景详细信息列表 */ 25 | private List sceneList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/MovieSceneBriefVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.scene.MovieSceneVo; 7 | import org.humingk.movie.api.common.vo.scene.SceneBriefVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 场景简略信息 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | public class MovieSceneBriefVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 场景电影基础信息 */ 23 | private MovieSceneVo base; 24 | /** 场景地点简略信息 */ 25 | private List sceneList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/MovieVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.movie.MovieDoubanVo; 7 | import org.humingk.movie.api.common.vo.movie.MovieImdbVo; 8 | 9 | import java.io.Serializable; 10 | 11 | /** 12 | * 电影基础信息 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class MovieVo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | 22 | /** 豆瓣电影基础信息 */ 23 | private MovieDoubanVo douban; 24 | 25 | /** IMDB电影基础信息 */ 26 | private MovieImdbVo imdb; 27 | } 28 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/SearchResultDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.SearchResultCelebrityDoubanVo; 7 | import org.humingk.movie.api.common.vo.movie.SearchResultMovieDoubanVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 豆瓣搜索结果 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class SearchResultDoubanVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 豆瓣电影搜索结果列表 */ 23 | private List movieList; 24 | /** 豆瓣影人搜索结果列表 */ 25 | private List celebrityList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/SearchTipsDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.SearchTipsCelebrityDoubanVo; 7 | import org.humingk.movie.api.common.vo.movie.SearchTipsMovieDoubanVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 豆瓣搜索提示 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class SearchTipsDoubanVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 豆瓣电影搜索提示列表 */ 23 | private List movieList; 24 | /** 豆瓣影人搜索提示列表 */ 25 | private List celebrityList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/ZhihuVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.zhihu.MovieZhihuVo; 7 | import org.humingk.movie.api.common.vo.zhihu.QuestionZhihuVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 知乎相关 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class ZhihuVo implements Serializable { 21 | /** 知乎话题 */ 22 | private MovieZhihuVo topic; 23 | /** 知乎问题列表 */ 24 | private List questionList; 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/celebrity/CelebrityImdbDetailsVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.celebrity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.details.MovieImdbOfCelebrityImdbVo; 7 | 8 | import java.io.Serializable; 9 | import java.util.List; 10 | 11 | /** 12 | * IMDB影人详细信息 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class CelebrityImdbDetailsVo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | /** IMDB影人基础信息 */ 22 | private CelebrityImdbVo base; 23 | /** 与IMDB影人相关的IMDB电影 */ 24 | private List movieList; 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/celebrity/CelebrityImdbVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.celebrity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * IMDB影人基础信息 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class CelebrityImdbVo implements Serializable { 18 | private static final long serialVersionUID = 1L; 19 | /** IMDB影人ID */ 20 | private String id; 21 | 22 | /** IMDB影人英文名 */ 23 | private String nameEn; 24 | 25 | /** 出生年份 /year */ 26 | private Short birthYear; 27 | 28 | /** 豆瓣影人ID 0-未匹配 1-已匹配 */ 29 | private Long idCelebrityDouban; 30 | } 31 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/celebrity/SearchResultCelebrityDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.celebrity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.details.AliasCelebrityDoubanVo; 7 | import org.humingk.movie.api.common.vo.celebrity.details.MovieDoubanOfCelebrityDoubanVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 豆瓣影人搜索结果 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class SearchResultCelebrityDoubanVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 豆瓣影人基础信息 */ 23 | private CelebrityDoubanVo base; 24 | /** 豆瓣影人别称列表 */ 25 | private List aliasList; 26 | /** 与豆瓣影人相关的豆瓣电影列表 */ 27 | private List movieList; 28 | } 29 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/celebrity/SearchTipsCelebrityDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.celebrity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.celebrity.details.AliasCelebrityDoubanVo; 7 | 8 | import java.io.Serializable; 9 | import java.util.List; 10 | 11 | /** 12 | * 豆瓣影人搜索提示 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class SearchTipsCelebrityDoubanVo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | /** 豆瓣影人基础信息 */ 22 | private CelebrityDoubanVo base; 23 | /** 豆瓣影人别称列表 */ 24 | private List aliasList; 25 | } 26 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/celebrity/details/AliasCelebrityDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.celebrity.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣影人别称 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class AliasCelebrityDoubanVo implements Serializable { 18 | /** 豆瓣影人别称 */ 19 | private String nameAlias; 20 | 21 | /** 是否为昵称 0-本名 1-昵称 */ 22 | private Byte isNikename; 23 | } 24 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/celebrity/details/CelebrityDoubanToClassicDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.celebrity.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣电影经典台词-影人 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class CelebrityDoubanToClassicDoubanVo implements Serializable { 18 | /** 豆瓣影人ID */ 19 | private Long idCelebrityDouban; 20 | 21 | /** 豆瓣影人链接 */ 22 | private String urlCelebrityDouban; 23 | 24 | /** 豆瓣电影经典台词ID */ 25 | private String idClassicDouban; 26 | 27 | /** 豆瓣影人中文名 */ 28 | private String nameZhCelebrityDouban; 29 | 30 | private static final long serialVersionUID = 1L; 31 | } 32 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/MovieImdbDetailsVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.movie.details.CelebrityImdbOfMovieImdbVo; 7 | import org.humingk.movie.api.common.vo.movie.rate.RateMovieImdbVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * IMDB电影详细信息 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class MovieImdbDetailsVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** IMDB电影基础信息 */ 23 | private MovieImdbVo base; 24 | /** IMDB电影评分 */ 25 | private RateMovieImdbVo rate; 26 | /** IMDB电影类型列表 */ 27 | private List typeList; 28 | /** IMDB电影影人列表 */ 29 | private List celebrityList; 30 | } 31 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/SearchResultMovieDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.movie.details.CelebrityDoubanOfMovieDoubanVo; 7 | import org.humingk.movie.api.common.vo.movie.rate.RateMovieDoubanVo; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 豆瓣电影搜索结果 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class SearchResultMovieDoubanVo implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 豆瓣电影基础信息 */ 23 | private MovieDoubanVo base; 24 | /** 豆瓣电影评分信息 */ 25 | private RateMovieDoubanVo rate; 26 | /** 豆瓣电影别名列表 */ 27 | private List aliasList; 28 | /** 豆瓣电影-类型列表 */ 29 | private List typeList; 30 | /** 豆瓣电影影人列表 */ 31 | private List celebrityList; 32 | } 33 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/SearchTipsMovieDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.api.common.vo.movie.rate.RateMovieDoubanVo; 7 | 8 | import java.io.Serializable; 9 | import java.util.List; 10 | 11 | /** 12 | * 豆瓣电影搜索提示 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | public class SearchTipsMovieDoubanVo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | /** 豆瓣电影基础信息 */ 22 | private MovieDoubanVo base; 23 | /** 豆瓣电影评分信息 */ 24 | private RateMovieDoubanVo rate; 25 | /** 豆瓣电影别名列表 */ 26 | private List aliasList; 27 | } 28 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/CelebrityImdbOfMovieImdbVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.util.List; 9 | 10 | /** 11 | * 与IMDB电影相关的IMDB影人 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class CelebrityImdbOfMovieImdbVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** IMDB影人ID */ 21 | private String idCelebrityImdb; 22 | 23 | /** IMDB影人链接 */ 24 | private String urlCelebrityImdb; 25 | 26 | /** 豆瓣影人ID 0-未匹配 1-已匹配 */ 27 | private Long idCelebrityDouban; 28 | /** 豆瓣电影链接 */ 29 | private String urlCelebrityDouban; 30 | 31 | /** IMDB影人英文名 */ 32 | private String nameEn; 33 | 34 | /** 出生年份 /year */ 35 | private Short birthYear; 36 | 37 | /** 该影人与该电影的关系列表 */ 38 | private List relationList; 39 | } 40 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/CommentOfMovieDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣电影短评 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class CommentOfMovieDoubanVo implements Serializable { 18 | private static final long serialVersionUID = 1L; 19 | /** 豆瓣电影ID */ 20 | private Long idMovieDouban; 21 | 22 | /** 豆瓣用户ID */ 23 | private String idUserDouban; 24 | 25 | /** 豆瓣用户昵称 */ 26 | private String nameUserDouban; 27 | 28 | /** 豆瓣用户链接 */ 29 | private String urlUserDouban; 30 | 31 | /** 投票数 */ 32 | private Long agreeVote; 33 | 34 | /** 短评日期 */ 35 | private String createDate; 36 | 37 | /** 短评内容 */ 38 | private String content; 39 | } 40 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/MovieDoubanToCelebrityDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣电影-影人 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class MovieDoubanToCelebrityDoubanVo implements Serializable { 18 | /** 豆瓣电影ID */ 19 | private Long idMovieDouban; 20 | 21 | /** 豆瓣影人ID */ 22 | private Long idCelebrityDouban; 23 | 24 | /** 该影人在该电影中的职位ID */ 25 | private Byte idProfession; 26 | 27 | /** 该影人在该电影中的职位 */ 28 | private String profession; 29 | 30 | /** 该影人在该电影中的演员排列顺序 */ 31 | private Short sort; 32 | } 33 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/MovieImdbToCelebrityImdbVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * IMDB电影-影人 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class MovieImdbToCelebrityImdbVo implements Serializable { 18 | /** IMDB电影ID */ 19 | private Long idMovieImdb; 20 | 21 | /** IMDB影人ID */ 22 | private Long idCelebrityImdb; 23 | 24 | /** 该影人在该电影中的职位ID */ 25 | private Byte idProfession; 26 | 27 | /** 该影人在该电影中的职位 */ 28 | private String profession; 29 | } 30 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/ReviewOfMovieDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** @author humingk */ 10 | @Data 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | public class ReviewOfMovieDoubanVo implements Serializable { 14 | private static final long serialVersionUID = 1L; 15 | /** 豆瓣电影影评ID */ 16 | private Long id; 17 | /** 豆瓣用户ID */ 18 | private String idUserDouban; 19 | /** 豆瓣用户昵称 */ 20 | private String nameUserDouban; 21 | /** 豆瓣用户链接 */ 22 | private String urlUserDouban; 23 | /** 影评链接 */ 24 | private String urlReview; 25 | 26 | /** 赞同数 */ 27 | private Integer agreeVote; 28 | 29 | /** 反对数 */ 30 | private Integer againstVote; 31 | 32 | /** 影评日期 */ 33 | private String createDatetime; 34 | 35 | /** 影评标题 */ 36 | private String title; 37 | 38 | /** 影评内容 */ 39 | private String content; 40 | } 41 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/TrailerMovieDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣电影预告片 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class TrailerMovieDoubanVo implements Serializable { 18 | private static final long serialVersionUID = 1L; 19 | /** 豆瓣电影预告片ID */ 20 | private Long id; 21 | 22 | /** 豆瓣电影ID */ 23 | private Long idMovieDouban; 24 | 25 | /** 预告片豆瓣链接 */ 26 | private String urlTrailer; 27 | 28 | /** 预告片mp4链接 */ 29 | private String urlVideo; 30 | } 31 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/details/UserDoubanToClassicDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.details; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣电影经典台词-豆瓣用户 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class UserDoubanToClassicDoubanVo implements Serializable { 18 | /** 豆瓣用户ID 0-未登录用户 */ 19 | private String idUserDouban; 20 | 21 | /** 豆瓣用户链接 */ 22 | private String urlUserDouban; 23 | 24 | /** 豆瓣电影经典台词ID */ 25 | private String idClassicDouban; 26 | 27 | /** 用户中文名 */ 28 | private String nameZhUserDouban; 29 | 30 | /** 豆瓣用户收录日期时间 */ 31 | private String recordDatetime; 32 | 33 | /** 豆瓣用户评价 */ 34 | private String description; 35 | 36 | private static final long serialVersionUID = 1L; 37 | } 38 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/rate/RateMovieDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.rate; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.math.BigDecimal; 9 | 10 | /** 11 | * 豆瓣电影评分 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class RateMovieDoubanVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 豆瓣电影ID */ 21 | private Long id; 22 | /** 豆瓣电影评分 */ 23 | private BigDecimal score; 24 | /** 豆瓣电影评分人数 */ 25 | private Integer vote; 26 | /** 评分主题色 */ 27 | private String rateColor; 28 | /** 豆瓣5星比例 */ 29 | private BigDecimal score5; 30 | /** 豆瓣4星比例 */ 31 | private BigDecimal score4; 32 | /** 豆瓣3星比例 */ 33 | private BigDecimal score3; 34 | /** 豆瓣2星比例 */ 35 | private BigDecimal score2; 36 | /** 豆瓣1星比例 */ 37 | private BigDecimal score1; 38 | } 39 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/movie/rate/RateMovieImdbVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.movie.rate; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.math.BigDecimal; 9 | 10 | /** 11 | * IMDB电影评分,包括MTC、烂番茄新鲜度 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class RateMovieImdbVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** IMDB电影ID */ 21 | private String idMovieImdb; 22 | 23 | /** IMDB评分 */ 24 | private BigDecimal imdbScore; 25 | 26 | /** IMDB评分主题色 */ 27 | private String imdbColor; 28 | 29 | /** IMDB评分人数 */ 30 | private Integer imdbVote; 31 | 32 | /** 烂番茄新鲜度 */ 33 | private BigDecimal tomatoScore; 34 | 35 | /** 烂番茄新鲜度主题色 */ 36 | private String tomatoColor; 37 | 38 | /** MTC评分 */ 39 | private BigDecimal mtcScore; 40 | 41 | /** MTC评分主题色 */ 42 | private String mtcColor; 43 | } 44 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/CelebritySceneOfSceneDetailVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景详情的相关场景影人 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class CelebritySceneOfSceneDetailVo implements Serializable { 18 | 19 | /** 场景影人ID */ 20 | private Long id; 21 | 22 | /** 豆瓣影人ID 0-未匹配 1-已匹配 */ 23 | private Long idCelebrityDouban; 24 | 25 | /** 豆瓣影人链接 */ 26 | private String urlCelebrityDouban; 27 | /** 场景影人中文名 */ 28 | private String nameZh; 29 | 30 | /** 场景影人英文名 */ 31 | private String nameEn; 32 | 33 | /** 对应的场景详情ID */ 34 | private Long idSceneDetail; 35 | 36 | private static final long serialVersionUID = 1L; 37 | } 38 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/ImagePlaceSceneVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景地点图片 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class ImagePlaceSceneVo implements Serializable { 18 | /** 场景地点图片ID */ 19 | private Long id; 20 | 21 | /** 场景地点ID */ 22 | private Long idPlaceScene; 23 | 24 | /** 图片链接 */ 25 | private String urlImage; 26 | 27 | /** 图片描述 */ 28 | private String description; 29 | 30 | private static final long serialVersionUID = 1L; 31 | } 32 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/ImageSceneDetailVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景详情剧照 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class ImageSceneDetailVo implements Serializable { 18 | /** 场景详情剧照ID */ 19 | private Long id; 20 | 21 | /** 场景详情ID */ 22 | private Long idSceneDetail; 23 | 24 | /** 图片链接 */ 25 | private String urlImage; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } 29 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/MovieSceneVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景电影 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class MovieSceneVo implements Serializable { 18 | /** 场景电影ID */ 19 | private Long id; 20 | 21 | /** 场景电影链接 */ 22 | private String urlMovieScene; 23 | 24 | /** 豆瓣电影ID 0-未匹配 1-已匹配 */ 25 | private Long idMovieDouban; 26 | 27 | /** 豆瓣电影链接 */ 28 | protected String urlMovieDouban; 29 | 30 | /** 场景电影中文名 */ 31 | private String nameZh; 32 | 33 | /** 场景电影英文名 */ 34 | private String nameEn; 35 | 36 | /** 上映时间 /year */ 37 | private Short startYear; 38 | 39 | /** 场景电影拍摄地点大致描述 */ 40 | private String description; 41 | 42 | /** 场景电影地点分布图链接 */ 43 | private String urlMap; 44 | 45 | private static final long serialVersionUID = 1L; 46 | } 47 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/PlaceSceneAllVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.util.List; 9 | 10 | /** 11 | * 场景地点详细信息 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class PlaceSceneAllVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 场景地点基础信息 */ 21 | private PlaceSceneVo base; 22 | /** 场景地点图片列表 */ 23 | private List imageList; 24 | /** 场景地点-类型列表 */ 25 | private List typeList; 26 | /** 场景地点 洲 */ 27 | private String continent; 28 | /** 场景地点 国家 */ 29 | private String country; 30 | /** 场景地点 城市 */ 31 | private String city; 32 | /** 场景地点 州/省 */ 33 | private String state; 34 | } 35 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/PlaceSceneBriefVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景地点简略信息 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class PlaceSceneBriefVo implements Serializable { 18 | private static final long serialVersionUID = 1L; 19 | /** 场景地点基础信息 */ 20 | private PlaceSceneVo base; 21 | } 22 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/SceneAllVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.util.List; 9 | 10 | /** 11 | * 场景详细信息 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class SceneAllVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 场景基础信息 */ 21 | private SceneVo base; 22 | /** 场景详情详细信息列表 */ 23 | private List sceneDetailList; 24 | /** 场景地点详细信息 */ 25 | private PlaceSceneAllVo place; 26 | } 27 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/SceneBriefVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.Scene; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | * 场景简略信息 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class SceneBriefVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 场景基础信息 */ 21 | private Scene base; 22 | /** 场景地点简略信息 */ 23 | private PlaceSceneBriefVo place; 24 | } 25 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/SceneDetailAllVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.util.List; 9 | 10 | /** 11 | * 场景详情的详细信息 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class SceneDetailAllVo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 场景详情基础信息 */ 21 | private SceneDetailVo base; 22 | /** 场景详情图片列表 */ 23 | private List imageList; 24 | /** 场景详情的相关场景影人列表 */ 25 | private List celebrityList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/SceneDetailVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景详情 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class SceneDetailVo implements Serializable { 18 | /** 场景详情ID */ 19 | private Long id; 20 | 21 | /** 场景ID */ 22 | private Long idScene; 23 | 24 | /** 场景电影ID */ 25 | private Long idMovieScene; 26 | 27 | /** 场景发生在电影中的时间 /s */ 28 | private Integer happenTime; 29 | 30 | /** 场景描述 */ 31 | private String description; 32 | 33 | private static final long serialVersionUID = 1L; 34 | } 35 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/scene/SceneVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.scene; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 场景 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class SceneVo implements Serializable { 18 | /** 场景ID */ 19 | private Long id; 20 | 21 | /** 场景电影ID */ 22 | private Long idMovieScene; 23 | 24 | /** 场景电影链接 */ 25 | private String urlMovieScene; 26 | 27 | /** 地点ID */ 28 | private Long idPlaceScene; 29 | 30 | /** 场景中文名 */ 31 | private String nameZh; 32 | 33 | /** 场景发生在电影中的时间 /s */ 34 | private Integer happenTime; 35 | 36 | private static final long serialVersionUID = 1L; 37 | } 38 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/share/ImageDoubanVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.share; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣图片 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class ImageDoubanVo implements Serializable { 18 | private static final long serialVersionUID = 1L; 19 | /** 豆瓣图片ID */ 20 | private Long id; 21 | 22 | /** 豆瓣图片链接 sqxs */ 23 | private String urlImageSqxs; 24 | /** 豆瓣图片链接 s */ 25 | private String urlImageS; 26 | /** 豆瓣图片链接 m */ 27 | private String urlImageM; 28 | /** 豆瓣图片链接 L */ 29 | private String urlImageL; 30 | 31 | /** 序号 */ 32 | private Byte sort; 33 | 34 | /** Large版本的长 /px */ 35 | private Integer length; 36 | 37 | /** Large版本的宽 /px */ 38 | private Integer width; 39 | } 40 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/common/vo/zhihu/QuestionZhihuVo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.common.vo.zhihu; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 知乎问题 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class QuestionZhihuVo implements Serializable { 18 | /** 知乎问题ID */ 19 | private Long id; 20 | 21 | /** 知乎问题链接 */ 22 | private String urlZhihuQuestion; 23 | 24 | /** 豆瓣电影ID */ 25 | private Long idMovieDouban; 26 | 27 | /** 豆瓣电影链接 */ 28 | private String urlMovieDouban; 29 | 30 | /** 知乎问题中文名 */ 31 | private String nameZh; 32 | 33 | /** 回答数 0-默认 1-文章 */ 34 | private Integer answerNum; 35 | 36 | private static final long serialVersionUID = 1L; 37 | } 38 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/music/NeteaseApi.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.music; 2 | 3 | import org.springframework.cloud.openfeign.FeignClient; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | /** 7 | * 音乐 8 | * 9 | * @author humingk 10 | */ 11 | @Validated 12 | @FeignClient("movie-server-music") 13 | public interface NeteaseApi {} 14 | -------------------------------------------------------------------------------- /movie-api/src/main/java/org/humingk/movie/api/search/SearchApi.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api.search; 2 | 3 | import org.springframework.cloud.openfeign.FeignClient; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | /** 7 | * 电影集合搜索 8 | * 9 | * @author humingk 10 | */ 11 | @Validated 12 | @FeignClient(value = "movie-server-search") 13 | public interface SearchApi {} 14 | -------------------------------------------------------------------------------- /movie-api/src/test/java/org/humingk/movie/api/MovieApiApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.api; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieApiApplicationTests { 8 | @Test 9 | public void contextLoads() {} 10 | } 11 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/MovieCommonApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** @author humingk */ 7 | @SpringBootApplication 8 | public class MovieCommonApplication { 9 | 10 | public static void main(String[] args) { 11 | SpringApplication.run(MovieCommonApplication.class, args); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/annotation/AesDecrypt.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.annotation; 2 | 3 | import org.springframework.web.bind.annotation.Mapping; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 自定义AES解密注解 9 | * 10 | *

作用位置: 类 方法 11 | * 12 | *

作用时间: 运行时 13 | * 14 | * @author humingk 15 | */ 16 | @Target({ElementType.TYPE, ElementType.METHOD}) 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Documented 19 | @Mapping 20 | public @interface AesDecrypt {} 21 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/annotation/LogRecord.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.annotation; 2 | 3 | import org.springframework.web.bind.annotation.Mapping; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 自定义日志记录注解 9 | * 10 | *

作用位置: 类 方法 11 | * 12 | *

作用时间: 运行时 13 | * 14 | * @author humingk 15 | */ 16 | @Target({ElementType.TYPE, ElementType.METHOD}) 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Documented 19 | @Mapping 20 | public @interface LogRecord {} 21 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/annotation/RedisCache.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.annotation; 2 | 3 | import org.springframework.cache.annotation.Cacheable; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * 自定义Redis缓存注解 12 | * 13 | *

作用位置: 类 方法 14 | * 15 | *

作用时间: 运行时 16 | * 17 | * @author humingk 18 | */ 19 | @Target({ElementType.TYPE, ElementType.METHOD}) 20 | @Retention(RetentionPolicy.RUNTIME) 21 | @Cacheable(value = "douban_movie_plus") 22 | public @interface RedisCache {} 23 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/enumeration/CodeAndMsg.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.enumeration; 2 | 3 | import lombok.AllArgsConstructor; 4 | 5 | /** 6 | * 返回结果的状态码和信息 7 | * 8 | * @author humingk 9 | */ 10 | @AllArgsConstructor 11 | public enum CodeAndMsg { 12 | /** status < 1000 :常见已知错误信息 */ 13 | SUCCESS(200, "成功"), 14 | BADREQUEST(400, "客户端错误"), 15 | UNAUTHORIZED(401, "认证失败"), 16 | FORBIDDEN(403, "服务器拒绝提供服务"), 17 | NOTFOUND(404, "找不到此资源"), 18 | ERROR(500, "服务器内部处理错误"), 19 | /** status > 1000 :自定义错误信息 */ 20 | PARAMTER(1001, "请求参数错误"), 21 | NOUSER(1002, "无此用户"), 22 | NOROLE(1003, "此用户无权限"), 23 | EMAIL_EXIST(1004, "此邮箱已被注册"), 24 | USER_ID_EXIST(1005, "此豆瓣ID已被注册"), 25 | NO_RESOURCE(1006, "该电影暂无相关资源"), 26 | IO_BAD(1007, "IO异常"); 27 | 28 | /** 状态码 */ 29 | public final int code; 30 | /** 状态信息 */ 31 | public final String msg; 32 | 33 | public int getCode() { 34 | return code; 35 | } 36 | 37 | public String getMsg() { 38 | return msg; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/enumeration/Roles.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.enumeration; 2 | 3 | import lombok.AllArgsConstructor; 4 | 5 | /** 6 | * 用户角色 7 | * 8 | * @author humingk 9 | */ 10 | @AllArgsConstructor 11 | public enum Roles { 12 | /** 管理员角色 */ 13 | ROOT(1, "ROLE_ROOT"), 14 | /** 普通用户角色 */ 15 | USER(2, "ROLE_USER"); 16 | 17 | /** 角色ID */ 18 | public int id; 19 | /** 角色名称 */ 20 | public String name; 21 | } 22 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/exception/MyOauth2Exception.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.exception; 2 | 3 | import com.fasterxml.jackson.databind.annotation.JsonSerialize; 4 | import org.humingk.movie.common.exception.serializer.MyOauth2ExceptionSerializer; 5 | import org.springframework.security.oauth2.common.exceptions.OAuth2Exception; 6 | 7 | /** 8 | * 自定义Oauth2认证服务器异常,处理/oauth/token路径 9 | * 10 | *

JsonSerialize: 指定Json序列化方式 11 | * 12 | * @author humingk 13 | */ 14 | @JsonSerialize(using = MyOauth2ExceptionSerializer.class) 15 | public class MyOauth2Exception extends OAuth2Exception { 16 | 17 | public MyOauth2Exception(String msg) { 18 | super(msg); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/util/Base2Converter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.util; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Pojo转换基础接口2 7 | * 8 | * @param 目标Pojo 9 | * @param 原始Pojo1 10 | * @param 原始Pojo2 11 | * @author humingk 12 | */ 13 | public interface Base2Converter { 14 | T to(S1 s1, S2 s2); 15 | 16 | List toList(List s1List, List s2List); 17 | } 18 | -------------------------------------------------------------------------------- /movie-common/src/main/java/org/humingk/movie/common/util/BaseConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common.util; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Pojo转换基础接口 7 | * 8 | * @param 目标Pojo 9 | * @param 原始Pojo 10 | * @author humingk 11 | */ 12 | public interface BaseConverter { 13 | T to(S s); 14 | 15 | S from(T t); 16 | 17 | List toList(List sList); 18 | 19 | List fromList(List tList); 20 | } 21 | -------------------------------------------------------------------------------- /movie-common/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8001 3 | spring: 4 | application: 5 | name: movie-common 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: redis,rabbitmq,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | logging: 24 | pattern: 25 | -------------------------------------------------------------------------------- /movie-common/src/test/java/org/humingk/movie/common/MovieCommonApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.common; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieCommonApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/MovieDalApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | /** @author humingk */ 7 | @SpringBootApplication 8 | public class MovieDalApplication { 9 | 10 | public static void main(String[] args) { 11 | SpringApplication.run(MovieDalApplication.class, args); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/config/PreHeatMysqlCommandLineRunner.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.config; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.humingk.movie.dal.mapper.auto.MovieDoubanMapper; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.boot.CommandLineRunner; 7 | import org.springframework.core.Ordered; 8 | import org.springframework.core.annotation.Order; 9 | import org.springframework.stereotype.Component; 10 | 11 | /** 12 | * 启动时预热mysql 13 | * 14 | * @author humingk 15 | */ 16 | @Slf4j 17 | @Order(Ordered.HIGHEST_PRECEDENCE + 64) 18 | @Component 19 | public class PreHeatMysqlCommandLineRunner implements CommandLineRunner { 20 | @Autowired private MovieDoubanMapper movieDoubanMapper; 21 | 22 | @Override 23 | public void run(String... args) throws Exception { 24 | movieDoubanMapper.selectByPrimaryKey(0L); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/douban/CommentOfMovieDoubanDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.douban; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.UserDouban; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | * 豆瓣电影短评 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class CommentOfMovieDoubanDo implements Serializable { 19 | /** 豆瓣电影ID */ 20 | private Long idMovieDouban; 21 | 22 | /** 豆瓣用户ID */ 23 | private String idUserDouban; 24 | 25 | /** 投票数 */ 26 | private Long agreeVote; 27 | 28 | /** 短评日期 /unix */ 29 | private Long createDate; 30 | 31 | /** 短评内容 */ 32 | private String content; 33 | 34 | /** 豆瓣用户 */ 35 | private UserDouban userDouban; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } 39 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/douban/ImageDoubanDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.douban; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 豆瓣图片 11 | * 12 | * @author humingk 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class ImageDoubanDo implements Serializable { 18 | private static final long serialVersionUID = 1L; 19 | /** 豆瓣图片ID */ 20 | private Long id; 21 | /** 序号 */ 22 | private Byte sort; 23 | 24 | /** 长 /px */ 25 | private Integer length; 26 | 27 | /** 宽 /px */ 28 | private Integer width; 29 | } 30 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/douban/ReviewOfMovieDoubanDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.douban; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.UserDouban; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | * 豆瓣电影影评 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class ReviewOfMovieDoubanDo implements Serializable { 19 | /** 豆瓣电影影评ID */ 20 | private Long id; 21 | 22 | /** 赞同数 */ 23 | private Integer agreeVote; 24 | 25 | /** 反对数 */ 26 | private Integer againstVote; 27 | 28 | /** 影评日期时间 /unix */ 29 | private Long createDatetime; 30 | 31 | /** 影评标题 */ 32 | private String title; 33 | 34 | /** 影评内容 */ 35 | private String content; 36 | 37 | /** 豆瓣用户 */ 38 | private UserDouban userDouban; 39 | 40 | private static final long serialVersionUID = 1L; 41 | } 42 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/scene/all/SceneAllDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.scene.all; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.Scene; 7 | 8 | import java.io.Serializable; 9 | import java.util.List; 10 | 11 | /** 12 | * 场景详细信息 13 | * 14 | * @author humingk 15 | */ 16 | @Data 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | public class SceneAllDo implements Serializable { 20 | private static final long serialVersionUID = 1L; 21 | /** 场景基础信息 */ 22 | private Scene scene; 23 | /** 场景详情详细信息列表 */ 24 | private List sceneDetailAllDoList; 25 | /** 场景地点详细信息 */ 26 | private PlaceSceneAllDo placeSceneAllDo; 27 | } 28 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/scene/all/SceneDetailAllDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.scene.all; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.domain.scene.CelebritySceneOfSceneDetailDo; 7 | import org.humingk.movie.dal.entity.ImageSceneDetail; 8 | import org.humingk.movie.dal.entity.SceneDetail; 9 | 10 | import java.io.Serializable; 11 | import java.util.List; 12 | 13 | /** 14 | * 场景详情的详细信息 15 | * 16 | * @author humingk 17 | */ 18 | @Data 19 | @AllArgsConstructor 20 | @NoArgsConstructor 21 | public class SceneDetailAllDo implements Serializable { 22 | private static final long serialVersionUID = 1L; 23 | /** 场景详情基础信息 */ 24 | private SceneDetail sceneDetail; 25 | /** 场景详情图片列表 */ 26 | private List imageSceneDetailList; 27 | /** 场景详情的相关场景影人列表 */ 28 | private List celebritySceneOfSceneDetailDoList; 29 | } 30 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/scene/brief/PlaceSceneBriefDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.scene.brief; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.PlaceScene; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | * 场景地点简略信息 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class PlaceSceneBriefDo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 场景地点基础信息 */ 21 | private PlaceScene placeScene; 22 | } 23 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/domain/scene/brief/SceneBriefDo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.domain.scene.brief; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.Scene; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | * 场景简略信息 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class SceneBriefDo implements Serializable { 19 | private static final long serialVersionUID = 1L; 20 | /** 场景基础信息 */ 21 | private Scene scene; 22 | /** 场景地点简略信息 */ 23 | private PlaceSceneBriefDo placeSceneBriefDo; 24 | } 25 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/AlbumNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐专辑 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class AlbumNetease implements Serializable { 17 | /** 18 | * 网易云音乐专辑ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 专辑中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 专辑歌曲总数 29 | */ 30 | private Short total; 31 | 32 | /** 33 | * 封面照片链接 34 | */ 35 | private String urlCover; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/AliasCelebrityDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 影人别名 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class AliasCelebrityDouban implements Serializable { 17 | /** 18 | * 豆瓣影人ID 19 | */ 20 | private Long idCelebrityDouban; 21 | 22 | /** 23 | * 豆瓣影人别称 24 | */ 25 | private String nameAlias; 26 | 27 | /** 28 | * 是否为昵称 0-本名 1-昵称 29 | */ 30 | private Byte isNikename; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/AliasMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 电影别名 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class AliasMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 电影别名 24 | */ 25 | private String nameAlias; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ArtistNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌手 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ArtistNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌手ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 歌手中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 歌手照片链接 29 | */ 30 | private String urlPortrait; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ArtistNeteaseToAlbumNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌手-专辑 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ArtistNeteaseToAlbumNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌手ID 19 | */ 20 | private Long idArtistNetease; 21 | 22 | /** 23 | * 网易云音乐专辑ID 24 | */ 25 | private Long idAlbumNetease; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ArtistNeteaseToSongNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌手-歌曲 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ArtistNeteaseToSongNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌手ID 19 | */ 20 | private Long idArtistNetease; 21 | 22 | /** 23 | * 网易云音乐歌曲ID 24 | */ 25 | private Long idSongNetease; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/AwardMovie.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 电影奖项 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class AwardMovie implements Serializable { 17 | /** 18 | * 电影奖项ID 19 | */ 20 | private String id; 21 | 22 | /** 23 | * 电影奖项中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CelebrityDoubanToClassicDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影经典台词-影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CelebrityDoubanToClassicDouban implements Serializable { 17 | /** 18 | * 豆瓣影人ID 19 | */ 20 | private Long idCelebrityDouban; 21 | 22 | /** 23 | * 豆瓣电影经典台词ID 24 | */ 25 | private String idClassicDouban; 26 | 27 | /** 28 | * 豆瓣影人中文名 29 | */ 30 | private String nameZhCelebrityDouban; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CelebrityImdb.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * IMDB影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CelebrityImdb implements Serializable { 17 | /** 18 | * IMDB影人ID nm++00xxx(7) 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * IMDB影人英文名 24 | */ 25 | private String nameEn; 26 | 27 | /** 28 | * 出生年份 /year 29 | */ 30 | private Short birthYear; 31 | 32 | /** 33 | * 豆瓣影人ID 0-未匹配 1-已匹配 34 | */ 35 | private Long idCelebrityDouban; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CelebrityScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CelebrityScene implements Serializable { 17 | /** 18 | * 场景影人ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 豆瓣影人ID 0-未匹配 1-已匹配 24 | */ 25 | private Long idCelebrityDouban; 26 | 27 | /** 28 | * 场景影人中文名 29 | */ 30 | private String nameZh; 31 | 32 | /** 33 | * 场景影人英文名 34 | */ 35 | private String nameEn; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CityScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 城市 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CityScene implements Serializable { 17 | /** 18 | * 城市ID 19 | */ 20 | private Integer id; 21 | 22 | /** 23 | * 城市中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 城市英文名 29 | */ 30 | private String nameEn; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ClassicDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影经典台词 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ClassicDouban implements Serializable { 17 | /** 18 | * 豆瓣电影经典台词ID 19 | */ 20 | private String id; 21 | 22 | /** 23 | * 豆瓣电影ID 24 | */ 25 | private Long idMovieDouban; 26 | 27 | /** 28 | * 经典台词内容 29 | */ 30 | private String content; 31 | 32 | /** 33 | * 经典台词在影片中的出现时间 /m 34 | */ 35 | private Integer happenTime; 36 | 37 | /** 38 | * 经典台词获得的赞同数 39 | */ 40 | private Integer agreeVote; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CommentMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影短评 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CommentMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 豆瓣用户ID 24 | */ 25 | private String idUserDouban; 26 | 27 | /** 28 | * 投票数 29 | */ 30 | private Long agreeVote; 31 | 32 | /** 33 | * 短评日期 /unix 34 | */ 35 | private Long createDate; 36 | 37 | /** 38 | * 短评内容 39 | */ 40 | private String content; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CommentNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐专辑热门评论 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CommentNetease implements Serializable { 17 | /** 18 | * 歌曲ID 19 | */ 20 | private Long idSongNetease; 21 | 22 | /** 23 | * 网易云音乐专辑热门评论ID 0-暂无评论 24 | */ 25 | private Long id; 26 | 27 | /** 28 | * 网易云音乐用户ID 29 | */ 30 | private Long idUserNetease; 31 | 32 | /** 33 | * 创建时间 /unix 34 | */ 35 | private Long createDatetime; 36 | 37 | /** 38 | * 评论内容 39 | */ 40 | private String content; 41 | 42 | /** 43 | * 赞同数 44 | */ 45 | private Integer agreeVote; 46 | 47 | private static final long serialVersionUID = 1L; 48 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ContinentScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 洲 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ContinentScene implements Serializable { 17 | /** 18 | * 洲ID 19 | */ 20 | private Byte id; 21 | 22 | /** 23 | * 洲中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 洲英文名 29 | */ 30 | private String nameEn; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/CountryScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 国家 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class CountryScene implements Serializable { 17 | /** 18 | * 国家ID 19 | */ 20 | private Short id; 21 | 22 | /** 23 | * 国家中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 国家英文名 29 | */ 30 | private String nameEn; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ImageCelebrityDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣影人图片 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ImageCelebrityDouban implements Serializable { 17 | /** 18 | * 豆瓣影人图片ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 豆瓣影人ID 24 | */ 25 | private Long idCelebrityDouban; 26 | 27 | /** 28 | * 序号 29 | */ 30 | private Byte sort; 31 | 32 | /** 33 | * 长 /px 34 | */ 35 | private Integer length; 36 | 37 | /** 38 | * 宽 /px 39 | */ 40 | private Integer width; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ImageMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影图片 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ImageMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣电影图片ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 豆瓣电影ID 24 | */ 25 | private Long idMovieDouban; 26 | 27 | /** 28 | * 序号 29 | */ 30 | private Byte sort; 31 | 32 | /** 33 | * 长 /px 34 | */ 35 | private Integer length; 36 | 37 | /** 38 | * 宽 /px 39 | */ 40 | private Integer width; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ImagePlaceScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景地点图片 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ImagePlaceScene implements Serializable { 17 | /** 18 | * 场景地点图片ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 场景地点ID 24 | */ 25 | private Long idPlaceScene; 26 | 27 | /** 28 | * 图片链接 29 | */ 30 | private String urlImage; 31 | 32 | /** 33 | * 图片描述 34 | */ 35 | private String description; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ImageSceneDetail.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景详情剧照 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ImageSceneDetail implements Serializable { 17 | /** 18 | * 场景详情剧照ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 场景详情ID 24 | */ 25 | private Long idSceneDetail; 26 | 27 | /** 28 | * 图片链接 29 | */ 30 | private String urlImage; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/Message.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 留言板 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class Message implements Serializable { 17 | /** 18 | * 留言ID 19 | */ 20 | private String id; 21 | 22 | /** 23 | * 用户ID 24 | */ 25 | private String idUser; 26 | 27 | /** 28 | * 用户昵称 29 | */ 30 | private String nickname; 31 | 32 | /** 33 | * IP地址 34 | */ 35 | private String ip; 36 | 37 | /** 38 | * 留言内容 39 | */ 40 | private String content; 41 | 42 | /** 43 | * 留言时间 44 | */ 45 | private Long createTime; 46 | 47 | /** 48 | * 赞同数 49 | */ 50 | private Integer agree; 51 | 52 | private static final long serialVersionUID = 1L; 53 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieDoubanToAwardMovie.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影-奖项 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieDoubanToAwardMovie implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 获奖奖项ID 24 | */ 25 | private String idAwardMovie; 26 | 27 | /** 28 | * 获奖豆瓣影人ID 29 | */ 30 | private Long idCelebrityDouban; 31 | 32 | /** 33 | * 奖项的类别中文名 34 | */ 35 | private String typeAward; 36 | 37 | /** 38 | * 获奖奖项届数 39 | */ 40 | private Short awardTh; 41 | 42 | /** 43 | * 是否被提名 0-仅提名未获奖 1-已提名且获奖 44 | */ 45 | private Byte isNominated; 46 | 47 | private static final long serialVersionUID = 1L; 48 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieDoubanToCelebrityDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影-影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieDoubanToCelebrityDouban implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 豆瓣影人ID 24 | */ 25 | private Long idCelebrityDouban; 26 | 27 | /** 28 | * 该影人在该电影中的职位 29 | */ 30 | private Byte idProfession; 31 | 32 | /** 33 | * 该影人在该电影中的演员排列顺序 34 | */ 35 | private Short sort; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieDoubanToReviewMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影-影评 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieDoubanToReviewMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 电影影评ID 24 | */ 25 | private Long idReviewMovieDouban; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieDoubanToTypeMovie.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影-电影类型 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieDoubanToTypeMovie implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 影片类型ID 24 | */ 25 | private Short idTypeMovie; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieImdbToCelebrityImdb.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * IMDB电影-影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieImdbToCelebrityImdb implements Serializable { 17 | /** 18 | * IMDB电影ID 19 | */ 20 | private Long idMovieImdb; 21 | 22 | /** 23 | * IMDB影人ID 24 | */ 25 | private Long idCelebrityImdb; 26 | 27 | /** 28 | * 该影人在该电影中的职位 29 | */ 30 | private Byte idProfession; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieImdbToTypeMovie.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * IMDB电影-影片类型 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieImdbToTypeMovie implements Serializable { 17 | /** 18 | * IMDB电影ID 19 | */ 20 | private Long idMovieImdb; 21 | 22 | /** 23 | * 影片类型ID 24 | */ 25 | private Short idTypeMovie; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐电影 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieNetease implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 网易云音乐ID 24 | */ 25 | private Long idNetease; 26 | 27 | /** 28 | * 匹配类型 0-未知 1-歌曲 2-歌单 3-专辑 29 | */ 30 | private Byte neteaseType; 31 | 32 | /** 33 | * 排序 1-10 依次降低 34 | */ 35 | private Byte sort; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieSceneToCelebrityScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景电影-场景影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class MovieSceneToCelebrityScene implements Serializable { 17 | /** 18 | * 场景电影ID 19 | */ 20 | private Long idMovieScene; 21 | 22 | /** 23 | * 场景影人ID 24 | */ 25 | private Long idCelebrityScene; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/MovieZhihu.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import java.math.BigDecimal; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * 知乎电影 11 | * 12 | *@author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class MovieZhihu implements Serializable { 18 | /** 19 | * 知乎电影ID 20 | */ 21 | private Long id; 22 | 23 | /** 24 | * 豆瓣电影ID 25 | */ 26 | private Long idMovieDouban; 27 | 28 | /** 29 | * 知乎电影中文名 30 | */ 31 | private String nameZh; 32 | 33 | /** 34 | * 知乎评分 35 | */ 36 | private BigDecimal zhihuScore; 37 | 38 | /** 39 | * 知乎评分票数 40 | */ 41 | private Integer zhihuVote; 42 | 43 | /** 44 | * 猫眼评分 45 | */ 46 | private BigDecimal maoyanScore; 47 | 48 | private static final long serialVersionUID = 1L; 49 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/Permission.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 用户权限 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class Permission implements Serializable { 17 | /** 18 | * 用户权限ID 19 | */ 20 | private Integer id; 21 | 22 | /** 23 | * 权限名称 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 权限路径 29 | */ 30 | private String pathSrc; 31 | 32 | /** 33 | * 权限描述 34 | */ 35 | private String description; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/PlaceSceneToTypePlaceScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景地点-场景地点类型 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class PlaceSceneToTypePlaceScene implements Serializable { 17 | /** 18 | * 场景地点ID 19 | */ 20 | private Long idPlaceScene; 21 | 22 | /** 23 | * 场景地点类型ID 24 | */ 25 | private Byte idTypePlaceScene; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/PlaylistNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌单 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class PlaylistNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌单ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 歌单中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 歌单歌曲总数 29 | */ 30 | private Short total; 31 | 32 | /** 33 | * 歌单播放次数 34 | */ 35 | private Integer playCount; 36 | 37 | /** 38 | * 封面照片链接 39 | */ 40 | private String urlCover; 41 | 42 | /** 43 | * 歌单描述 44 | */ 45 | private String description; 46 | 47 | private static final long serialVersionUID = 1L; 48 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/Profession.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 影人职业 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class Profession implements Serializable { 17 | /** 18 | * 影人职业ID 19 | */ 20 | private Byte id; 21 | 22 | /** 23 | * 职业中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 职业英文名 29 | */ 30 | private String nameEn; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/QuestionZhihu.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 知乎问题 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class QuestionZhihu implements Serializable { 17 | /** 18 | * 知乎问题ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 豆瓣电影ID 24 | */ 25 | private Long idMovieDouban; 26 | 27 | /** 28 | * 知乎问题中文名 29 | */ 30 | private String nameZh; 31 | 32 | /** 33 | * 回答数 0-默认 1-文章 34 | */ 35 | private Integer answerNum; 36 | 37 | private static final long serialVersionUID = 1L; 38 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/RateImdb.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import java.math.BigDecimal; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * IMDB电影评分 11 | * 12 | *@author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class RateImdb implements Serializable { 18 | /** 19 | * IMDB电影ID tt+00xxx(7) 20 | */ 21 | private Long id; 22 | 23 | /** 24 | * IMDB评分 25 | */ 26 | private BigDecimal imdbScore; 27 | 28 | /** 29 | * IMDB评分人数 30 | */ 31 | private Integer imdbVote; 32 | 33 | /** 34 | * 烂番茄新鲜度 35 | */ 36 | private BigDecimal tomatoScore; 37 | 38 | /** 39 | * MTC评分 40 | */ 41 | private BigDecimal mtcScore; 42 | 43 | private static final long serialVersionUID = 1L; 44 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/ReviewMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影影评 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class ReviewMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣电影影评ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 赞同数 24 | */ 25 | private Integer agreeVote; 26 | 27 | /** 28 | * 反对数 29 | */ 30 | private Integer againstVote; 31 | 32 | /** 33 | * 影评日期时间 /unix 34 | */ 35 | private Long createDatetime; 36 | 37 | /** 38 | * 影评标题 39 | */ 40 | private String title; 41 | 42 | /** 43 | * 影评内容 44 | */ 45 | private String content; 46 | 47 | private static final long serialVersionUID = 1L; 48 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/Role.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 用户角色 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class Role implements Serializable { 17 | /** 18 | * 用户角色ID 19 | */ 20 | private Byte id; 21 | 22 | /** 23 | * 角色名称 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 角色描述 29 | */ 30 | private String description; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/RoleToPermission.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 角色-权限 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class RoleToPermission implements Serializable { 17 | /** 18 | * 角色ID 19 | */ 20 | private Byte idRole; 21 | 22 | /** 23 | * 权限ID 24 | */ 25 | private Integer idPermission; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/Scene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class Scene implements Serializable { 17 | /** 18 | * 场景ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 场景电影ID 24 | */ 25 | private Long idMovieScene; 26 | 27 | /** 28 | * 地点ID 29 | */ 30 | private Long idPlaceScene; 31 | 32 | /** 33 | * 场景中文名 34 | */ 35 | private String nameZh; 36 | 37 | /** 38 | * 场景发生在电影中的时间 /s 39 | */ 40 | private Integer happenTime; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/SceneDetail.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景详情 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class SceneDetail implements Serializable { 17 | /** 18 | * 场景详情ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 场景ID 24 | */ 25 | private Long idScene; 26 | 27 | /** 28 | * 场景电影ID 29 | */ 30 | private Long idMovieScene; 31 | 32 | /** 33 | * 场景发生在电影中的时间 /s 34 | */ 35 | private Integer happenTime; 36 | 37 | /** 38 | * 场景描述 39 | */ 40 | private String description; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/SceneDetailToCelebrityScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景详情-场景影人 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class SceneDetailToCelebrityScene implements Serializable { 17 | /** 18 | * 场景详情ID 19 | */ 20 | private Long idSceneDetail; 21 | 22 | /** 23 | * 场景影人ID 24 | */ 25 | private Long idCelebrityScene; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/SongNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌曲 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class SongNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌曲ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 歌曲中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/SongNeteaseToAlbumNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌曲-专辑 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class SongNeteaseToAlbumNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌曲ID 19 | */ 20 | private Long idSongNetease; 21 | 22 | /** 23 | * 网易云音乐专辑ID 24 | */ 25 | private Long idAlbumNetease; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/SongNeteaseToPlaylistNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐歌曲-歌单 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class SongNeteaseToPlaylistNetease implements Serializable { 17 | /** 18 | * 网易云音乐歌曲ID 19 | */ 20 | private Long idSongNetease; 21 | 22 | /** 23 | * 网易云音乐歌单ID 24 | */ 25 | private Long idPlaylistNetease; 26 | 27 | /** 28 | * 歌曲在歌单中的流行度 0-100 29 | */ 30 | private Byte songPop; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/StateScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 州/省 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class StateScene implements Serializable { 17 | /** 18 | * 州/省ID 19 | */ 20 | private Integer id; 21 | 22 | /** 23 | * 州中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 州英文名 29 | */ 30 | private String nameEn; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/TagMovie.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影标签 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class TagMovie implements Serializable { 17 | /** 18 | * 豆瓣电影ID 19 | */ 20 | private Long idMovieDouban; 21 | 22 | /** 23 | * 电影标签中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/TrailerMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影预告片 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class TrailerMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣电影预告片ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 豆瓣电影ID 24 | */ 25 | private Long idMovieDouban; 26 | 27 | /** 28 | * 预告片mp4链接 29 | */ 30 | private String urlVideo; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/TypeMovie.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 电影类型 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class TypeMovie implements Serializable { 17 | /** 18 | * 电影类型ID 19 | */ 20 | private Short id; 21 | 22 | /** 23 | * 电影类型中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/TypePlaceScene.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 场景地点类型 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class TypePlaceScene implements Serializable { 17 | /** 18 | * 场景地点类型ID 19 | */ 20 | private Byte id; 21 | 22 | /** 23 | * 地点类型名称中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/TypeResource.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * cccc 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class TypeResource implements Serializable { 17 | /** 18 | * 电影资源类型ID ID<100-在线 ID>100-离线 19 | */ 20 | private Short id; 21 | 22 | /** 23 | * 资源类型中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/TypeVideo.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 影片种类 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class TypeVideo implements Serializable { 17 | /** 18 | * 影片类型ID 19 | */ 20 | private Byte id; 21 | 22 | /** 23 | * 影片类型中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 影片类型英文名 29 | */ 30 | private String nameEn; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/User.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 用户 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class User implements Serializable { 17 | /** 18 | * 用户ID 19 | */ 20 | private String id; 21 | 22 | /** 23 | * 邮箱 24 | */ 25 | private String email; 26 | 27 | /** 28 | * 密码 29 | */ 30 | private String password; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/UserDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣用户 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class UserDouban implements Serializable { 17 | /** 18 | * 豆瓣用户ID 19 | */ 20 | private String id; 21 | 22 | /** 23 | * 豆瓣名字中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/UserDoubanToClassicDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣电影经典台词-豆瓣用户 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class UserDoubanToClassicDouban implements Serializable { 17 | /** 18 | * 豆瓣用户ID 0-未登录用户 19 | */ 20 | private String idUserDouban; 21 | 22 | /** 23 | * 豆瓣电影经典台词ID 24 | */ 25 | private String idClassicDouban; 26 | 27 | /** 28 | * 用户中文名 29 | */ 30 | private String nameZhUserDouban; 31 | 32 | /** 33 | * 豆瓣用户收录时间 /unix 34 | */ 35 | private Long recordDatetime; 36 | 37 | /** 38 | * 豆瓣用户评价 39 | */ 40 | private String description; 41 | 42 | private static final long serialVersionUID = 1L; 43 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/UserDoubanToMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import java.math.BigDecimal; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * 豆瓣用户-电影 11 | * 12 | *@author humingk 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class UserDoubanToMovieDouban implements Serializable { 18 | /** 19 | * 豆瓣用户ID 20 | */ 21 | private String idUserDouban; 22 | 23 | /** 24 | * 豆瓣电影ID 25 | */ 26 | private Long idMovieDouban; 27 | 28 | /** 29 | * 用户对电影的评分 30 | */ 31 | private BigDecimal score; 32 | 33 | /** 34 | * 是否想看 0-未标记 1-已想看 35 | */ 36 | private Byte isWish; 37 | 38 | /** 39 | * 是否看过 0-未标记 1-已看过 40 | */ 41 | private Byte isSeen; 42 | 43 | private static final long serialVersionUID = 1L; 44 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/UserDoubanToReviewMovieDouban.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 豆瓣用户-豆瓣影评 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class UserDoubanToReviewMovieDouban implements Serializable { 17 | /** 18 | * 豆瓣用户ID 19 | */ 20 | private String idUserDouban; 21 | 22 | /** 23 | * 豆瓣影评ID 24 | */ 25 | private Long idReviewMovieDouban; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/UserNetease.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 网易云音乐用户 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class UserNetease implements Serializable { 17 | /** 18 | * 网易云音乐用户ID 19 | */ 20 | private Long id; 21 | 22 | /** 23 | * 用户中文名 24 | */ 25 | private String nameZh; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/UserToRole.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 用户-角色 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class UserToRole implements Serializable { 17 | /** 18 | * 用户ID 19 | */ 20 | private String idUser; 21 | 22 | /** 23 | * 角色ID 24 | */ 25 | private Byte idRole; 26 | 27 | private static final long serialVersionUID = 1L; 28 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/entity/WebsiteResource.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.entity; 2 | 3 | import java.io.Serializable; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 电影资源网站 10 | * 11 | *@author humingk 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | public class WebsiteResource implements Serializable { 17 | /** 18 | * 电影资源网站ID ID<100-正版 ID>100-盗版 19 | */ 20 | private Short id; 21 | 22 | /** 23 | * 网站中文名 24 | */ 25 | private String nameZh; 26 | 27 | /** 28 | * 网站官网地址 29 | */ 30 | private String websiteSrc; 31 | 32 | private static final long serialVersionUID = 1L; 33 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/auto/RoleMapper.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.auto; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.humingk.movie.dal.entity.Role; 7 | import org.humingk.movie.dal.entity.RoleExample; 8 | 9 | @Mapper 10 | public interface RoleMapper { 11 | long countByExample(RoleExample example); 12 | 13 | int deleteByExample(RoleExample example); 14 | 15 | int deleteByPrimaryKey(Byte id); 16 | 17 | int insert(Role record); 18 | 19 | int insertSelective(Role record); 20 | 21 | List selectByExample(RoleExample example); 22 | 23 | Role selectByPrimaryKey(Byte id); 24 | 25 | int updateByExampleSelective(@Param("record") Role record, @Param("example") RoleExample example); 26 | 27 | int updateByExample(@Param("record") Role record, @Param("example") RoleExample example); 28 | 29 | int updateByPrimaryKeySelective(Role record); 30 | 31 | int updateByPrimaryKey(Role record); 32 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/auto/TagMovieMapper.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.auto; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.humingk.movie.dal.entity.TagMovie; 7 | import org.humingk.movie.dal.entity.TagMovieExample; 8 | 9 | @Mapper 10 | public interface TagMovieMapper { 11 | long countByExample(TagMovieExample example); 12 | 13 | int deleteByExample(TagMovieExample example); 14 | 15 | int deleteByPrimaryKey(@Param("idMovieDouban") Long idMovieDouban, @Param("nameZh") String nameZh); 16 | 17 | int insert(TagMovie record); 18 | 19 | int insertSelective(TagMovie record); 20 | 21 | List selectByExample(TagMovieExample example); 22 | 23 | int updateByExampleSelective(@Param("record") TagMovie record, @Param("example") TagMovieExample example); 24 | 25 | int updateByExample(@Param("record") TagMovie record, @Param("example") TagMovieExample example); 26 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/auto/UserToRoleMapper.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.auto; 2 | 3 | import java.util.List; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.humingk.movie.dal.entity.UserToRole; 7 | import org.humingk.movie.dal.entity.UserToRoleExample; 8 | 9 | @Mapper 10 | public interface UserToRoleMapper { 11 | long countByExample(UserToRoleExample example); 12 | 13 | int deleteByExample(UserToRoleExample example); 14 | 15 | int deleteByPrimaryKey(@Param("idUser") String idUser, @Param("idRole") Byte idRole); 16 | 17 | int insert(UserToRole record); 18 | 19 | int insertSelective(UserToRole record); 20 | 21 | List selectByExample(UserToRoleExample example); 22 | 23 | int updateByExampleSelective(@Param("record") UserToRole record, @Param("example") UserToRoleExample example); 24 | 25 | int updateByExample(@Param("record") UserToRole record, @Param("example") UserToRoleExample example); 26 | } -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/AliasCelebrityDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.humingk.movie.dal.entity.AliasCelebrityDouban; 5 | import org.humingk.movie.dal.entity.AliasCelebrityDoubanExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface AliasCelebrityDoubanMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 获取豆瓣影人ID列表 14 | * 15 | * @param keyword 别名关键字 16 | * @param offset 偏移量 17 | * @param limit 限制数 18 | * @return 19 | */ 20 | List selectIdCelebrityDoubanListByKeyword( 21 | @Param("keyword") String keyword, @Param("offset") int offset, @Param("limit") int limit); 22 | } 23 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/AliasMovieDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.humingk.movie.dal.entity.AliasMovieDouban; 5 | import org.humingk.movie.dal.entity.AliasMovieDoubanExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface AliasMovieDoubanMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 获取豆瓣电影ID列表 14 | * 15 | * @param keyword 别名关键字 16 | * @param offset 偏移量 17 | * @param limit 限制数 18 | * @return 19 | */ 20 | List selectIdMovieDoubanListByKeyword( 21 | @Param("keyword") String keyword, @Param("offset") int offset, @Param("limit") int limit); 22 | } 23 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/BaseMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | /** 4 | * 扩展Mapper专用基础接口 5 | * 6 | * @param 实体类 7 | * @param 实体类对应的Example类 8 | * @author humingk 9 | */ 10 | public interface BaseMapperPlus {} 11 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/CelebrityDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.domain.douban.CelebrityDoubanOfMovieDoubanDo; 4 | import org.humingk.movie.dal.entity.CelebrityDouban; 5 | import org.humingk.movie.dal.entity.CelebrityDoubanExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface CelebrityDoubanMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 通过豆瓣电影ID获取与豆瓣电影相关的豆瓣影人信息列表 14 | * 15 | * @param idMovieDouban 豆瓣电影ID 16 | * @return 17 | */ 18 | List selectCelebrityDoubanOfMovieDoubanListByMovieDoubanId( 19 | Long idMovieDouban); 20 | } 21 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/CelebrityImdbMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.domain.imdb.CelebrityImdbOfMovieImdbDo; 4 | import org.humingk.movie.dal.entity.CelebrityImdb; 5 | import org.humingk.movie.dal.entity.CelebrityImdbExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface CelebrityImdbMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 通过IMDB电影ID获取与IMDB电影相关的IMDB影人信息列表 14 | * 15 | * @param idMovieImdb IMDB电影ID 16 | * @return 17 | */ 18 | List selectCelebrityImdbOfMovieImdbListByMovieImdbId( 19 | Long idMovieImdb); 20 | } 21 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/CelebritySceneMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.domain.scene.CelebritySceneOfSceneDetailDo; 4 | import org.humingk.movie.dal.entity.CelebrityScene; 5 | import org.humingk.movie.dal.entity.CelebritySceneExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface CelebritySceneMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 通过场景详情ID获取与场景详情相关的场景影人 14 | * 15 | * @param idSceneDetail 场景详情ID 16 | * @return 17 | */ 18 | List selectCelebritySceneOfSceneDetailListBySceneDetailId( 19 | Long idSceneDetail); 20 | } 21 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/ClassicDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.domain.douban.ClassicOfMovieDoubanDo; 4 | import org.humingk.movie.dal.entity.ClassicDouban; 5 | import org.humingk.movie.dal.entity.ClassicDoubanExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface ClassicDoubanMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 根据豆瓣电影ID获取经典台词相关 14 | * 15 | * @param idMovieDouban 豆瓣电影ID 16 | * @return 17 | */ 18 | List selectClassicOfMovieDoubanDoListByMovieDoubanId(Long idMovieDouban); 19 | } 20 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/CommentMovieDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.domain.douban.CommentOfMovieDoubanDo; 4 | import org.humingk.movie.dal.entity.CommentMovieDouban; 5 | import org.humingk.movie.dal.entity.CommentMovieDoubanExample; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * 豆瓣电影评论 11 | * 12 | * @author humingk 13 | */ 14 | public interface CommentMovieDoubanMapperPlus 15 | extends BaseMapperPlus { 16 | /** 17 | * 通过豆瓣电影ID获取豆瓣评论以及豆瓣用户 18 | * 19 | * @param idMovieDouban 20 | * @return 21 | */ 22 | List selectCommentOfMovieDoubanListByMovieDoubanId(Long idMovieDouban); 23 | } 24 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/MessageMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.entity.Message; 4 | import org.humingk.movie.dal.entity.MessageExample; 5 | 6 | /** @author humingk */ 7 | public interface MessageMapperPlus extends BaseMapperPlus { 8 | /** 9 | * 更新agree+1 10 | * 11 | * @param id 留言ID 12 | * @return 13 | */ 14 | void updateAgreePlusOne(String id); 15 | } 16 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/MovieDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.humingk.movie.dal.domain.douban.MovieDoubanOfCelebrityDoubanDo; 5 | import org.humingk.movie.dal.entity.MovieDouban; 6 | import org.humingk.movie.dal.entity.MovieDoubanExample; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * 与豆瓣影人相关的豆瓣电影 12 | * 13 | * @author humingk 14 | */ 15 | public interface MovieDoubanMapperPlus extends BaseMapperPlus { 16 | /** 17 | * 通过豆瓣影人ID获取与豆瓣影人相关的豆瓣电影信息列表 18 | * 19 | * @param idCelebrityDouban 豆瓣影人ID 20 | * @param limit 限制数 21 | * @param order 排序方式(降序) 22 | * @return 23 | */ 24 | List selectMovieDoubanOfCelebrityDoubanListByCelebrityDoubanId( 25 | @Param("idCelebrityDouban") Long idCelebrityDouban, 26 | @Param("limit") Integer limit, 27 | @Param("order") String order); 28 | } 29 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/MovieImdbMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | import org.humingk.movie.dal.domain.imdb.MovieImdbOfCelebrityImdbDo; 5 | import org.humingk.movie.dal.entity.MovieImdb; 6 | import org.humingk.movie.dal.entity.MovieImdbExample; 7 | 8 | import java.util.List; 9 | 10 | /** @author humingk */ 11 | public interface MovieImdbMapperPlus extends BaseMapperPlus { 12 | /** 13 | * 通过IMDB影人ID获取与IMDB影人相关的IMDB电影信息列表 14 | * 15 | * @param idCelebrityImdb IMDB影人ID 16 | * @param limit 相关电影限制数 17 | * @return 18 | */ 19 | List selectMovieImdbOfCelebrityImdbListByCelebrityImdbId( 20 | @Param("idCelebrityImdb") Long idCelebrityImdb, @Param("limit") Integer limit); 21 | } 22 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/ReviewMovieDoubanMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.domain.douban.ReviewOfMovieDoubanDo; 4 | import org.humingk.movie.dal.entity.ReviewMovieDouban; 5 | import org.humingk.movie.dal.entity.ReviewMovieDoubanExample; 6 | 7 | import java.util.List; 8 | 9 | /** @author humingk */ 10 | public interface ReviewMovieDoubanMapperPlus 11 | extends BaseMapperPlus { 12 | /** 13 | * 根据豆瓣电影ID获取热门影评列表 14 | * 15 | * @param idMovieDouban 豆瓣电影ID 16 | * @return 17 | */ 18 | List selectReviewOfMovieDoubanListByMovieDoubanId(Long idMovieDouban); 19 | } 20 | -------------------------------------------------------------------------------- /movie-dal/src/main/java/org/humingk/movie/dal/mapper/plus/RoleMapperPlus.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal.mapper.plus; 2 | 3 | import org.humingk.movie.dal.entity.Role; 4 | import org.humingk.movie.dal.entity.RoleExample; 5 | 6 | import java.util.List; 7 | 8 | /** @author humingk */ 9 | public interface RoleMapperPlus extends BaseMapperPlus { 10 | /** 11 | * 获取用户对应的角色列表 12 | * 13 | * @param id 用户ID 14 | * @return 15 | */ 16 | List selectRoleListByUserId(String id); 17 | } 18 | -------------------------------------------------------------------------------- /movie-dal/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8003 3 | spring: 4 | application: 5 | name: movie-dal 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,rabbitmq,zipkin-client,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-dal/src/main/resources/mapper/plus/AliasCelebirtyDoubanMapperPlus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 15 | 16 | -------------------------------------------------------------------------------- /movie-dal/src/main/resources/mapper/plus/AliasMovieDoubanMapperPlus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 15 | 16 | -------------------------------------------------------------------------------- /movie-dal/src/main/resources/mapper/plus/MessageMapperPlus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | update message 9 | set agree=agree + 1 10 | where id = #{id,jdbcType=VARCHAR} 11 | 12 | 13 | -------------------------------------------------------------------------------- /movie-dal/src/main/resources/mapper/plus/RoleMapperPlus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /movie-dal/src/main/resources/mybatis/mybatis-generator.properties: -------------------------------------------------------------------------------- 1 | # 只能用maven plugin启动? 改为代码启动失败 2 | # mysql 3 | spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver 4 | spring.datasource.url=jdbc:mysql://localhost:3306/movie?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai 5 | spring.datasource.username=root 6 | spring.datasource.password=1233 7 | # 包主目录路径 8 | config.path.java=src/main/java 9 | # 资源目录路径 10 | config.path.resources=src/main/resources 11 | # POJO类路径 12 | config.path.entity=org.humingk.movie.dal.entity 13 | # mapper 接口路径 14 | config.path.mapper.base=org.humingk.movie.dal.mapper 15 | # mapper xml路径(resources) 16 | config.path.mapper.resources=mapper 17 | 18 | -------------------------------------------------------------------------------- /movie-dal/src/test/java/org/humingk/movie/dal/MovieDalApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.dal; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieDalApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-security/src/main/java/org/humingk/movie/security/MovieSecurityApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.security; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.context.annotation.ComponentScan; 7 | 8 | /** @author humingk */ 9 | @SpringBootApplication 10 | @ComponentScan(basePackages = {"org.humingk.movie.security", "org.humingk.movie.service.user"}) 11 | @MapperScan(basePackages = {"org.humingk.movie.dal.mapper"}) 12 | public class MovieSecurityApplication { 13 | 14 | public static void main(String[] args) { 15 | SpringApplication.run(MovieSecurityApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /movie-security/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8004 3 | spring: 4 | application: 5 | name: movie-security 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,rabbitmq,oauth2-server,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-security/src/test/java/org/humingk/movie/security/MovieSecurityApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.security; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieSecurityApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-server-auth/src/main/java/org/humingk/movie/server/auth/MovieServerAuthApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.auth; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.server.auth", 15 | "org.humingk.movie.security", 16 | "org.humingk.movie.service.user", 17 | "org.humingk.movie.common" 18 | }) 19 | @MapperScan(basePackages = {"org.humingk.movie.dal.mapper"}) 20 | public class MovieServerAuthApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServerAuthApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-server-auth/src/main/java/org/humingk/movie/server/auth/entity/ResourceId.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.auth.entity; 2 | 3 | /** 4 | * oauth2默认客户端对应的资源ID 5 | * 6 | * @author humingk 7 | */ 8 | public class ResourceId { 9 | /** 用户资源ID */ 10 | public static final String USER_ID = "user"; 11 | /** 电影资源ID */ 12 | public static final String MOVIE_ID = "movie"; 13 | /** 搜索资源ID */ 14 | public static final String SEARCH_ID = "search"; 15 | /** 影人资源ID */ 16 | public static final String CELEBRITY_ID = " celebrity"; 17 | /** 音乐资源ID */ 18 | public static final String MUSIC_ID = "music"; 19 | /** 场景资源ID */ 20 | public static final String SCENE_ID = "scene"; 21 | } 22 | -------------------------------------------------------------------------------- /movie-server-auth/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8006 3 | spring: 4 | application: 5 | name: movie-server-auth 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: oauth2-server,rabbitmq,mysql,redis,aes,zipkin-client,feign-client,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-server-auth/src/test/java/org/humingk/movie/server/auth/MovieServerAuthApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.auth; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerAuthApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-server-config/src/main/java/org/humingk/movie/server/config/MovieServerConfigApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.config; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.config.server.EnableConfigServer; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | 8 | /** @author humingk */ 9 | @SpringBootApplication 10 | @EnableConfigServer 11 | @EnableEurekaClient 12 | public class MovieServerConfigApplication { 13 | 14 | public static void main(String[] args) { 15 | SpringApplication.run(MovieServerConfigApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /movie-server-config/src/test/java/org/humingk/movie/server/config/MovieServerConfigApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.config; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerConfigApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-server-eureka/src/main/java/org/humingk/movie/server/eureka/MovieServerEurekaApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.eureka; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 6 | 7 | /** @author humingk */ 8 | @SpringBootApplication 9 | @EnableEurekaServer 10 | public class MovieServerEurekaApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(MovieServerEurekaApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /movie-server-eureka/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8761 3 | spring: 4 | mvc: 5 | servlet: 6 | # 默认-1,不初始化DispatcherServlet 7 | load-on-startup: 1 8 | application: 9 | name: movie-server-eureka 10 | eureka: 11 | # 实例 12 | instance: 13 | hostname: localhost 14 | # 服务提供者 15 | client: 16 | # 是否将当前应用注册到eureka server(当前服务注册中心是单点且非高用) 17 | register-with-eureka: false 18 | # 是否从eureka server获取注册信息(不需要同步其他eureka server) 19 | fetch-registry: false 20 | service-url: 21 | # 与eureka server交互的地址 22 | defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 23 | -------------------------------------------------------------------------------- /movie-server-eureka/src/test/java/org/humingk/movie/server/eureka/MovieServerEurekaApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.eureka; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerEurekaApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-server-gateway/src/main/java/org/humingk/movie/server/gateway/MovieServerGatewayApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.gateway; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 6 | 7 | /** 8 | * PS: EnableEurekaClient与EnableDiscoveryClient注解在此处作用一致,用于开启服务自动注册 9 | * 10 | * @author humingk 11 | */ 12 | @SpringBootApplication 13 | @EnableEurekaClient 14 | public class MovieServerGatewayApplication { 15 | 16 | public static void main(String[] args) { 17 | SpringApplication.run(MovieServerGatewayApplication.class, args); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /movie-server-gateway/src/main/java/org/humingk/movie/server/gateway/config/IpLimiter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.gateway.config; 2 | 3 | import org.springframework.cloud.gateway.filter.ratelimit.KeyResolver; 4 | import org.springframework.stereotype.Component; 5 | import org.springframework.web.server.ServerWebExchange; 6 | import reactor.core.publisher.Mono; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * IP限流配置 12 | * 13 | * @author humingk 14 | */ 15 | @Component 16 | public class IpLimiter implements KeyResolver { 17 | /** 18 | * 根据请求IP限流 19 | * 20 | * @param exchange 21 | * @return 22 | */ 23 | @Override 24 | public Mono resolve(ServerWebExchange exchange) { 25 | // return Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress()); 26 | // nginx 转发 27 | List iplist = exchange.getRequest().getHeaders().get("X-Real-IP"); 28 | return Mono.just((iplist != null && !iplist.isEmpty()) ? iplist.get(0) : "0.0.0.0"); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /movie-server-gateway/src/main/java/org/humingk/movie/server/gateway/controller/FallbackController.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.gateway.controller; 2 | 3 | import org.humingk.movie.common.entity.Result; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | @RestController 8 | /** 9 | * 网关转发异常 10 | * 11 | * @author humingk 12 | */ 13 | public class FallbackController { 14 | /** 15 | * Hytrix熔断处理 16 | * 17 | * @return 18 | */ 19 | @RequestMapping("/fallback") 20 | public Result fallback() { 21 | return Result.error("gateway fallback, please try again"); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /movie-server-gateway/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 9527 3 | spring: 4 | application: 5 | name: movie-server-gateway 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: gateway,rabbitmq,zipkin-client,logback,redis,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-server-gateway/src/test/java/org/humingk/movie/server/gateway/MovieServerGatewayApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.gateway; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerGatewayApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-servers/movie-server-celebrity/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-servers 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-server-celebrity 12 | movie-server-celebrity 13 | celebrity server for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-servers/movie-server-celebrity/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10104 3 | spring: 4 | application: 5 | name: movie-server-celebrity 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: movie-server-celebrity,mysql,redis,aes,rabbitmq,zipkin-client,feign-client,oauth2-resource,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-celebrity/src/test/java/org/humingk/movie/server/celebrity/MovieServerCelebrityApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.celebrity; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerCelebrityApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-servers/movie-server-movie/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-servers 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-server-movie 12 | movie-server-movie 13 | movie server for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-servers/movie-server-movie/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10101 3 | spring: 4 | application: 5 | name: movie-server-movie 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: movie-server-movie,mysql,redis,aes,rabbitmq,zipkin-client,feign-client,oauth2-resource,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-movie/src/test/java/org/humingk/movie/server/movie/MovieServerMovieApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.movie; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 7 | 8 | @SpringBootTest 9 | @RunWith(SpringJUnit4ClassRunner.class) 10 | public class MovieServerMovieApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() {} 14 | } 15 | -------------------------------------------------------------------------------- /movie-servers/movie-server-music/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-servers 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-server-music 12 | movie-server-music 13 | music server for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-servers/movie-server-music/src/main/java/org/humingk/movie/server/music/MovieServerMusicApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.music; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | 8 | /** @author humingk */ 9 | @SpringBootApplication 10 | @EnableEurekaClient 11 | @MapperScan( 12 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 13 | public class MovieServerMusicApplication { 14 | 15 | public static void main(String[] args) { 16 | SpringApplication.run(MovieServerMusicApplication.class, args); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /movie-servers/movie-server-music/src/main/java/org/humingk/movie/server/music/controller/NeteaseController.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.music.controller; 2 | 3 | import org.humingk.movie.api.music.NeteaseApi; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | /** @author humingk */ 7 | @RestController 8 | public class NeteaseController implements NeteaseApi {} 9 | -------------------------------------------------------------------------------- /movie-servers/movie-server-music/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10102 3 | spring: 4 | application: 5 | name: movie-server-music 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: movie-server-music,mysql,redis,aes,rabbitmq,zipkin-client,feign-client,oauth2-resource,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-music/src/test/java/org/humingk/movie/server/music/MovieServerMusicApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.music; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerMusicApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-servers/movie-server-scene/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-servers 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-server-scene 12 | movie-server-scene 13 | scene server for movie 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /movie-servers/movie-server-scene/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10106 3 | spring: 4 | application: 5 | name: movie-server-scene 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: movie-server-scene,mysql,redis,aes,rabbitmq,zipkin-client,feign-client,oauth2-resource,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-scene/src/test/java/org/humingk/movie/server/scene/MovieServerSceneApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.scene; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerSceneApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-servers/movie-server-search/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-servers 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-server-search 12 | movie-server-search 13 | search server for movie 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /movie-servers/movie-server-search/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10105 3 | spring: 4 | application: 5 | name: movie-server-search 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: movie-server-movie,mysql,redis,aes,rabbitmq,zipkin-client,feign-client,oauth2-resource,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-search/src/test/java/org/humingk/movie/server/search/MovieServerSearchApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.search; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerSearchApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-servers/movie-server-user/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-servers 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-server-user 12 | movie-server-user 13 | user server for movie 14 | 15 | 16 | 17 | 18 | org.jsoup 19 | jsoup 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-user/src/main/java/org/humingk/movie/server/user/MovieServerUserApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.user; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.server.user", 15 | "org.humingk.movie.service.user", 16 | "org.humingk.movie.common", 17 | "org.humingk.movie.api" 18 | }) 19 | @MapperScan( 20 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 21 | public class MovieServerUserApplication { 22 | 23 | public static void main(String[] args) { 24 | SpringApplication.run(MovieServerUserApplication.class, args); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /movie-servers/movie-server-user/src/main/java/org/humingk/movie/server/user/controller/RootController.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.user.controller; 2 | 3 | import org.humingk.movie.api.user.RootApi; 4 | import org.humingk.movie.common.entity.Result; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | import javax.validation.constraints.PositiveOrZero; 8 | 9 | /** @author humingk */ 10 | @RestController 11 | public class RootController implements RootApi { 12 | @Override 13 | public Result usersList(@PositiveOrZero Integer offset, @PositiveOrZero Integer limit) { 14 | return null; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /movie-servers/movie-server-user/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10103 3 | spring: 4 | application: 5 | name: movie-server-user 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: movie-server-user,rabbitmq,mysql,redis,aes,zipkin-client,feign-client,oauth2-resource,oauth2-client,logback,servlet 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-servers/movie-server-user/src/test/java/org/humingk/movie/server/user/MovieServerUserApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.server.user; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServerUserApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-douban 12 | movie-service-douban 13 | douban service for movie 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/src/main/java/org/humingk/movie/service/douban/MovieServiceDoubanApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.douban; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.douban", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceDoubanApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceDoubanApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/src/main/java/org/humingk/movie/service/douban/converter/ImageDoubanDoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.douban.converter; 2 | 3 | import org.humingk.movie.dal.domain.douban.ImageDoubanDo; 4 | import org.humingk.movie.dal.entity.ImageCelebrityDouban; 5 | import org.humingk.movie.dal.entity.ImageMovieDouban; 6 | import org.mapstruct.Mapper; 7 | 8 | import java.util.List; 9 | 10 | /** @author humingk */ 11 | @Mapper(componentModel = "spring") 12 | public interface ImageDoubanDoConverter { 13 | ImageDoubanDo to(ImageMovieDouban imageMovieDouban); 14 | 15 | ImageDoubanDo to(ImageCelebrityDouban imageCelebrityDouban); 16 | 17 | List toMovieList(List imageMovieDoubanList); 18 | 19 | List toCelebrityList(List imageCelebrityDoubanList); 20 | } 21 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/src/main/java/org/humingk/movie/service/douban/dto/celebrity/SearchTipsCelebrityDoubanDto.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.douban.dto.celebrity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.AliasCelebrityDouban; 7 | import org.humingk.movie.dal.entity.CelebrityDouban; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 豆瓣影人搜索提示 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class SearchTipsCelebrityDoubanDto implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 豆瓣影人基础信息 */ 23 | private CelebrityDouban celebrityDouban; 24 | /** 豆瓣影人别称列表 */ 25 | private List aliasCelebrityDoubanList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/src/main/java/org/humingk/movie/service/douban/dto/movie/SearchTipsMovieDoubanDto.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.douban.dto.movie; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.AliasMovieDouban; 7 | import org.humingk.movie.dal.entity.MovieDouban; 8 | import org.humingk.movie.dal.entity.RateMovieDouban; 9 | 10 | import java.io.Serializable; 11 | import java.util.List; 12 | 13 | /** 14 | * 豆瓣电影搜索提示 15 | * 16 | * @author humingk 17 | */ 18 | @Data 19 | @NoArgsConstructor 20 | @AllArgsConstructor 21 | public class SearchTipsMovieDoubanDto implements Serializable { 22 | private static final long serialVersionUID = 1L; 23 | /** 豆瓣电影基础信息 */ 24 | private MovieDouban movieDouban; 25 | /** 豆瓣电影评分信息 */ 26 | private RateMovieDouban rateMovieDouban; 27 | /** 豆瓣电影别名列表 */ 28 | private List aliasMovieDoubanList; 29 | } 30 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10201 3 | spring: 4 | application: 5 | name: movie-service-douban 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-douban/src/test/java/org/humingk/movie/service/douban/MovieServiceDoubanApplicationTest.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.douban; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceDoubanApplicationTest { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-imdb 12 | movie-service-imdb 13 | imdb service for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/src/main/java/org/humingk/movie/service/imdb/MovieServiceImdbApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.imdb; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.imdb", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceImdbApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceImdbApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/src/main/java/org/humingk/movie/service/imdb/converter/celebrity/CelebrityImdbDetailsDtoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.imdb.converter.celebrity; 2 | 3 | import org.humingk.movie.dal.domain.imdb.MovieImdbOfCelebrityImdbDo; 4 | import org.humingk.movie.dal.entity.CelebrityImdb; 5 | import org.humingk.movie.service.imdb.dto.celebrity.CelebrityImdbDetailsDto; 6 | import org.mapstruct.Mapper; 7 | 8 | import java.util.List; 9 | 10 | /** @author humingk */ 11 | @Mapper(componentModel = "spring") 12 | public interface CelebrityImdbDetailsDtoConverter { 13 | CelebrityImdbDetailsDto to( 14 | /** IMDB影人基础信息 */ 15 | CelebrityImdb celebrityImdb, 16 | /** 与IMDB影人相关的IMDB电影 */ 17 | List movieImdbOfCelebrityImdbDoList); 18 | } 19 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/src/main/java/org/humingk/movie/service/imdb/converter/movie/MovieImdbDetailsDtoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.imdb.converter.movie; 2 | 3 | import org.humingk.movie.dal.domain.imdb.CelebrityImdbOfMovieImdbDo; 4 | import org.humingk.movie.dal.entity.MovieImdb; 5 | import org.humingk.movie.dal.entity.MovieImdbToTypeMovie; 6 | import org.humingk.movie.dal.entity.RateImdb; 7 | import org.humingk.movie.service.imdb.dto.movie.MovieImdbDetailsDto; 8 | import org.mapstruct.Mapper; 9 | 10 | import java.util.List; 11 | 12 | /** @author humingk */ 13 | @Mapper(componentModel = "spring") 14 | public interface MovieImdbDetailsDtoConverter { 15 | MovieImdbDetailsDto to( 16 | /** IMDB电影基础信息 */ 17 | MovieImdb movieImdb, 18 | /** IMDB电影评分信息(包括烂番茄、MTC) */ 19 | RateImdb rateImdb, 20 | /** IMDB电影-类型列表 */ 21 | List movieImdbToTypeMovieList, 22 | /** 与IMDB电影相关的IMDB影人列表 */ 23 | List celebrityImdbOfMovieImdbDoList); 24 | } 25 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/src/main/java/org/humingk/movie/service/imdb/dto/celebrity/CelebrityImdbDetailsDto.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.imdb.dto.celebrity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.domain.imdb.MovieImdbOfCelebrityImdbDo; 7 | import org.humingk.movie.dal.entity.CelebrityImdb; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * IMDB影人详细信息 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class CelebrityImdbDetailsDto implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** IMDB影人基础信息 */ 23 | private CelebrityImdb celebrityImdb; 24 | /** 与IMDB影人相关的IMDB电影 */ 25 | private List movieImdbOfCelebrityImdbDoList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10204 3 | spring: 4 | application: 5 | name: movie-service-imdb 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-imdb/src/test/java/org/humingk/movie/service/imdb/MovieServiceImdbApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.imdb; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceImdbApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-netease/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-netease 12 | movie-service-netease 13 | netease service for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-services/movie-service-netease/src/main/java/org/humingk/movie/service/netease/MovieServiceNeteaseApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.netease; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.netease", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceNeteaseApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceNeteaseApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-netease/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10202 3 | spring: 4 | application: 5 | name: movie-service-netease 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-netease/src/test/java/org/humingk/movie/service/netease/MovieServiceNeteaseApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.netease; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceNeteaseApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-resource/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-resource 12 | movie-service-resource 13 | resource service for movie 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /movie-services/movie-service-resource/src/main/java/org/humingk/movie/service/resource/MovieServiceResourceApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.resource; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.resource", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceResourceApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceResourceApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-resource/src/main/java/org/humingk/movie/service/resource/service/ResourceService.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.resource.service; 2 | 3 | import org.humingk.movie.dal.entity.ResourceMovie; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * 电影资源服务 10 | * 11 | * @author humingk 12 | */ 13 | @Validated 14 | public interface ResourceService { 15 | /** 16 | * 获取电影资源 17 | * 18 | * @param id 豆瓣电影ID 19 | * @param limit 限制数 20 | * @return 21 | */ 22 | List getResourceListByMovieDoubanId(Long id, int limit); 23 | 24 | /** 25 | * 搜索电影资源 26 | * 27 | * @param keyword 电影关键字 28 | * @param offset 偏移量 29 | * @param limit 限制数 30 | * @return 31 | */ 32 | List getResourceListByKeyword(String keyword, int offset, int limit); 33 | } 34 | -------------------------------------------------------------------------------- /movie-services/movie-service-resource/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10207 3 | spring: 4 | application: 5 | name: movie-service-resource 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-resource/src/test/java/org/humingk/movie/service/resource/MovieServiceResourceApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.resource; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceResourceApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-scene 12 | movie-service-scene 13 | scene service for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/java/org/humingk/movie/service/scene/MovieServiceSceneApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.scene", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceSceneApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceSceneApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/java/org/humingk/movie/service/scene/converter/MovieSceneAllDtoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene.converter; 2 | 3 | import org.humingk.movie.dal.domain.scene.all.SceneAllDo; 4 | import org.humingk.movie.dal.entity.MovieScene; 5 | import org.humingk.movie.service.scene.dto.MovieSceneAllDto; 6 | import org.mapstruct.Mapper; 7 | 8 | import java.util.List; 9 | 10 | /** @author humingk */ 11 | @Mapper(componentModel = "spring") 12 | public interface MovieSceneAllDtoConverter { 13 | default MovieSceneAllDto to(MovieScene movieScene, List sceneAllDoList) { 14 | return new MovieSceneAllDto(movieScene, sceneAllDoList); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/java/org/humingk/movie/service/scene/converter/MovieSceneBriefDtoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene.converter; 2 | 3 | import org.humingk.movie.dal.domain.scene.brief.SceneBriefDo; 4 | import org.humingk.movie.dal.entity.MovieScene; 5 | import org.humingk.movie.service.scene.dto.MovieSceneBriefDto; 6 | import org.mapstruct.Mapper; 7 | 8 | import java.util.List; 9 | 10 | /** @author humingk */ 11 | @Mapper(componentModel = "spring") 12 | public interface MovieSceneBriefDtoConverter { 13 | default MovieSceneBriefDto to(MovieScene movieScene, List sceneBriefDoList) { 14 | return new MovieSceneBriefDto(movieScene, sceneBriefDoList); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/java/org/humingk/movie/service/scene/dto/MovieSceneAllDto.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene.dto; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.domain.scene.all.SceneAllDo; 7 | import org.humingk.movie.dal.entity.MovieScene; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 场景详细信息 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | public class MovieSceneAllDto implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 场景电影基础信息 */ 23 | private MovieScene movieScene; 24 | /** 场景详细信息列表 */ 25 | private List sceneAllDoList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/java/org/humingk/movie/service/scene/dto/MovieSceneBriefDto.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene.dto; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.domain.scene.brief.SceneBriefDo; 7 | import org.humingk.movie.dal.entity.MovieScene; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 场景简略信息 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @AllArgsConstructor 19 | @NoArgsConstructor 20 | public class MovieSceneBriefDto implements Serializable { 21 | private static final long serialVersionUID = 1L; 22 | /** 场景电影基础信息 */ 23 | private MovieScene movieScene; 24 | /** 场景地点简略信息 */ 25 | private List sceneBriefDoList; 26 | } 27 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/java/org/humingk/movie/service/scene/service/ScenePlaceService.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene.service; 2 | 3 | import org.humingk.movie.dal.entity.PlaceScene; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * 场景地点服务 10 | * 11 | * @author humingk 12 | */ 13 | @Validated 14 | public interface ScenePlaceService { 15 | /** 16 | * 获取场景地点列表 17 | * 18 | * @param keyword 地点名称关键字,包括% 19 | * @param offset 偏移量 20 | * @param limit 限制数 21 | * @return 22 | */ 23 | List getPlaceSceneListByKeyword(String keyword, int offset, int limit); 24 | 25 | /** 26 | * 获取场景地点列表 27 | * 28 | * @param keyword 地点名称关键字 29 | * @param offset 偏移量 30 | * @param limit 限制数 31 | * @return 32 | */ 33 | List getPlaceSceneListByPlaceKeywordStart(String keyword, int offset, int limit); 34 | } 35 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10205 3 | spring: 4 | application: 5 | name: movie-service-scene 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-scene/src/test/java/org/humingk/movie/service/scene/MovieServiceSceneApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.scene; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceSceneApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-user/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-user 12 | movie-service-user 13 | user service for movie 14 | 15 | 16 | 17 | 18 | org.springframework.cloud 19 | spring-cloud-starter-security 20 | provided 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /movie-services/movie-service-user/src/main/java/org/humingk/movie/service/user/MovieServiceUserApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.user; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.user", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceUserApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceUserApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-user/src/main/java/org/humingk/movie/service/user/entity/SecurityRole.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.user.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import org.humingk.movie.dal.entity.Role; 6 | import org.springframework.security.core.GrantedAuthority; 7 | 8 | /** 9 | * Spring Security 专用Role类 10 | * 11 | *

实现GrantedAuthority: 用户获取权限认证 12 | * 13 | * @author humingk 14 | */ 15 | @Data 16 | @AllArgsConstructor 17 | public class SecurityRole extends Role implements GrantedAuthority { 18 | 19 | public SecurityRole(Role role) { 20 | super(role.getId(), role.getNameZh(), role.getDescription()); 21 | } 22 | 23 | /** 24 | * 获取角色名(权限点) 25 | * 26 | * @return 27 | */ 28 | @Override 29 | public String getAuthority() { 30 | return getNameZh(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /movie-services/movie-service-user/src/main/java/org/humingk/movie/service/user/service/RegisterService.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.user.service; 2 | 3 | import org.humingk.movie.dal.entity.User; 4 | import org.springframework.validation.annotation.Validated; 5 | 6 | /** 7 | * 用户注册服务 8 | * 9 | * @author humingk 10 | */ 11 | @Validated 12 | public interface RegisterService { 13 | /** 14 | * 用户注册 15 | * 16 | * @param user 用户Pojo 17 | * @return 用户ID 18 | */ 19 | String register(User user); 20 | } 21 | -------------------------------------------------------------------------------- /movie-services/movie-service-user/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10201 3 | spring: 4 | application: 5 | name: movie-service-user 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-user/src/test/java/org/humingk/movie/service/user/MovieServiceUserApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.user; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceUserApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.humingk 7 | movie-services 8 | 2.0.11 9 | ../pom.xml 10 | 11 | movie-service-zhihu 12 | movie-service-zhihu 13 | zhihu service for movie 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/src/main/java/org/humingk/movie/service/zhihu/MovieServiceZhihuApplication.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.zhihu; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 7 | import org.springframework.context.annotation.ComponentScan; 8 | 9 | /** @author humingk */ 10 | @SpringBootApplication 11 | @EnableEurekaClient 12 | @ComponentScan( 13 | basePackages = { 14 | "org.humingk.movie.service.zhihu", 15 | "org.humingk.movie.common", 16 | "org.humingk.movie.dal" 17 | }) 18 | @MapperScan( 19 | basePackages = {"org.humingk.movie.dal.mapper.auto", "org.humingk.movie.dal.mapper.plus"}) 20 | public class MovieServiceZhihuApplication { 21 | 22 | public static void main(String[] args) { 23 | SpringApplication.run(MovieServiceZhihuApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/src/main/java/org/humingk/movie/service/zhihu/converter/ZhihuDtoConverter.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.zhihu.converter; 2 | 3 | import org.humingk.movie.dal.entity.MovieZhihu; 4 | import org.humingk.movie.dal.entity.QuestionZhihu; 5 | import org.humingk.movie.service.zhihu.dto.ZhihuDto; 6 | import org.mapstruct.Mapper; 7 | 8 | import java.util.List; 9 | 10 | /** @author humingk */ 11 | @Mapper(componentModel = "spring") 12 | public interface ZhihuDtoConverter { 13 | ZhihuDto to(MovieZhihu movieZhihu, List questionZhihuList); 14 | } 15 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/src/main/java/org/humingk/movie/service/zhihu/dto/ZhihuDto.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.zhihu.dto; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import org.humingk.movie.dal.entity.MovieZhihu; 7 | import org.humingk.movie.dal.entity.QuestionZhihu; 8 | 9 | import java.io.Serializable; 10 | import java.util.List; 11 | 12 | /** 13 | * 知乎相关 14 | * 15 | * @author humingk 16 | */ 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | public class ZhihuDto implements Serializable { 21 | /** 知乎话题 */ 22 | private MovieZhihu movieZhihu; 23 | /** 知乎问题列表 */ 24 | private List questionZhihuList; 25 | } 26 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/src/main/java/org/humingk/movie/service/zhihu/service/ZhihuService.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.zhihu.service; 2 | 3 | import org.humingk.movie.dal.entity.MovieZhihu; 4 | import org.humingk.movie.service.zhihu.dto.ZhihuDto; 5 | import org.springframework.validation.annotation.Validated; 6 | 7 | /** 8 | * 知乎电影相关服务 9 | * 10 | * @author humingk 11 | */ 12 | @Validated 13 | public interface ZhihuService { 14 | /** 15 | * 获取知乎电影相关,包括问题 16 | * 17 | * @param id 豆瓣电影ID 18 | * @return 19 | */ 20 | ZhihuDto getMovieZhihuByMovieDoubanId(Long id); 21 | 22 | /** 23 | * 获取知乎电影话题 24 | * 25 | * @param id 豆瓣电影ID 26 | * @return 27 | */ 28 | MovieZhihu getMovieZhihuTopicByMovieDoubanId(Long id); 29 | } 30 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 10206 3 | spring: 4 | application: 5 | name: movie-service-zhihu 6 | profiles: 7 | # 当前服务启用的运行环境:dev/pro 8 | active: dev 9 | cloud: 10 | config: 11 | name: mysql,redis,rabbitmq,feign-client,aes,logback 12 | # 当前服务使用的config配置类型:dev/pro 13 | profile: ${spring.profiles.active} 14 | discovery: 15 | # 开启服务发现 16 | enabled: true 17 | service-id: movie-server-config 18 | # eureka注册 19 | eureka: 20 | client: 21 | service-url: 22 | defaultZone: http://localhost:8761/eureka/ 23 | -------------------------------------------------------------------------------- /movie-services/movie-service-zhihu/src/test/java/org/humingk/movie/service/zhihu/MovieServiceZhihuApplicationTests.java: -------------------------------------------------------------------------------- 1 | package org.humingk.movie.service.zhihu; 2 | 3 | import org.junit.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | public class MovieServiceZhihuApplicationTests { 8 | 9 | @Test 10 | public void contextLoads() {} 11 | } 12 | --------------------------------------------------------------------------------