From 3d098eea5e95b6a15327e196d9d2d840a4a6be6a Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <1179705413@qq.com> Date: Thu, 30 Mar 2023 16:15:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=9F=BA=E4=BA=8E=20novel=20?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=20&=20Spring=20Cloud=202022=20&=20Spring=20C?= =?UTF-8?q?loud=20Alibaba=202022=20=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 201 --- README.en.md | 36 - README.md | 162 +-- assert/QQ20200528-020224.png | Bin 132881 -> 0 bytes assert/QQ20200528-020357.png | Bin 138389 -> 0 bytes assert/QQ20200528-020445.png | Bin 128981 -> 0 bytes assert/QQ20200528-020543.png | Bin 116722 -> 0 bytes assert/QQ20200528-200023.png | Bin 136349 -> 0 bytes assert/QQ20200528-221348.png | Bin 144869 -> 0 bytes assert/QQ20200529-0.png | Bin 155559 -> 0 bytes assert/QQ20200529-082052.png | Bin 142770 -> 0 bytes assert/QQ20200529-1.png | Bin 166649 -> 0 bytes assert/QQ20200529-170006.png | Bin 323010 -> 0 bytes assert/QQ20200529-175108.png | Bin 357059 -> 0 bytes assert/QQ20200529-180807.png | Bin 119871 -> 0 bytes assert/QQ20200529-181203.png | Bin 97409 -> 0 bytes assert/QQ20200529-181406.png | Bin 199488 -> 0 bytes assert/QQ20200529-181531.png | Bin 140717 -> 0 bytes assert/QQ20200529-182356.png | Bin 125715 -> 0 bytes assert/QQ20200529-182657.png | Bin 88460 -> 0 bytes assert/QQ20200529-182931.png | Bin 138989 -> 0 bytes assert/QQ20200529-183445.png | Bin 109341 -> 0 bytes assert/QQ20200529-184805.png | Bin 92871 -> 0 bytes assert/QQ20200529-185750.png | Bin 91531 -> 0 bytes assert/QQ20200529-185912.png | Bin 132937 -> 0 bytes assert/QQ20200529-190730.png | Bin 47689 -> 0 bytes assert/QQ20200531-194300.png | Bin 120075 -> 0 bytes assert/QQ20200531-194554.png | Bin 119964 -> 0 bytes assert/QQ20200602-194556.png | Bin 88118 -> 0 bytes assert/QQ20200602-194713.png | Bin 35879 -> 0 bytes assert/QQ20200602-194859.png | Bin 140818 -> 0 bytes assert/QQ20200602-195025.png | Bin 96308 -> 0 bytes assert/QQ20200602-195114.png | Bin 61887 -> 0 bytes assert/QQ20200603-080655.png | Bin 166343 -> 0 bytes assert/image-20200529173322783.png | Bin 174813 -> 0 bytes assert/nacos_config.png | Bin 0 -> 115893 bytes assert/navoel-discovery.png | Bin 0 -> 148892 bytes assert/novel-monitor.png | Bin 0 -> 241649 bytes assert/pc_index.png | Bin 1177085 -> 0 bytes assert/小说精品屋开源项目交流群群聊二维码.png | Bin 410034 -> 0 bytes assert/小说网站Springcloud架构设计.png | Bin 108895 -> 0 bytes assert/项目架构.png | Bin 339075 -> 0 bytes bin/run.sh | 11 + doc/es/{index_create.txt => book.http} | 46 +- .../nacos_config_export_20230330104229.zip | Bin 0 -> 1514 bytes doc/sql/20200603.sql | 116 -- doc/sql/init.sql | 1038 +++++++++++++++ doc/sql/novel-cloud数据模型.ndm | Bin 19509 -> 0 bytes doc/sql/novel_cloud.sql | 1138 ----------------- doc/yml/20210403/novel-gateway.yml | 68 - .../nacos_config_export_20200603084216.zip | Bin 7560 -> 0 bytes novel-author/author-api/pom.xml | 34 - .../java2nb/novel/author/entity/Author.java | 148 --- .../novel/author/entity/AuthorCode.java | 92 -- novel-author/author-service/pom.xml | 71 - .../com/java2nb/novel/AuthorApplication.java | 24 - .../mapper/AuthorCodeDynamicSqlSupport.java | 50 - .../novel/author/mapper/AuthorCodeMapper.java | 177 --- .../mapper/AuthorDynamicSqlSupport.java | 70 - .../novel/author/mapper/AuthorMapper.java | 205 --- .../src/main/resources/application.yml | 4 - .../src/main/resources/bootstrap.yml | 13 - .../novel-author-api}/pom.xml | 21 +- .../novel/author/dto/AuthorInfoDto.java | 28 + .../author/dto/req/AuthorRegisterReqDto.java | 58 + novel-author/novel-author-service/pom.xml | 36 + .../novel/author/NovelAuthorApplication.java | 21 + .../novel/author/config/AuthInterceptor.java | 88 ++ .../novel/author/config/WebConfig.java | 45 + .../controller/author/AuthorController.java | 110 ++ .../novel/author/dao/entity/AuthorCode.java | 114 ++ .../novel/author/dao/entity/AuthorIncome.java | 185 +++ .../author/dao/entity/AuthorIncomeDetail.java | 157 +++ .../novel/author/dao/entity/AuthorInfo.java | 184 +++ .../author/dao/mapper/AuthorCodeMapper.java | 17 + .../dao/mapper/AuthorIncomeDetailMapper.java | 16 + .../author/dao/mapper/AuthorIncomeMapper.java | 16 + .../author/dao/mapper/AuthorInfoMapper.java | 16 + .../manager/cache/AuthorInfoCacheManager.java | 54 + .../manager/feign/BookFeignManager.java | 60 + .../novel/author/service/AuthorService.java | 30 + .../service/impl/AuthorServiceImpl.java | 63 + .../src/main/resources/application.yml | 15 + .../src/main/resources/bootstrap.yml | 6 + .../src/main/resources/logback-spring.xml | 79 ++ novel-author/pom.xml | 23 +- novel-book/book-api/pom.xml | 24 - .../com/java2nb/novel/book/api/BookApi.java | 95 -- .../book/api/fallback/BookApiFallback.java | 60 - .../com/java2nb/novel/book/entity/Book.java | 359 ------ .../novel/book/entity/BookCategory.java | 116 -- .../novel/book/entity/BookComment.java | 107 -- .../novel/book/entity/BookCommentReply.java | 92 -- .../novel/book/entity/BookContent.java | 49 - .../java2nb/novel/book/entity/BookIndex.java | 118 -- .../java2nb/novel/book/vo/BookCommentVO.java | 31 - .../com/java2nb/novel/book/vo/BookVO.java | 24 - novel-book/book-service/pom.xml | 93 -- .../com/java2nb/novel/BookApplication.java | 30 - .../novel/book/controller/BookController.java | 171 --- .../novel/book/controller/api/BookApi.java | 120 -- .../novel/book/feign/UserFeignClient.java | 15 - .../book/listener/BookVisitAddListener.java | 73 -- .../mapper/BookCategoryDynamicSqlSupport.java | 60 - .../novel/book/mapper/BookCategoryMapper.java | 191 --- .../mapper/BookCommentDynamicSqlSupport.java | 55 - .../novel/book/mapper/BookCommentMapper.java | 186 --- .../BookCommentReplyDynamicSqlSupport.java | 50 - .../book/mapper/BookCommentReplyMapper.java | 177 --- .../mapper/BookContentDynamicSqlSupport.java | 34 - .../novel/book/mapper/BookContentMapper.java | 156 --- .../book/mapper/BookDynamicSqlSupport.java | 145 --- .../mapper/BookIndexDynamicSqlSupport.java | 60 - .../novel/book/mapper/BookIndexMapper.java | 191 --- .../java2nb/novel/book/mapper/BookMapper.java | 316 ----- .../novel/book/service/BookService.java | 157 --- .../book/service/impl/BookServiceImpl.java | 357 ------ .../src/main/resources/application.yml | 4 - .../src/main/resources/bootstrap.yml | 17 - .../resources/mybatis/mapping/BookMapper.xml | 38 - novel-book/novel-book-api/pom.xml | 35 + .../novel/book/dto/req/BookAddReqDto.java | 76 ++ .../novel/book/dto/req/BookCommentReqDto.java | 27 + .../novel/book/dto/req/BookPageReqDto.java | 24 + .../novel/book/dto/req/BookSearchReqDto.java | 78 ++ .../novel/book/dto/req/ChapterAddReqDto.java | 50 + .../novel/book/dto/req/ChapterPageReqDto.java | 25 + .../book/dto/resp/BookCategoryRespDto.java | 29 + .../dto/resp/BookChapterAboutRespDto.java | 31 + .../book/dto/resp/BookChapterRespDto.java | 78 ++ .../book/dto/resp/BookCommentRespDto.java | 54 + .../dto/resp/BookContentAboutRespDto.java | 35 + .../novel/book/dto/resp/BookEsRespDto.java | 105 ++ .../novel/book/dto/resp/BookInfoRespDto.java | 122 ++ .../novel/book/dto/resp/BookRankRespDto.java | 84 ++ .../xxyopen/novel/book/feign/BookFeign.java | 132 ++ novel-book/novel-book-service/pom.xml | 57 + .../novel/book/NovelBookApplication.java | 21 + .../xxyopen/novel/book/config/WebConfig.java | 33 + .../controller/front/FrontBookController.java | 156 +++ .../controller/inner/InnerBookController.java | 116 ++ .../novel/book/dao/entity/BookCategory.java | 111 ++ .../novel/book/dao/entity/BookChapter.java | 133 ++ .../novel/book/dao/entity/BookComment.java | 142 ++ .../book/dao/entity/BookCommentCopy1.java | 142 ++ .../book/dao/entity/BookCommentReply.java | 125 ++ .../novel/book/dao/entity/BookContent.java | 94 ++ .../novel/book/dao/entity/BookInfo.java | 310 +++++ .../book/dao/mapper/BookCategoryMapper.java | 16 + .../book/dao/mapper/BookChapterMapper.java | 17 + .../dao/mapper/BookCommentCopy1Mapper.java | 16 + .../book/dao/mapper/BookCommentMapper.java | 16 + .../dao/mapper/BookCommentReplyMapper.java | 16 + .../book/dao/mapper/BookContentMapper.java | 16 + .../novel/book/dao/mapper/BookInfoMapper.java | 37 + .../cache/BookCategoryCacheManager.java | 42 + .../cache/BookChapterCacheManager.java | 41 + .../cache/BookContentCacheManager.java | 38 + .../manager/cache/BookInfoCacheManager.java | 96 ++ .../manager/cache/BookRankCacheManager.java | 84 ++ .../book/manager/feign/UserFeignManager.java | 36 + .../novel/book/manager/mq/AmqpMsgManager.java | 51 + .../novel/book/service/BookService.java | 192 +++ .../book/service/impl/BookServiceImpl.java | 472 +++++++ .../src/main/resources/application.yml | 15 + .../src/main/resources/bootstrap.yml | 6 + .../src/main/resources/logback-spring.xml | 63 +- .../main/resources/mapper/BookInfoMapper.xml | 45 + novel-book/pom.xml | 23 +- novel-common/pom.xml | 130 -- .../novel/common/base/BaseController.java | 49 - .../java2nb/novel/common/bean/PageBean.java | 56 - .../java2nb/novel/common/bean/ResultBean.java | 76 -- .../novel/common/bean/UserDetails.java | 19 - .../java2nb/novel/common/cache/CacheKey.java | 71 - .../novel/common/cache/CacheService.java | 58 - .../common/cache/impl/RedisServiceImpl.java | 76 -- .../novel/common/config/RabbitConfig.java | 65 - .../novel/common/config/Swagger2Config.java | 82 -- .../novel/common/enums/ResponseStatus.java | 77 -- .../common/exception/BusinessException.java | 25 - .../exception/CommonExceptionHandler.java | 47 - .../java2nb/novel/common/utils/BeanUtil.java | 35 - .../java2nb/novel/common/utils/Constants.java | 40 - .../novel/common/utils/CookieUtil.java | 32 - .../java2nb/novel/common/utils/FileUtil.java | 88 -- .../java2nb/novel/common/utils/HttpUtil.java | 32 - .../java2nb/novel/common/utils/IdWorker.java | 163 --- .../java2nb/novel/common/utils/IpUtil.java | 40 - .../novel/common/utils/JwtTokenUtil.java | 133 -- .../java2nb/novel/common/utils/MD5Util.java | 65 - .../common/utils/RandomBookInfoUtil.java | 97 -- .../common/utils/RandomValidateCodeUtil.java | 141 -- .../novel/common/utils/RestTemplateUtil.java | 78 -- .../novel/common/utils/SpringUtil.java | 55 - .../novel/common/utils/StringUtil.java | 72 -- .../novel/common/utils/ThreadUtil.java | 28 - .../java2nb/novel/common/utils/UUIDUtil.java | 99 -- .../java2nb/novel/common/valid/AddGroup.java | 11 - .../novel/common/valid/UpdateGroup.java | 11 - .../src/main/resources/application-common.yml | 33 - .../src/main/resources/bootstrap-dev.yml | 9 - .../src/main/resources/bootstrap-prod.yml | 9 - novel-core/novel-common/pom.xml | 54 + .../xxyopen/novel/common/auth/JwtUtils.java | 78 ++ .../xxyopen/novel/common/auth/UserHolder.java | 45 + .../novel/common/constant/AmqpConsts.java | 33 + .../common/constant/ApiRouterConsts.java | 114 ++ .../novel/common/constant/CacheConsts.java | 175 +++ .../novel/common/constant/CommonConsts.java | 57 + .../novel/common/constant/DatabaseConsts.java | 201 +++ .../novel/common/constant/ErrorCodeEnum.java | 152 +++ .../constant/MessageSenderTypeConsts.java | 25 + .../common/constant/SystemConfigConsts.java | 45 + .../deserializer/GlobalJsonDeserializer.java | 32 + .../json/serializer/UsernameSerializer.java | 22 + .../xxyopen/novel/common/req/PageReqDto.java | 33 + .../novel/common/resp/PageRespDto.java | 63 + .../xxyopen/novel/common/resp/RestResp.java | 87 ++ novel-core/novel-config/pom.xml | 159 +++ .../xxyopen/novel/config/AmqpConfig.java | 44 + .../xxyopen/novel/config/CacheConfig.java | 92 ++ .../novel/config/MybatisPlusConfig.java | 28 + .../xxyopen/novel/config/OpenApiConfig.java | 25 + .../xxyopen/novel/config/XssProperties.java | 15 + .../xxyopen/novel/config/annotation/Key.java | 23 + .../xxyopen/novel/config/annotation/Lock.java | 31 + .../novel/config/aspect/LockAspect.java | 86 ++ .../config/exception/BusinessException.java | 26 + .../exception/CommonExceptionHandler.java | 47 + .../novel/config/filter/XssFilter.java | 74 ++ .../interceptor/TokenParseInterceptor.java | 48 + .../wrapper/XssHttpServletRequestWrapper.java | 43 + .../src/main/resources/application-common.yml | 142 ++ .../src/main/resources/bootstrap-common.yml | 15 + {novel-pay => novel-core}/pom.xml | 15 +- novel-file/pom.xml | 108 -- .../com/java2nb/novel/FileApplication.java | 22 - .../novel/file/config/OssProperties.java | 32 - .../novel/file/feign/BookFeignClient.java | 17 - .../file/schedule/CrawlPicTransSchedule.java | 77 -- .../novel/file/service/FileService.java | 21 - .../file/service/impl/FileServiceImpl.java | 68 - novel-file/src/main/resources/application.yml | 4 - novel-file/src/main/resources/bootstrap.yml | 13 - novel-gateway/pom.xml | 109 +- .../gateway/config/GatewayConfiguration.java | 128 -- .../novel/gateway/swagger/SwaggerFilter.java | 38 - .../novel/gateway/swagger/SwaggerHandler.java | 48 - .../gateway/swagger/SwaggerProvider.java | 57 - .../gateway/NovelGatewayApplication.java} | 8 +- .../novel/gateway/config/NovelCorsConfig.java | 7 +- .../src/main/resources/application.yml | 64 + .../src/main/resources/bootstrap.yml | 11 +- .../src/main/resources/logback-spring.xml | 63 +- .../java2nb/novel/author/entity/Author.java | 147 --- .../novel/author/entity/AuthorCode.java | 91 -- .../mapper/AuthorCodeDynamicSqlSupport.java | 49 - .../novel/author/mapper/AuthorCodeMapper.java | 183 --- .../mapper/AuthorDynamicSqlSupport.java | 69 - .../novel/author/mapper/AuthorMapper.java | 211 --- .../com/java2nb/novel/book/entity/Book.java | 357 ------ .../novel/book/entity/BookCategory.java | 115 -- .../novel/book/entity/BookComment.java | 105 -- .../novel/book/entity/BookCommentReply.java | 91 -- .../novel/book/entity/BookContent.java | 48 - .../java2nb/novel/book/entity/BookIndex.java | 117 -- .../mapper/BookCategoryDynamicSqlSupport.java | 59 - .../novel/book/mapper/BookCategoryMapper.java | 197 --- .../mapper/BookCommentDynamicSqlSupport.java | 54 - .../novel/book/mapper/BookCommentMapper.java | 190 --- .../BookCommentReplyDynamicSqlSupport.java | 49 - .../book/mapper/BookCommentReplyMapper.java | 183 --- .../mapper/BookContentDynamicSqlSupport.java | 33 - .../novel/book/mapper/BookContentMapper.java | 162 --- .../book/mapper/BookDynamicSqlSupport.java | 144 --- .../mapper/BookIndexDynamicSqlSupport.java | 59 - .../novel/book/mapper/BookIndexMapper.java | 197 --- .../java2nb/novel/book/mapper/BookMapper.java | 316 ----- .../java2nb/novel/gen/CommentGenerator.java | 66 - .../java/com/java2nb/novel/gen/Generator.java | 41 - .../java2nb/novel/home/entity/HomeBook.java | 118 -- .../novel/home/entity/HomeFriendLink.java | 133 -- .../mapper/HomeBookDynamicSqlSupport.java | 59 - .../novel/home/mapper/HomeBookMapper.java | 197 --- .../HomeFriendLinkDynamicSqlSupport.java | 64 - .../home/mapper/HomeFriendLinkMapper.java | 204 --- .../com/java2nb/novel/news/entity/News.java | 147 --- .../novel/news/entity/NewsCategory.java | 101 -- .../mapper/NewsCategoryDynamicSqlSupport.java | 54 - .../novel/news/mapper/NewsCategoryMapper.java | 190 --- .../news/mapper/NewsDynamicSqlSupport.java | 69 - .../java2nb/novel/news/mapper/NewsMapper.java | 211 --- .../com/java2nb/novel/pay/entity/PayLog.java | 147 --- .../pay/mapper/PayLogDynamicSqlSupport.java | 69 - .../novel/pay/mapper/PayLogMapper.java | 211 --- .../novel/user/entity/UserBookshelf.java | 89 -- .../novel/user/entity/UserBuyRecord.java | 119 -- .../novel/user/entity/UserFeedback.java | 63 - .../novel/user/entity/UserPayRecord.java | 105 -- .../novel/user/entity/UserReadHistory.java | 89 -- .../UserBookshelfDynamicSqlSupport.java | 49 - .../user/mapper/UserBookshelfMapper.java | 183 --- .../UserBuyRecordDynamicSqlSupport.java | 59 - .../user/mapper/UserBuyRecordMapper.java | 197 --- .../mapper/UserFeedbackDynamicSqlSupport.java | 39 - .../novel/user/mapper/UserFeedbackMapper.java | 169 --- .../UserPayRecordDynamicSqlSupport.java | 54 - .../user/mapper/UserPayRecordMapper.java | 190 --- .../UserReadHistoryDynamicSqlSupport.java | 49 - .../user/mapper/UserReadHistoryMapper.java | 183 --- .../resources/mybatis/generatorConfig.xml | 54 - .../resources/mybatis/mapping/UserMapper.xml | 291 ----- novel-home/pom.xml | 63 +- .../com/java2nb/novel/HomeApplication.java | 20 - .../novel/home/controller/HomeController.java | 89 -- .../java2nb/novel/home/entity/HomeBook.java | 119 -- .../novel/home/entity/HomeFriendLink.java | 134 -- .../novel/home/feign/BookFeignClient.java | 18 - .../novel/home/feign/NewsFeignClient.java | 16 - .../feign/fallback/BookFeignFallback.java | 15 - .../mapper/HomeBookDynamicSqlSupport.java | 60 - .../novel/home/mapper/HomeBookMapper.java | 192 --- .../HomeFriendLinkDynamicSqlSupport.java | 65 - .../home/mapper/HomeFriendLinkMapper.java | 199 --- .../novel/home/service/HomeService.java | 56 - .../home/service/impl/HomeServiceImpl.java | 147 --- .../com/java2nb/novel/home/vo/HomeBookVO.java | 38 - .../novel/home/NovelHomeApplication.java | 21 + .../home/controller/front/HomeController.java | 49 + .../novel/home/dao/entity/HomeBook.java | 111 ++ .../novel/home/dao/entity/HomeFriendLink.java | 125 ++ .../novel/home/dao/mapper/HomeBookMapper.java | 16 + .../home/dao/mapper/HomeFriendLinkMapper.java | 16 + .../novel/home/dto/resp/HomeBookRespDto.java | 51 + .../home/dto/resp/HomeFriendLinkRespDto.java | 32 + .../manager/cache/FriendLinkCacheManager.java | 44 + .../manager/cache/HomeBookCacheManager.java | 86 ++ .../home/manager/feign/BookFeignManager.java | 35 + .../novel/home/service/HomeService.java | 30 + .../home/service/impl/HomeServiceImpl.java | 43 + novel-home/src/main/resources/application.yml | 18 +- novel-home/src/main/resources/bootstrap.yml | 12 +- .../src/main/resources/logback-spring.xml | 63 +- novel-monitor/pom.xml | 113 +- .../monitor/config/SecuritySecureConfig.java | 46 - .../monitor/NovelMonitorApplication.java | 18 +- .../monitor/config/CustomCsrfFilter.java | 44 + .../monitor/config/SecuritySecureConfig.java | 90 ++ .../src/main/resources/application.yml | 22 + .../src/main/resources/bootstrap.yml | 10 - .../com/java2nb/novel/news/api/NewsApi.java | 26 - .../com/java2nb/novel/news/entity/News.java | 149 --- .../novel/news/entity/NewsCategory.java | 102 -- .../com/java2nb/novel/news/vo/NewsVO.java | 22 - novel-news/news-service/pom.xml | 72 -- .../com/java2nb/novel/NewsApplication.java | 20 - .../novel/news/controller/NewsController.java | 60 - .../novel/news/controller/api/NewsApi.java | 41 - .../mapper/NewsCategoryDynamicSqlSupport.java | 55 - .../novel/news/mapper/NewsCategoryMapper.java | 184 --- .../news/mapper/NewsDynamicSqlSupport.java | 70 - .../java2nb/novel/news/mapper/NewsMapper.java | 205 --- .../novel/news/service/NewsService.java | 39 - .../news/service/impl/NewsServiceImpl.java | 75 -- .../src/main/resources/application.yml | 4 - .../src/main/resources/bootstrap.yml | 12 - .../src/main/resources/logback-boot.xml | 72 -- .../{news-api => novel-news-api}/pom.xml | 17 +- .../novel/news/dto/resp/NewsInfoRespDto.java | 64 + novel-news/novel-news-service/pom.xml | 48 + .../novel/news/NovelNewsApplication.java | 19 + .../novel/news/controller/NewsController.java | 50 + .../novel/news/dao/entity/NewsCategory.java | 97 ++ .../novel/news/dao/entity/NewsContent.java | 100 ++ .../novel/news/dao/entity/NewsInfo.java | 128 ++ .../news/dao/mapper/NewsCategoryMapper.java | 17 + .../news/dao/mapper/NewsContentMapper.java | 17 + .../novel/news/dao/mapper/NewsInfoMapper.java | 16 + .../news/manager/cache/NewsCacheManager.java | 47 + .../novel/news/service/NewsService.java | 30 + .../news/service/impl/NewsServiceImpl.java | 53 + .../src/main/resources/application.yml | 15 + .../src/main/resources/bootstrap.yml | 6 + .../src/main/resources/logback-spring.xml | 63 +- novel-news/pom.xml | 23 +- novel-pay/pay-api/pom.xml | 32 - .../com/java2nb/novel/pay/entity/PayLog.java | 147 --- novel-pay/pay-service/pom.xml | 68 - .../com/java2nb/novel/PayApplication.java | 20 - .../pay/mapper/PayLogDynamicSqlSupport.java | 70 - .../novel/pay/mapper/PayLogMapper.java | 211 --- .../src/main/resources/application.yml | 4 - .../src/main/resources/bootstrap.yml | 5 - .../src/main/resources/logback-boot.xml | 72 -- novel-resource/pom.xml | 37 + .../resource/NovelResourceApplication.java | 16 + .../novel/resource/config/WebConfig.java | 32 + .../controller/ResourceController.java | 49 + .../dto/resp/ImgVerifyCodeRespDto.java | 28 + .../resource/interceptor/FileInterceptor.java | 45 + .../manager/redis/VerifyCodeManager.java | 38 + .../resource/service/ResourceService.java | 31 + .../service/impl/ResourceServiceImpl.java | 79 ++ .../resource/util/ImgVerifyCodeUtils.java | 112 ++ .../src/main/resources/application.yml | 26 + .../src/main/resources/bootstrap.yml | 6 + .../src/main/resources/logback-spring.xml | 79 ++ novel-search/pom.xml | 85 +- .../com/java2nb/novel/SearchApplication.java | 24 - .../java2nb/novel/search/config/EsConfig.java | 40 - .../search/controller/SearchController.java | 43 - .../novel/search/feign/BookFeignClient.java | 17 - .../search/listener/BookVisitAddListener.java | 70 - .../search/schedule/BookToEsSchedule.java | 79 -- .../novel/search/service/SearchService.java | 34 - .../service/impl/SearchServiceImpl.java | 217 ---- .../com/java2nb/novel/search/vo/EsBookVO.java | 86 -- .../novel/search/vo/SearchParamVO.java | 52 - .../novel/search/NovelSearchApplication.java | 17 + .../xxyopen/novel/search/config/EsConfig.java | 80 ++ .../novel/search/config/XxlJobConfig.java | 43 + .../novel/search/constant/EsConsts.java | 118 ++ .../controller/front/SearchController.java | 41 + .../manager/feign/BookFeignManager.java | 34 + .../novel/search/service/SearchService.java | 25 + .../service/impl/SearchServiceImpl.java | 177 +++ .../novel/search/task/BookToEsTask.java | 82 ++ .../src/main/resources/application.yml | 32 +- novel-search/src/main/resources/bootstrap.yml | 15 +- .../src/main/resources/logback-boot.xml | 72 -- .../src/main/resources/logback-spring.xml | 79 ++ novel-user/novel-user-api/pom.xml | 35 + .../xxyopen/novel/user/dto/UserInfoDto.java | 26 + .../novel/user/dto/req/UserInfoUptReqDto.java | 33 + .../novel/user/dto/req/UserLoginReqDto.java | 26 + .../user/dto/req/UserRegisterReqDto.java | 40 + .../novel/user/dto/resp/UserInfoRespDto.java | 38 + .../novel/user/dto/resp/UserLoginRespDto.java | 24 + .../user/dto/resp/UserRegisterRespDto.java | 21 + .../xxyopen/novel/user/feign/UserFeign.java | 41 + novel-user/novel-user-service/pom.xml | 53 + .../novel/user/NovelUserApplication.java | 22 + .../novel/user/config/AuthInterceptor.java | 90 ++ .../xxyopen/novel/user/config/WebConfig.java | 36 + .../controller/front/FrontUserController.java | 140 ++ .../controller/inner/InnerUserController.java | 37 + .../novel/user/dao/entity/UserBookshelf.java | 114 ++ .../novel/user/dao/entity/UserComment.java | 142 ++ .../user/dao/entity/UserCommentReply.java | 125 ++ .../novel/user/dao/entity/UserConsumeLog.java | 156 +++ .../novel/user/dao/entity/UserFeedback.java | 97 ++ .../novel/user/dao/entity/UserInfo.java | 181 +++ .../novel/user/dao/entity/UserPayLog.java | 195 +++ .../user/dao/entity/UserReadHistory.java | 114 ++ .../user/dao/mapper/UserBookshelfMapper.java | 16 + .../user/dao/mapper/UserCommentMapper.java | 16 + .../dao/mapper/UserCommentReplyMapper.java | 16 + .../user/dao/mapper/UserConsumeLogMapper.java | 16 + .../user/dao/mapper/UserFeedbackMapper.java | 16 + .../novel/user/dao/mapper/UserInfoMapper.java | 16 + .../user/dao/mapper/UserPayLogMapper.java | 16 + .../dao/mapper/UserReadHistoryMapper.java | 16 + .../manager/cache/UserInfoCacheManager.java | 41 + .../user/manager/feign/BookFeignManager.java | 38 + .../user/manager/redis/VerifyCodeManager.java | 39 + .../novel/user/service/UserService.java | 89 ++ .../user/service/impl/UserServiceImpl.java | 184 +++ .../src/main/resources/application.yml | 15 + .../src/main/resources/bootstrap.yml | 6 + .../src/main/resources/logback-spring.xml | 79 ++ novel-user/pom.xml | 22 +- novel-user/user-api/pom.xml | 24 - .../com/java2nb/novel/user/api/UserApi.java | 37 - .../com/java2nb/novel/user/entity/User.java | 167 --- .../novel/user/entity/UserBookshelf.java | 90 -- .../novel/user/entity/UserBuyRecord.java | 120 -- .../novel/user/entity/UserFeedback.java | 64 - .../novel/user/entity/UserPayRecord.java | 106 -- .../novel/user/entity/UserReadHistory.java | 90 -- .../novel/user/vo/BookReadHistoryVO.java | 33 - .../java2nb/novel/user/vo/BookShelfVO.java | 33 - novel-user/user-service/pom.xml | 76 -- .../com/java2nb/novel/UserApplication.java | 20 - .../novel/user/controller/UserController.java | 299 ----- .../novel/user/controller/api/UserApi.java | 50 - .../novel/user/feign/BookFeignClient.java | 15 - .../UserBookshelfDynamicSqlSupport.java | 50 - .../user/mapper/UserBookshelfMapper.java | 177 --- .../UserBuyRecordDynamicSqlSupport.java | 60 - .../user/mapper/UserBuyRecordMapper.java | 191 --- .../user/mapper/UserDynamicSqlSupport.java | 70 - .../mapper/UserFeedbackDynamicSqlSupport.java | 40 - .../novel/user/mapper/UserFeedbackMapper.java | 163 --- .../java2nb/novel/user/mapper/UserMapper.java | 205 --- .../UserPayRecordDynamicSqlSupport.java | 55 - .../user/mapper/UserPayRecordMapper.java | 184 --- .../UserReadHistoryDynamicSqlSupport.java | 50 - .../user/mapper/UserReadHistoryMapper.java | 177 --- .../novel/user/service/UserService.java | 151 --- .../user/service/impl/UserServiceImpl.java | 334 ----- .../src/main/resources/application.yml | 4 - .../src/main/resources/bootstrap.yml | 17 - .../src/main/resources/logback-boot.xml | 72 -- pom.xml | 335 ++--- 505 files changed, 14127 insertions(+), 24067 deletions(-) delete mode 100644 LICENSE delete mode 100644 README.en.md delete mode 100644 assert/QQ20200528-020224.png delete mode 100644 assert/QQ20200528-020357.png delete mode 100644 assert/QQ20200528-020445.png delete mode 100644 assert/QQ20200528-020543.png delete mode 100644 assert/QQ20200528-200023.png delete mode 100644 assert/QQ20200528-221348.png delete mode 100644 assert/QQ20200529-0.png delete mode 100644 assert/QQ20200529-082052.png delete mode 100644 assert/QQ20200529-1.png delete mode 100644 assert/QQ20200529-170006.png delete mode 100644 assert/QQ20200529-175108.png delete mode 100644 assert/QQ20200529-180807.png delete mode 100644 assert/QQ20200529-181203.png delete mode 100644 assert/QQ20200529-181406.png delete mode 100644 assert/QQ20200529-181531.png delete mode 100644 assert/QQ20200529-182356.png delete mode 100644 assert/QQ20200529-182657.png delete mode 100644 assert/QQ20200529-182931.png delete mode 100644 assert/QQ20200529-183445.png delete mode 100644 assert/QQ20200529-184805.png delete mode 100644 assert/QQ20200529-185750.png delete mode 100644 assert/QQ20200529-185912.png delete mode 100644 assert/QQ20200529-190730.png delete mode 100644 assert/QQ20200531-194300.png delete mode 100644 assert/QQ20200531-194554.png delete mode 100644 assert/QQ20200602-194556.png delete mode 100644 assert/QQ20200602-194713.png delete mode 100644 assert/QQ20200602-194859.png delete mode 100644 assert/QQ20200602-195025.png delete mode 100644 assert/QQ20200602-195114.png delete mode 100644 assert/QQ20200603-080655.png delete mode 100644 assert/image-20200529173322783.png create mode 100644 assert/nacos_config.png create mode 100644 assert/navoel-discovery.png create mode 100644 assert/novel-monitor.png delete mode 100644 assert/pc_index.png delete mode 100644 assert/小说精品屋开源项目交流群群聊二维码.png delete mode 100644 assert/小说网站Springcloud架构设计.png delete mode 100644 assert/项目架构.png create mode 100644 bin/run.sh rename doc/es/{index_create.txt => book.http} (62%) create mode 100644 doc/nacos/nacos_config_export_20230330104229.zip delete mode 100644 doc/sql/20200603.sql create mode 100644 doc/sql/init.sql delete mode 100644 doc/sql/novel-cloud数据模型.ndm delete mode 100644 doc/sql/novel_cloud.sql delete mode 100644 doc/yml/20210403/novel-gateway.yml delete mode 100644 doc/yml/nacos_config_export_20200603084216.zip delete mode 100644 novel-author/author-api/pom.xml delete mode 100644 novel-author/author-api/src/main/java/com/java2nb/novel/author/entity/Author.java delete mode 100644 novel-author/author-api/src/main/java/com/java2nb/novel/author/entity/AuthorCode.java delete mode 100644 novel-author/author-service/pom.xml delete mode 100644 novel-author/author-service/src/main/java/com/java2nb/novel/AuthorApplication.java delete mode 100644 novel-author/author-service/src/main/java/com/java2nb/novel/author/mapper/AuthorCodeDynamicSqlSupport.java delete mode 100644 novel-author/author-service/src/main/java/com/java2nb/novel/author/mapper/AuthorCodeMapper.java delete mode 100644 novel-author/author-service/src/main/java/com/java2nb/novel/author/mapper/AuthorDynamicSqlSupport.java delete mode 100644 novel-author/author-service/src/main/java/com/java2nb/novel/author/mapper/AuthorMapper.java delete mode 100644 novel-author/author-service/src/main/resources/application.yml delete mode 100644 novel-author/author-service/src/main/resources/bootstrap.yml rename {novel-gen => novel-author/novel-author-api}/pom.xml (53%) create mode 100644 novel-author/novel-author-api/src/main/java/io/github/xxyopen/novel/author/dto/AuthorInfoDto.java create mode 100644 novel-author/novel-author-api/src/main/java/io/github/xxyopen/novel/author/dto/req/AuthorRegisterReqDto.java create mode 100644 novel-author/novel-author-service/pom.xml create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/NovelAuthorApplication.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/config/AuthInterceptor.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/config/WebConfig.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/controller/author/AuthorController.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/entity/AuthorCode.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/entity/AuthorIncome.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/entity/AuthorIncomeDetail.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/entity/AuthorInfo.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/mapper/AuthorCodeMapper.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/mapper/AuthorIncomeDetailMapper.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/mapper/AuthorIncomeMapper.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/dao/mapper/AuthorInfoMapper.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/manager/cache/AuthorInfoCacheManager.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/manager/feign/BookFeignManager.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/service/AuthorService.java create mode 100644 novel-author/novel-author-service/src/main/java/io/github/xxyopen/novel/author/service/impl/AuthorServiceImpl.java create mode 100644 novel-author/novel-author-service/src/main/resources/application.yml create mode 100644 novel-author/novel-author-service/src/main/resources/bootstrap.yml create mode 100644 novel-author/novel-author-service/src/main/resources/logback-spring.xml delete mode 100644 novel-book/book-api/pom.xml delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/api/BookApi.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/api/fallback/BookApiFallback.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/entity/Book.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/entity/BookCategory.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/entity/BookComment.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/entity/BookCommentReply.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/entity/BookContent.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/entity/BookIndex.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/vo/BookCommentVO.java delete mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/vo/BookVO.java delete mode 100644 novel-book/book-service/pom.xml delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/BookApplication.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/controller/BookController.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/controller/api/BookApi.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/feign/UserFeignClient.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/listener/BookVisitAddListener.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookCategoryDynamicSqlSupport.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookCategoryMapper.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookCommentDynamicSqlSupport.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookCommentMapper.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookCommentReplyDynamicSqlSupport.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookCommentReplyMapper.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookContentDynamicSqlSupport.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookContentMapper.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookDynamicSqlSupport.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookIndexDynamicSqlSupport.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookIndexMapper.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/mapper/BookMapper.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/service/BookService.java delete mode 100644 novel-book/book-service/src/main/java/com/java2nb/novel/book/service/impl/BookServiceImpl.java delete mode 100644 novel-book/book-service/src/main/resources/application.yml delete mode 100644 novel-book/book-service/src/main/resources/bootstrap.yml delete mode 100644 novel-book/book-service/src/main/resources/mybatis/mapping/BookMapper.xml create mode 100644 novel-book/novel-book-api/pom.xml create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/req/BookAddReqDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/req/BookCommentReqDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/req/BookPageReqDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/req/BookSearchReqDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/req/ChapterAddReqDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/req/ChapterPageReqDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookCategoryRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookChapterAboutRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookChapterRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookCommentRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookContentAboutRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookEsRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookInfoRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/dto/resp/BookRankRespDto.java create mode 100644 novel-book/novel-book-api/src/main/java/io/github/xxyopen/novel/book/feign/BookFeign.java create mode 100644 novel-book/novel-book-service/pom.xml create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/NovelBookApplication.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/config/WebConfig.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/controller/front/FrontBookController.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/controller/inner/InnerBookController.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookCategory.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookChapter.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookComment.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookCommentCopy1.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookCommentReply.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookContent.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/entity/BookInfo.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookCategoryMapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookChapterMapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookCommentCopy1Mapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookCommentMapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookCommentReplyMapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookContentMapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/dao/mapper/BookInfoMapper.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/cache/BookCategoryCacheManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/cache/BookChapterCacheManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/cache/BookContentCacheManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/cache/BookInfoCacheManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/cache/BookRankCacheManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/feign/UserFeignManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/manager/mq/AmqpMsgManager.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/service/BookService.java create mode 100644 novel-book/novel-book-service/src/main/java/io/github/xxyopen/novel/book/service/impl/BookServiceImpl.java create mode 100644 novel-book/novel-book-service/src/main/resources/application.yml create mode 100644 novel-book/novel-book-service/src/main/resources/bootstrap.yml rename novel-home/src/main/resources/logback-boot.xml => novel-book/novel-book-service/src/main/resources/logback-spring.xml (56%) create mode 100644 novel-book/novel-book-service/src/main/resources/mapper/BookInfoMapper.xml delete mode 100644 novel-common/pom.xml delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/base/BaseController.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/bean/PageBean.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/bean/ResultBean.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/bean/UserDetails.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/cache/CacheKey.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/cache/CacheService.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/cache/impl/RedisServiceImpl.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/config/RabbitConfig.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/config/Swagger2Config.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/enums/ResponseStatus.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/exception/BusinessException.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/exception/CommonExceptionHandler.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/BeanUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/Constants.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/CookieUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/FileUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/HttpUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/IdWorker.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/IpUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/JwtTokenUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/MD5Util.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/RandomBookInfoUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/RandomValidateCodeUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/RestTemplateUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/SpringUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/StringUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/ThreadUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/utils/UUIDUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/valid/AddGroup.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/common/valid/UpdateGroup.java delete mode 100644 novel-common/src/main/resources/application-common.yml delete mode 100644 novel-common/src/main/resources/bootstrap-dev.yml delete mode 100644 novel-common/src/main/resources/bootstrap-prod.yml create mode 100644 novel-core/novel-common/pom.xml create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/auth/JwtUtils.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/auth/UserHolder.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/AmqpConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/ApiRouterConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/CacheConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/CommonConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/DatabaseConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/ErrorCodeEnum.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/MessageSenderTypeConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/constant/SystemConfigConsts.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/json/deserializer/GlobalJsonDeserializer.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/json/serializer/UsernameSerializer.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/req/PageReqDto.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/resp/PageRespDto.java create mode 100644 novel-core/novel-common/src/main/java/io/github/xxyopen/novel/common/resp/RestResp.java create mode 100644 novel-core/novel-config/pom.xml create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/AmqpConfig.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/CacheConfig.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/MybatisPlusConfig.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/OpenApiConfig.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/XssProperties.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/annotation/Key.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/annotation/Lock.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/aspect/LockAspect.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/exception/BusinessException.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/exception/CommonExceptionHandler.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/filter/XssFilter.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/interceptor/TokenParseInterceptor.java create mode 100644 novel-core/novel-config/src/main/java/io/github/xxyopen/novel/config/wrapper/XssHttpServletRequestWrapper.java create mode 100644 novel-core/novel-config/src/main/resources/application-common.yml create mode 100644 novel-core/novel-config/src/main/resources/bootstrap-common.yml rename {novel-pay => novel-core}/pom.xml (68%) delete mode 100644 novel-file/pom.xml delete mode 100644 novel-file/src/main/java/com/java2nb/novel/FileApplication.java delete mode 100644 novel-file/src/main/java/com/java2nb/novel/file/config/OssProperties.java delete mode 100644 novel-file/src/main/java/com/java2nb/novel/file/feign/BookFeignClient.java delete mode 100644 novel-file/src/main/java/com/java2nb/novel/file/schedule/CrawlPicTransSchedule.java delete mode 100644 novel-file/src/main/java/com/java2nb/novel/file/service/FileService.java delete mode 100644 novel-file/src/main/java/com/java2nb/novel/file/service/impl/FileServiceImpl.java delete mode 100644 novel-file/src/main/resources/application.yml delete mode 100644 novel-file/src/main/resources/bootstrap.yml delete mode 100644 novel-gateway/src/main/java/com/java2nb/novel/gateway/config/GatewayConfiguration.java delete mode 100644 novel-gateway/src/main/java/com/java2nb/novel/gateway/swagger/SwaggerFilter.java delete mode 100644 novel-gateway/src/main/java/com/java2nb/novel/gateway/swagger/SwaggerHandler.java delete mode 100644 novel-gateway/src/main/java/com/java2nb/novel/gateway/swagger/SwaggerProvider.java rename novel-gateway/src/main/java/{com/java2nb/novel/gateway/GatewayApplication.java => io/github/xxyopen/novel/gateway/NovelGatewayApplication.java} (66%) rename novel-gateway/src/main/java/{com/java2nb => io/github/xxyopen}/novel/gateway/config/NovelCorsConfig.java (85%) create mode 100644 novel-gateway/src/main/resources/application.yml rename novel-author/author-service/src/main/resources/logback-boot.xml => novel-gateway/src/main/resources/logback-spring.xml (56%) delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/author/entity/Author.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/author/entity/AuthorCode.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/author/mapper/AuthorCodeDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/author/mapper/AuthorCodeMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/author/mapper/AuthorDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/author/mapper/AuthorMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/entity/Book.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/entity/BookCategory.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/entity/BookComment.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/entity/BookCommentReply.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/entity/BookContent.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/entity/BookIndex.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookCategoryDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookCategoryMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookCommentDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookCommentMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookCommentReplyDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookCommentReplyMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookContentDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookContentMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookIndexDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookIndexMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/book/mapper/BookMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/gen/CommentGenerator.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/gen/Generator.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/home/entity/HomeBook.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/home/entity/HomeFriendLink.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/home/mapper/HomeBookDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/home/mapper/HomeBookMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/home/mapper/HomeFriendLinkDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/home/mapper/HomeFriendLinkMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/news/entity/News.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/news/entity/NewsCategory.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/news/mapper/NewsCategoryDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/news/mapper/NewsCategoryMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/news/mapper/NewsDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/news/mapper/NewsMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/pay/entity/PayLog.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/pay/mapper/PayLogDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/pay/mapper/PayLogMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/entity/UserBookshelf.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/entity/UserBuyRecord.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/entity/UserFeedback.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/entity/UserPayRecord.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/entity/UserReadHistory.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserBookshelfDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserBookshelfMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserBuyRecordDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserBuyRecordMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserFeedbackDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserFeedbackMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserPayRecordDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserPayRecordMapper.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserReadHistoryDynamicSqlSupport.java delete mode 100644 novel-gen/src/main/java/com/java2nb/novel/user/mapper/UserReadHistoryMapper.java delete mode 100644 novel-gen/src/main/resources/mybatis/generatorConfig.xml delete mode 100644 novel-gen/src/main/resources/mybatis/mapping/UserMapper.xml delete mode 100644 novel-home/src/main/java/com/java2nb/novel/HomeApplication.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/controller/HomeController.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/entity/HomeBook.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/entity/HomeFriendLink.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/feign/BookFeignClient.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/feign/NewsFeignClient.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/feign/fallback/BookFeignFallback.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/mapper/HomeBookDynamicSqlSupport.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/mapper/HomeBookMapper.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/mapper/HomeFriendLinkDynamicSqlSupport.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/mapper/HomeFriendLinkMapper.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/service/HomeService.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/service/impl/HomeServiceImpl.java delete mode 100644 novel-home/src/main/java/com/java2nb/novel/home/vo/HomeBookVO.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/NovelHomeApplication.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/controller/front/HomeController.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/dao/entity/HomeBook.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/dao/entity/HomeFriendLink.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/dao/mapper/HomeBookMapper.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/dao/mapper/HomeFriendLinkMapper.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/dto/resp/HomeBookRespDto.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/dto/resp/HomeFriendLinkRespDto.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/manager/cache/FriendLinkCacheManager.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/manager/cache/HomeBookCacheManager.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/manager/feign/BookFeignManager.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/service/HomeService.java create mode 100644 novel-home/src/main/java/io/github/xxyopen/novel/home/service/impl/HomeServiceImpl.java rename novel-book/book-service/src/main/resources/logback-boot.xml => novel-home/src/main/resources/logback-spring.xml (56%) delete mode 100644 novel-monitor/src/main/java/com/java2nb/novel/monitor/config/SecuritySecureConfig.java rename novel-monitor/src/main/java/{com/java2nb => io/github/xxyopen}/novel/monitor/NovelMonitorApplication.java (52%) create mode 100644 novel-monitor/src/main/java/io/github/xxyopen/novel/monitor/config/CustomCsrfFilter.java create mode 100644 novel-monitor/src/main/java/io/github/xxyopen/novel/monitor/config/SecuritySecureConfig.java create mode 100644 novel-monitor/src/main/resources/application.yml delete mode 100644 novel-monitor/src/main/resources/bootstrap.yml delete mode 100644 novel-news/news-api/src/main/java/com/java2nb/novel/news/api/NewsApi.java delete mode 100644 novel-news/news-api/src/main/java/com/java2nb/novel/news/entity/News.java delete mode 100644 novel-news/news-api/src/main/java/com/java2nb/novel/news/entity/NewsCategory.java delete mode 100644 novel-news/news-api/src/main/java/com/java2nb/novel/news/vo/NewsVO.java delete mode 100644 novel-news/news-service/pom.xml delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/NewsApplication.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/controller/NewsController.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/controller/api/NewsApi.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/mapper/NewsCategoryDynamicSqlSupport.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/mapper/NewsCategoryMapper.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/mapper/NewsDynamicSqlSupport.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/mapper/NewsMapper.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/service/NewsService.java delete mode 100644 novel-news/news-service/src/main/java/com/java2nb/novel/news/service/impl/NewsServiceImpl.java delete mode 100644 novel-news/news-service/src/main/resources/application.yml delete mode 100644 novel-news/news-service/src/main/resources/bootstrap.yml delete mode 100644 novel-news/news-service/src/main/resources/logback-boot.xml rename novel-news/{news-api => novel-news-api}/pom.xml (59%) create mode 100644 novel-news/novel-news-api/src/main/java/io/github/xxyopen/novel/news/dto/resp/NewsInfoRespDto.java create mode 100644 novel-news/novel-news-service/pom.xml create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/NovelNewsApplication.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/controller/NewsController.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/dao/entity/NewsCategory.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/dao/entity/NewsContent.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/dao/entity/NewsInfo.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/dao/mapper/NewsCategoryMapper.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/dao/mapper/NewsContentMapper.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/dao/mapper/NewsInfoMapper.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/manager/cache/NewsCacheManager.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/service/NewsService.java create mode 100644 novel-news/novel-news-service/src/main/java/io/github/xxyopen/novel/news/service/impl/NewsServiceImpl.java create mode 100644 novel-news/novel-news-service/src/main/resources/application.yml create mode 100644 novel-news/novel-news-service/src/main/resources/bootstrap.yml rename novel-file/src/main/resources/logback-boot.xml => novel-news/novel-news-service/src/main/resources/logback-spring.xml (56%) delete mode 100644 novel-pay/pay-api/pom.xml delete mode 100644 novel-pay/pay-api/src/main/java/com/java2nb/novel/pay/entity/PayLog.java delete mode 100644 novel-pay/pay-service/pom.xml delete mode 100644 novel-pay/pay-service/src/main/java/com/java2nb/novel/PayApplication.java delete mode 100644 novel-pay/pay-service/src/main/java/com/java2nb/novel/pay/mapper/PayLogDynamicSqlSupport.java delete mode 100644 novel-pay/pay-service/src/main/java/com/java2nb/novel/pay/mapper/PayLogMapper.java delete mode 100644 novel-pay/pay-service/src/main/resources/application.yml delete mode 100644 novel-pay/pay-service/src/main/resources/bootstrap.yml delete mode 100644 novel-pay/pay-service/src/main/resources/logback-boot.xml create mode 100644 novel-resource/pom.xml create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/NovelResourceApplication.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/config/WebConfig.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/controller/ResourceController.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/dto/resp/ImgVerifyCodeRespDto.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/interceptor/FileInterceptor.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/manager/redis/VerifyCodeManager.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/service/ResourceService.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/service/impl/ResourceServiceImpl.java create mode 100644 novel-resource/src/main/java/io/github/xxyopen/novel/resource/util/ImgVerifyCodeUtils.java create mode 100644 novel-resource/src/main/resources/application.yml create mode 100644 novel-resource/src/main/resources/bootstrap.yml create mode 100644 novel-resource/src/main/resources/logback-spring.xml delete mode 100644 novel-search/src/main/java/com/java2nb/novel/SearchApplication.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/config/EsConfig.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/controller/SearchController.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/feign/BookFeignClient.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/listener/BookVisitAddListener.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/schedule/BookToEsSchedule.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/service/SearchService.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/service/impl/SearchServiceImpl.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/vo/EsBookVO.java delete mode 100644 novel-search/src/main/java/com/java2nb/novel/search/vo/SearchParamVO.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/NovelSearchApplication.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/config/EsConfig.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/config/XxlJobConfig.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/constant/EsConsts.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/controller/front/SearchController.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/manager/feign/BookFeignManager.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/service/SearchService.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/service/impl/SearchServiceImpl.java create mode 100644 novel-search/src/main/java/io/github/xxyopen/novel/search/task/BookToEsTask.java delete mode 100644 novel-search/src/main/resources/logback-boot.xml create mode 100644 novel-search/src/main/resources/logback-spring.xml create mode 100644 novel-user/novel-user-api/pom.xml create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/UserInfoDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/req/UserInfoUptReqDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/req/UserLoginReqDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/req/UserRegisterReqDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/resp/UserInfoRespDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/resp/UserLoginRespDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/dto/resp/UserRegisterRespDto.java create mode 100644 novel-user/novel-user-api/src/main/java/io/github/xxyopen/novel/user/feign/UserFeign.java create mode 100644 novel-user/novel-user-service/pom.xml create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/NovelUserApplication.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/config/AuthInterceptor.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/config/WebConfig.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/controller/front/FrontUserController.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/controller/inner/InnerUserController.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserBookshelf.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserComment.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserCommentReply.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserConsumeLog.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserFeedback.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserInfo.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserPayLog.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/entity/UserReadHistory.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserBookshelfMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserCommentMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserCommentReplyMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserConsumeLogMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserFeedbackMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserInfoMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserPayLogMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/dao/mapper/UserReadHistoryMapper.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/manager/cache/UserInfoCacheManager.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/manager/feign/BookFeignManager.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/manager/redis/VerifyCodeManager.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/service/UserService.java create mode 100644 novel-user/novel-user-service/src/main/java/io/github/xxyopen/novel/user/service/impl/UserServiceImpl.java create mode 100644 novel-user/novel-user-service/src/main/resources/application.yml create mode 100644 novel-user/novel-user-service/src/main/resources/bootstrap.yml create mode 100644 novel-user/novel-user-service/src/main/resources/logback-spring.xml delete mode 100644 novel-user/user-api/pom.xml delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/api/UserApi.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/entity/User.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/entity/UserBookshelf.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/entity/UserBuyRecord.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/entity/UserFeedback.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/entity/UserPayRecord.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/entity/UserReadHistory.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/vo/BookReadHistoryVO.java delete mode 100644 novel-user/user-api/src/main/java/com/java2nb/novel/user/vo/BookShelfVO.java delete mode 100644 novel-user/user-service/pom.xml delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/UserApplication.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/controller/UserController.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/controller/api/UserApi.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/feign/BookFeignClient.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserBookshelfDynamicSqlSupport.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserBookshelfMapper.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserBuyRecordDynamicSqlSupport.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserBuyRecordMapper.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserDynamicSqlSupport.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserFeedbackDynamicSqlSupport.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserFeedbackMapper.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserMapper.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserPayRecordDynamicSqlSupport.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserPayRecordMapper.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserReadHistoryDynamicSqlSupport.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/mapper/UserReadHistoryMapper.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/service/UserService.java delete mode 100644 novel-user/user-service/src/main/java/com/java2nb/novel/user/service/impl/UserServiceImpl.java delete mode 100644 novel-user/user-service/src/main/resources/application.yml delete mode 100644 novel-user/user-service/src/main/resources/bootstrap.yml delete mode 100644 novel-user/user-service/src/main/resources/logback-boot.xml diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 29f81d8..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 5409abf..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# novel-cloud - -#### Description -小说门户网站,提供文学阅读与写作平台。基于Spring Cloud Alibaba 微服务构建,可用于学习和商用。 - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 388f0ae..a6f7fb0 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,107 @@ []( https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=736e609d66e0ac4e57813316cec6fd0b&from=console ) +
- +## 项目背景 -### 学习版 +小说网站业务难度适中,没有商城系统那种复杂的业务。但是作为互联网项目,一样需要面对大规模用户和海量数据的处理,所以高并发、高可用、高性能、高容错、可扩展性、可维护性也是小说网站设计需要考虑的问题,商城系统中所用到的技术同样适用于小说网站。综上所述,使用微服务架构来构建一个小说门户平台是非常有必要的,利用微服务构建的小说门户平台来学习现下流行技术相较于业务比较复杂的商场系统来说也是比较容易的,非常适合于没有实际微服务项目经验的同学用来学习和入门微服务技术栈。 -[基于 Sprint Boot 3 + Vue 3 开发的前后端分离学习型小说项目](https://github.com/201206030/novel) +## 项目简介 -### 项目背景 +novel 是一套基于时下**最新** Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离**学习型** +小说项目,配备 [保姆级教程](https://docs.xxyopen.com/course/novel) 手把手教你**从零开始**开发上线一套生产级别的 Java +系统,由小说门户系统、作家后台管理系统、平台后台管理系统等多个子系统构成。包括小说推荐、作品检索、小说排行榜、小说阅读、小说评论、会员中心、作家专区、充值订阅、新闻发布等功能。 +novel-cloud 是 novel 项目的微服务版本,基于 `Spring Cloud 2022` & `Spring Cloud Alibaba 2022` 构建,数据结构、后端接口和 novel 项目保持完全一致,Vue 3 开发的前端能无缝对接这两个项目。 -小说网站业务难度适中,没有商城系统那种复杂的业务。但是作为互联网项目,一样需要面对大规模用户和海量数据的处理,所以高并发、高可用、高性能、高容错、可扩展性、可维护性也是小说网站设计需要考虑的问题,商城系统中所用到的技术同样适用于小说网站。 +## 项目地址 -综上所述,使用微服务架构来构建一个小说门户平台是非常有必要的,利用微服务技术栈构建的小说门户平台学习时下流行技术相较于业务比较复杂的商城系统来说也是比较容易的,非常适合没有实际微服务项目经验的同学用来学习和入门微服务技术栈。 +- 单体架构后端项目:[GitHub](https://github.com/201206030/novel) | [码云](https://gitee.com/novel_dev_team/novel) | [文档](https://docs.xxyopen.com/course/novel) +- 微服务架构后端项目:[GitHub](https://github.com/201206030/novel-cloud) | [码云](https://gitee.com/novel_dev_team/novel-cloud) | [文档](https://docs.xxyopen.com/course/novelcloud) +- 前端项目:[GitHub](https://github.com/201206030/novel-front-web) | [码云](https://gitee.com/novel_dev_team/novel-front-web) +- 线上应用版:[GitHub](https://github.com/201206030/novel-plus) | [码云](https://gitee.com/novel_dev_team/novel-plus) -### 项目简介 +## 开发环境 -novel-cloud 是基于 [novel-plus](https://github.com/201206030/novel-plus) 构建的 Spring Cloud 微服务架构小说门户平台,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集(爬虫项目和 novel-plus 通用)。采用了 Spring Boot 2.2.5.RELEASE 、Spring Cloud Hoxton.SR4、 MyBatis3 Dynamic SQL、Sharding-JDBC、Redis、RabbitMQ、Elasticsearch、Docker 等流行技术,集成了 Nacos 注册中心/配置中心、Spring Cloud Gateway 网关、Spring Boot Admin 监控中心、ELK 分布式日志分析等基础服务。 +- MySQL 8.0 +- Redis 7.0 +- Elasticsearch 8.6.2 +- RabbitMQ 3.x +- XXL-JOB 2.3.1 +- Nacos 2.2.1 +- JDK 17 +- Maven 3.8 +- IntelliJ IDEA 2021.3(可选) +- Node 16.14 -### 项目结构 +## 后端技术选型 + +| 技术 | 版本 | 说明 | 官网 | 学习 | +|----------------------|:--------------:|-----------------------------------| -------------------------------------- |:-----------------------------------------------------------------------------------------------------------------------------:| +| Spring Cloud | 2022.0.1 | 微服务开发的一站式解决方案 | https://spring.io/projects/spring-cloud | [进入](https://docs.spring.io/spring-cloud/docs/current/reference/html/) | +| Spring Cloud Alibaba | 2022.0.0.0-RC1 | 阿里巴巴贡献的 Spring Cloud 微服务开发一站式解决方案 | https://github.com/alibaba/spring-cloud-alibaba | [进入](https://spring-cloud-alibaba-group.github.io/github-pages/2021/zh-cn/2021.0.5.0/index.html) | +| Nacos | 2.2.1 | 服务发现和配置管理 | https://nacos.io | [进入](https://nacos.io/zh-cn/docs/what-is-nacos.html) | +| Spring Boot Admin | 3.0.2 | 微服务管理和监控 | https://github.com/codecentric/spring-boot-admin | [进入](https://codecentric.github.io/spring-boot-admin/3.0.0-M1) | +| Spring Boot | 3.0.5 | 容器 + MVC 框架 | https://spring.io/projects/spring-boot | [进入](https://docs.spring.io/spring-boot/docs/3.0.0/reference/html) | +| MyBatis | 3.5.9 | ORM 框架 | http://www.mybatis.org | [进入](https://mybatis.org/mybatis-3/zh/index.html) | +| MyBatis-Plus | 3.5.3 | MyBatis 增强工具 | https://baomidou.com/ | [进入](https://baomidou.com/pages/24112f/) | +| JJWT | 0.11.5 | JWT 登录支持 | https://github.com/jwtk/jjwt | - | +| Lombok | 1.18.24 | 简化对象封装工具 | https://github.com/projectlombok/lombok | [进入](https://projectlombok.org/features/all) | +| Caffeine | 3.1.0 | 本地缓存支持 | https://github.com/ben-manes/caffeine | [进入](https://github.com/ben-manes/caffeine/wiki/Home-zh-CN) | +| Redis | 7.0 | 分布式缓存支持 | https://redis.io | [进入](https://redis.io/docs) | +| Redisson | 3.17.4 | 分布式锁实现 | https://github.com/redisson/redisson | [进入](https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95) | +| RabbitMQ | 3.x | 开源消息中间件 | https://www.rabbitmq.com | [进入](https://www.rabbitmq.com/tutorials/tutorial-one-java.html) | +| MySQL | 8.0 | 数据库服务 | https://www.mysql.com | [进入](https://docs.oracle.com/en-us/iaas/mysql-database/doc/getting-started.html) | +| ShardingSphere-JDBC | 5.1.1 | 数据库分库分表支持 | https://shardingsphere.apache.org | [进入](https://shardingsphere.apache.org/document/5.1.1/cn/overview) | +| Elasticsearch | 8.6.2 | 搜索引擎服务 | https://www.elastic.co | [进入](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html) | +| XXL-JOB | 2.3.1 | 分布式任务调度平台 | https://www.xuxueli.com/xxl-job | [进入](https://www.xuxueli.com/xxl-job) | +| Springdoc-openapi | 2.0.0 | Swagger 3 接口文档自动生成 | https://github.com/springdoc/springdoc-openapi | [进入](https://springdoc.org/) | +| Undertow | 2.2.17.Final | Java 开发的高性能 Web 服务器 | https://undertow.io | [进入](https://undertow.io/documentation.html) | + +**注:更多热门新技术待集成。** + +## 前端技术选型 + +| 技术 | 版本 | 说明 | 官网 | 学习 | +| :----------------- | :-----: | -------------------------- | --------------------------------------- | :-------------------------------------------------: | +| Vue.js | 3.2.13 | 渐进式 JavaScript 框架 | https://vuejs.org | [进入](https://staging-cn.vuejs.org/guide/introduction.html) | +| Vue Router | 4.0.15 | Vue.js 的官方路由 | https://router.vuejs.org | [进入](https://router.vuejs.org/zh/guide/) | +| axios | 0.27.2 | 基于 promise 的网络请求库 | https://axios-http.com | [进入](https://axios-http.com/zh/docs/intro) | +| element-plus | 2.2.0 | 基于 Vue 3,面向设计师和开发者的组件库 | https://element-plus.org | [进入](https://element-plus.org/zh-CN/guide/design.html) | + +## 软件架构 + + + +👉 [克隆架构图](https://www.processon.com/view/5fd028fbe0b34d425254e710) + +## 项目结构 ``` novel-cloud -├── novel-common -- 通用模块,供其他业务微服务模块依赖 -├── novel-gen -- 持久层代码生成器,集成 Swagger -├── novel-gateway -- 基于 Spring Cloud Gateway 构建的网关服务 -├── novel-monitor -- 基于 Spring Boot Admin 构建的监控中心 -├── novel-search -- 基于 Elasticsearch 构建的搜索微服务 -├── novel-file -- 基于 Aliyun OSS 构建的文件微服务 -├── novel-home -- 门户首页微服务 -├── novel-news -- 新闻中心微服务 -├── novel-user -- 用户中心微服务 -├── novel-author -- 作家中心微服务 +├── novel-core -- 项目核心模块,供其它各个业务微服务依赖 +├── novel-gateway -- 基于 Spring Cloud Gateway 构建的微服务网关 +├── novel-monitor -- 基于 Spring Boot Admin 构建的微服务监控中心 +├── novel-search -- 基于 Elasticsearch 构建的搜索服务 +├── novel-home -- 首页微服务 +├── novel-news -- 新闻微服务 ├── novel-book -- 小说微服务 -└── novel-pay -- 支付微服务 +├── novel-user -- 会员微服务 +├── novel-author -- 作家微服务 +└── novel-resource -- 资源微服务 ``` -### 技术选型 - -| 技术 | 说明 -|----------------------| --------------------------- -| Spring Boot | Spring 应用快速开发脚手架 -| Spring Cloud | 微服务架构解决方案 -| Nacos | 注册中心和配置中心 -| Sentinel | 限流/熔断/降级 -| Spring Cloud Gateway | 微服务网关 -| Spring Boot Admin | 微服务监控 -| MyBatis | 持久层 ORM 框架 -| MyBatis Dynamic SQL | MyBatis 动态 SQL -| PageHelper | MyBatis 分页插件 -| MyBatis Generator | 持久层代码生成插件 -| Seata | 分布式事务中间件(待应用) -| Sharding-JDBC | 代码层分库分表中间件 -| JJWT | JWT 登录支持 -| Redis | 分布式缓存 -| Elasticsearch | 搜索引擎 -| RabbitMQ | 消息队列 -| Aliyun OSS | 阿里云对象存储服务 -| MySQL | 数据库服务 -| Redisson | 实现分布式锁 -| Lombok | 简化对象封装工具 -| Swagger | API 文档生成工具 -| Docker | 应用容器引擎 -| Logstash | 分布式日志采集 -| Vue.js | 前端开发框架 - -### 项目架构 - - - -### 代码仓库 - -Gitee 仓库地址: https://gitee.com/novel_dev_team/novel-cloud - -GitHub 仓库地址: https://github.com/201206030/novel-cloud - -### QQ 交流群 - -👉[立即查看](https://novel.xxyopen.com/service.htm) - -### 微信公众号(发布最新更新资讯) - - - -### 捐赠支持 +## 捐赠支持 开源项目不易,若此项目能得到你的青睐,可以捐赠支持作者持续开发与维护。 - + + diff --git a/assert/QQ20200528-020224.png b/assert/QQ20200528-020224.png deleted file mode 100644 index 753e1263d947539d5b871c35bbd7d5f2efd20c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132881 zcmdqHXH=8j(=QAv(m|146{I(n-kX4QlwJbTrFTL{P(XT<-a&c^HGzbVGywra4@G(j zy+eQ;{^xz~=UqOJ_xts%bw1=;*SdE0>^(DkX3xxTA~e+%3Gt}$FfcF(mEOF5hk=2m zhJkT!2It}3mrsHiu^1SX+O~3Xno4qVPc_|~t!*8wFfjB(lMS%7wN;Y##C*cU<$j8M zTFr9*N%i{u8#$6NwmclhL{b^72lDdI%S+kv7;(&{--Zyse*GXJuizsdhs+ttN$bsG z&U}4<`XWlr)6-MO)3a0z!)5n8CYnI*#l1)LkL5gH2>b@Rpa1S_yZ@mBCoLG`(Gjzv z;x=N&0JG^j5Pe?9kCPX3?w(F)fObNg;wJ@3^HX8;6ZHn(j;*>-nqp%lE5v^5#rXL4 z)0XVv%LJNf{N5pLeHltcr{8(pS#7~LV3$LdxTH_dqIvIqEId6edWb2#NC3ZF>6fXY zy?WLZL%F08@zKD>tWu8X>=gT>3iWyd5%FSc@cetOy>ns_8MIpQB13vxn@rF_3U?-! z&FhF*g5&vPv_~Hr(A8}o6!#2IZ}xq8dUx1x&0?4=(8%e%A?1j|#msb98qNv>DOxR% zk_o4?*7~Q>HI9>8!?PW}4m=ByAX6q4O84&R=Zr(WcA0w=Z(hC(e@Xl7%LC=;X1Lel z(8muJeU9lRr7${&pcU!z{9CWZ!M5>XSD_0r3%Tr5$Qm&gb{aYb&HZwEfUNfcM*L^t z$SA_-Ewdq7y6q3mJ)cNb2?QH1hvi~Cr$^^FB|xY>H$7BXg$
ztC5Gt9N7{Xm(yZe=cattU^)}Q7dKL!!kI-}%GNxp6 R$YlBWGhc{gu(*uT
zGnV{~E_ueBf_nv8<`g}J%>2)v4e*rt+iD1lZdjp!4gESlDA;zizOjjL*q0uZ$(CE#
zac}nt$nrNfZZ;}3*n60Jc%HiW23!$7oFdGOcA|o0%<=8MLcU~Zplr+n8`hZA_RQ4I
zMv0b+7>XohCjlY>M)TI nGTwxLX>@y?$YNdtS4*7999=e#1;3etou
zVX?m*vqyXZM~njQeZRp>Nq%lW4~6nnvQZIGI{iDy%tpNYvs^EA8GQ+}9%Yy#eT*U~
ziOl}GGArjw0oIDNe GoCyp}Y?(^P)u_R&=o_&Hl|5yKPT8U1jOW3Y98zBa4U3qN&QBu&EhL~^XPd5W&BgNND=d&<|Y7uI}yyjX?C$xmxTnh+V1~|AR-;7?^*1
z@Ww~pzlZbmBgS7I9fFv$a7XevxxY_+5Iy=e>0gE(eZhH@q41(9>Th)KzCFrtBl`QI
z8229Et%~yy`1oITEUWeNubkX*_molk19j(bp1<(&pM6Mw_#yIFM(+k+KfqCAqMVce
z7k+TmM6mxwgu!1h@@*e{g8hpSG4k0r{zV8+A3c7`AM@UY;$QfA%D+bYFG6_0c#oOs
zy!o%
C1r|>C*DUV#`8bxVDEsYKISLEb*c(=8r8OtT$M)QmL~R^dL+qcTk>O2
z=HMz2#wwH!q)w)}I;NA8MMY!rF#{=_wggljkE)o