From 9ffad647730f5509df39b4deafa7f619a1165712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B5=B7=E5=AE=81?= <15600600491@163.com> Date: Wed, 27 Mar 2024 18:09:04 +0800 Subject: [PATCH] asa --- .idea/compiler.xml | 21 +- .idea/encodings.xml | 12 +- .idea/misc.xml | 1 + README.md | 2 +- devops/build/build.sh | 57 ----- devops/release/deploy.sh | 47 ---- pom.xml | 18 +- {zhn-auth => xsnb-auth}/Dockerfile | 10 +- {zhn-auth => xsnb-auth}/pom.xml | 20 +- .../main/java/com/xsnb}/auth/AuthMian.java | 6 +- .../xsnb/auth/controller/AuthController.java | 53 ++++ .../com/xsnb}/auth/feign/AuthFeignSystem.java | 9 +- .../com/xsnb/auth/service/AuthService.java | 17 ++ .../auth/service/impl/AuthServiceImpl.java | 124 ++++++++++ .../src/main/resources}/bootstrap.yml | 6 +- .../src/main/resources}/mapper/AuthMapper.xml | 4 +- {zhn-common => xsnb-common}/pom.xml | 31 ++- .../com/xsnb}/common/constants/Constants.java | 4 +- .../xsnb}/common/constants/JwtConstants.java | 4 +- .../common/constants/RabbitMQConstants.java | 11 + .../common/constants/TokenConstants.java | 4 +- .../java/com/xsnb/common/domain/User.java | 22 ++ .../common/domain/request/RequestUser.java | 4 +- .../xsnb}/common/domain/response/RespJwt.java | 4 +- .../common/domain/response/ResponseUser.java | 2 +- .../com/xsnb}/common/result/PageResult.java | 4 +- .../java/com/xsnb}/common/result/Result.java | 6 +- .../java/com/xsnb}/common/utils/JwtUtils.java | 6 +- .../com/xsnb}/common/utils/Msg/HttpUtils.java | 4 +- .../com/xsnb}/common/utils/Msg/MsgUtil.java | 2 +- .../java/com/xsnb}/common/utils/OssUtil.java | 2 +- .../com/xsnb}/common/utils/StringUtils.java | 4 +- .../com/xsnb}/common/utils/TelSmsUtils.java | 23 +- .../xsnb/common/utils/mqUtile/DLXQueue.java | 77 ++++++ .../common/utils/mqUtile/DelayedQueue.java | 79 ++++++ .../xsnb/common/utils/mqUtile/RabbitMQ.java | 8 + .../xsnb/common/utils/mqUtile/TtlQueue.java | 66 +++++ .../src/main/resources/date.txt | 0 xsnb-gateway/Dockerfile | 15 ++ {zhn-gateway => xsnb-gateway}/pom.xml | 20 +- .../java/com/xsnb}/gateway/GatewayMian.java | 4 +- .../gateway/config/IgnoreWhiteConfig.java | 4 +- .../com/xsnb/gateway/constants/Constants.java | 4 + .../xsnb}/gateway/filters/AuthFilters.java | 15 +- .../com/xsnb}/gateway/utils/GatewayUtils.java | 8 +- .../src/main/resources/bootstrap.yml | 6 +- {zhn-modules => xsnb-modules}/pom.xml | 10 +- xsnb-modules/xsnb-system/Dockerfile | 15 ++ .../xsnb-system}/pom.xml | 22 +- .../java/com/xsnb}/system/SystemMian.java | 4 +- .../com/xsnb/system/config/MailSender.java | 48 ++++ .../system/controller/DomeController.java | 50 ++++ .../system/controller/UserController.java | 32 +++ .../com/xsnb/system/domain/Attachment.java | 21 ++ .../java/com/xsnb/system/domain/Mail.java | 31 +++ .../com/xsnb/system/domain/MinioReturn.java | 35 +++ .../com/xsnb/system/domain/req/ReqMail.java | 30 +++ .../com/xsnb/system/mapper/MailMapper.java | 7 + .../com/xsnb/system/mapper/UserMapper.java | 12 + .../rabbitMQ/MessageConsumerService.java | 60 +++++ .../com/xsnb/system/service/MailService.java | 25 ++ .../com/xsnb/system/service/UserService.java | 10 + .../system/service/impl/MailServiceImpl.java | 61 +++++ .../system/service/impl/UserServiceImpl.java | 27 +++ .../com/xsnb/system/utils/EmailUtils.java | 90 +++++++ .../src/main/resources/bootstrap.yml | 50 ++++ .../zhn/auth/controller/AuthController.java | 32 --- .../com/zhn/auth/service/AuthService.java | 14 -- .../auth/service/impl/AuthServiceImpl.java | 85 ------- zhn-auth/src/main/resources/bootstrap.yml | 31 --- .../src/main/resources/mapper/AuthMapper.xml | 7 - .../classes/com/zhn/auth/AuthMian.class | Bin 767 -> 0 bytes .../zhn/auth/controller/AuthController.class | Bin 1629 -> 0 bytes .../com/zhn/auth/feign/AuthFeignSystem.class | Bin 666 -> 0 bytes .../com/zhn/auth/service/AuthService.class | Bin 628 -> 0 bytes .../auth/service/impl/AuthServiceImpl.class | Bin 4551 -> 0 bytes .../main/java/com/zhn/common/domain/User.java | 22 -- .../com/zhn/common/constants/Constants.class | Bin 649 -> 0 bytes .../zhn/common/constants/JwtConstants.class | Bin 542 -> 0 bytes .../zhn/common/constants/TokenConstants.class | Bin 524 -> 0 bytes .../classes/com/zhn/common/domain/User.class | Bin 4617 -> 0 bytes .../common/domain/request/RequestUser.class | Bin 4998 -> 0 bytes .../zhn/common/domain/response/RespJwt.class | Bin 1890 -> 0 bytes .../common/domain/response/ResponseUser.class | Bin 4667 -> 0 bytes .../com/zhn/common/result/PageResult.class | Bin 3287 -> 0 bytes .../com/zhn/common/result/Result.class | Bin 4863 -> 0 bytes .../com/zhn/common/utils/JwtUtils.class | Bin 2868 -> 0 bytes .../zhn/common/utils/Msg/HttpUtils$1.class | Bin 1001 -> 0 bytes .../com/zhn/common/utils/Msg/HttpUtils.class | Bin 10265 -> 0 bytes .../com/zhn/common/utils/Msg/MsgUtil.class | Bin 2009 -> 0 bytes .../com/zhn/common/utils/OssUtil.class | Bin 5189 -> 0 bytes .../com/zhn/common/utils/StringUtils.class | Bin 1803 -> 0 bytes .../com/zhn/common/utils/TelSmsUtils.class | Bin 3740 -> 0 bytes zhn-common/target/classes/date.txt | 1 - zhn-gateway/Dockerfile | 15 -- .../com/zhn/gateway/constants/Constants.java | 4 - zhn-gateway/target/classes/bootstrap.yml | 29 --- .../classes/com/zhn/gateway/GatewayMian.class | Bin 719 -> 0 bytes .../gateway/config/IgnoreWhiteConfig.class | Bin 2582 -> 0 bytes .../com/zhn/gateway/constants/Constants.class | Bin 304 -> 0 bytes .../com/zhn/gateway/filters/AuthFilters.class | Bin 5201 -> 0 bytes .../com/zhn/gateway/utils/GatewayUtils.class | Bin 6200 -> 0 bytes zhn-modules/zhn-system/Dockerfile | 15 -- .../zhn/system/controller/UserController.java | 42 ---- .../com/zhn/system/mapper/UserMapper.java | 15 -- .../com/zhn/system/service/UserService.java | 11 - .../system/service/impl/UserServiceImpl.java | 28 --- .../src/main/resources/bootstrap.yml | 42 ---- .../src/main/resources/mappers/UserMapper.xml | 22 -- .../zhn-system/target/classes/bootstrap.yml | 42 ---- .../classes/com/zhn/system/SystemMian.class | Bin 844 -> 0 bytes .../system/controller/UserController.class | Bin 1608 -> 0 bytes .../com/zhn/system/mapper/UserMapper.class | Bin 510 -> 0 bytes .../com/zhn/system/service/UserService.class | Bin 462 -> 0 bytes .../system/service/impl/UserServiceImpl.class | Bin 1385 -> 0 bytes .../target/classes/mappers/UserMapper.xml | 22 -- zhn-vue-ui/.editorconfig | 14 -- zhn-vue-ui/.env.development | 5 - zhn-vue-ui/.env.production | 6 - zhn-vue-ui/.env.staging | 8 - zhn-vue-ui/.eslintignore | 5 - zhn-vue-ui/.eslintrc.js | 198 --------------- zhn-vue-ui/.gitignore | 16 -- zhn-vue-ui/.travis.yml | 5 - zhn-vue-ui/LICENSE | 21 -- zhn-vue-ui/README-zh.md | 111 --------- zhn-vue-ui/README.md | 99 -------- zhn-vue-ui/babel.config.js | 14 -- zhn-vue-ui/build/index.js | 35 --- zhn-vue-ui/jest.config.js | 24 -- zhn-vue-ui/jsconfig.json | 9 - zhn-vue-ui/package.json | 62 ----- zhn-vue-ui/postcss.config.js | 8 - zhn-vue-ui/public/favicon.ico | Bin 67646 -> 0 bytes zhn-vue-ui/public/index.html | 17 -- zhn-vue-ui/src/App.vue | 11 - zhn-vue-ui/src/api/table.js | 9 - zhn-vue-ui/src/api/user.js | 24 -- zhn-vue-ui/src/assets/404_images/404.png | Bin 98071 -> 0 bytes .../src/assets/404_images/404_cloud.png | Bin 4766 -> 0 bytes .../src/components/Breadcrumb/index.vue | 78 ------ zhn-vue-ui/src/components/Hamburger/index.vue | 44 ---- zhn-vue-ui/src/components/SvgIcon/index.vue | 62 ----- zhn-vue-ui/src/icons/index.js | 9 - zhn-vue-ui/src/icons/svg/dashboard.svg | 1 - zhn-vue-ui/src/icons/svg/example.svg | 1 - zhn-vue-ui/src/icons/svg/eye-open.svg | 1 - zhn-vue-ui/src/icons/svg/eye.svg | 1 - zhn-vue-ui/src/icons/svg/form.svg | 1 - zhn-vue-ui/src/icons/svg/link.svg | 1 - zhn-vue-ui/src/icons/svg/nested.svg | 1 - zhn-vue-ui/src/icons/svg/password.svg | 1 - zhn-vue-ui/src/icons/svg/table.svg | 1 - zhn-vue-ui/src/icons/svg/tree.svg | 1 - zhn-vue-ui/src/icons/svg/user.svg | 1 - zhn-vue-ui/src/icons/svgo.yml | 22 -- zhn-vue-ui/src/layout/components/AppMain.vue | 40 --- zhn-vue-ui/src/layout/components/Navbar.vue | 136 ----------- .../layout/components/Sidebar/FixiOSBug.js | 26 -- .../src/layout/components/Sidebar/Item.vue | 42 ---- .../src/layout/components/Sidebar/Link.vue | 44 ---- .../src/layout/components/Sidebar/Logo.vue | 82 ------- .../layout/components/Sidebar/SidebarItem.vue | 95 -------- .../src/layout/components/Sidebar/index.vue | 57 ----- zhn-vue-ui/src/layout/components/index.js | 3 - zhn-vue-ui/src/layout/index.vue | 102 -------- zhn-vue-ui/src/layout/mixin/ResizeHandler.js | 45 ---- zhn-vue-ui/src/main.js | 42 ---- zhn-vue-ui/src/permission.js | 67 ----- zhn-vue-ui/src/router/index.js | 103 -------- zhn-vue-ui/src/settings.js | 16 -- zhn-vue-ui/src/store/getters.js | 11 - zhn-vue-ui/src/store/index.js | 19 -- zhn-vue-ui/src/store/modules/app.js | 48 ---- zhn-vue-ui/src/store/modules/settings.js | 32 --- zhn-vue-ui/src/store/modules/user.js | 101 -------- zhn-vue-ui/src/styles/element-ui.scss | 49 ---- zhn-vue-ui/src/styles/index.scss | 65 ----- zhn-vue-ui/src/styles/mixin.scss | 28 --- zhn-vue-ui/src/styles/sidebar.scss | 226 ----------------- zhn-vue-ui/src/styles/transition.scss | 48 ---- zhn-vue-ui/src/styles/variables.scss | 25 -- zhn-vue-ui/src/utils/auth.js | 15 -- zhn-vue-ui/src/utils/get-page-title.js | 10 - zhn-vue-ui/src/utils/index.js | 117 --------- zhn-vue-ui/src/utils/request.js | 85 ------- zhn-vue-ui/src/utils/validate.js | 20 -- zhn-vue-ui/src/views/404.vue | 228 ------------------ zhn-vue-ui/src/views/dashboard/index.vue | 85 ------- zhn-vue-ui/src/views/login/index.vue | 197 --------------- zhn-vue-ui/tests/unit/.eslintrc.js | 5 - .../tests/unit/components/Breadcrumb.spec.js | 98 -------- .../tests/unit/components/Hamburger.spec.js | 18 -- .../tests/unit/components/SvgIcon.spec.js | 22 -- .../tests/unit/utils/formatTime.spec.js | 30 --- zhn-vue-ui/tests/unit/utils/param2Obj.spec.js | 14 -- zhn-vue-ui/tests/unit/utils/parseTime.spec.js | 35 --- zhn-vue-ui/tests/unit/utils/validate.spec.js | 17 -- zhn-vue-ui/vue.config.js | 117 --------- 199 files changed, 1271 insertions(+), 4290 deletions(-) delete mode 100644 devops/build/build.sh delete mode 100644 devops/release/deploy.sh rename {zhn-auth => xsnb-auth}/Dockerfile (51%) rename {zhn-auth => xsnb-auth}/pom.xml (66%) rename {zhn-auth/src/main/java/com/zhn => xsnb-auth/src/main/java/com/xsnb}/auth/AuthMian.java (93%) create mode 100644 xsnb-auth/src/main/java/com/xsnb/auth/controller/AuthController.java rename {zhn-auth/src/main/java/com/zhn => xsnb-auth/src/main/java/com/xsnb}/auth/feign/AuthFeignSystem.java (70%) create mode 100644 xsnb-auth/src/main/java/com/xsnb/auth/service/AuthService.java create mode 100644 xsnb-auth/src/main/java/com/xsnb/auth/service/impl/AuthServiceImpl.java rename {zhn-auth/target/classes => xsnb-auth/src/main/resources}/bootstrap.yml (85%) rename {zhn-auth/target/classes => xsnb-auth/src/main/resources}/mapper/AuthMapper.xml (78%) rename {zhn-common => xsnb-common}/pom.xml (79%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/constants/Constants.java (87%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/constants/JwtConstants.java (90%) create mode 100644 xsnb-common/src/main/java/com/xsnb/common/constants/RabbitMQConstants.java rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/constants/TokenConstants.java (90%) create mode 100644 xsnb-common/src/main/java/com/xsnb/common/domain/User.java rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/domain/request/RequestUser.java (75%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/domain/response/RespJwt.java (79%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/domain/response/ResponseUser.java (89%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/result/PageResult.java (93%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/result/Result.java (94%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/utils/JwtUtils.java (96%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/utils/Msg/HttpUtils.java (99%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/utils/Msg/MsgUtil.java (96%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/utils/OssUtil.java (99%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/utils/StringUtils.java (97%) rename {zhn-common/src/main/java/com/zhn => xsnb-common/src/main/java/com/xsnb}/common/utils/TelSmsUtils.java (75%) create mode 100644 xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DLXQueue.java create mode 100644 xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DelayedQueue.java create mode 100644 xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/RabbitMQ.java create mode 100644 xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/TtlQueue.java rename {zhn-common => xsnb-common}/src/main/resources/date.txt (100%) create mode 100644 xsnb-gateway/Dockerfile rename {zhn-gateway => xsnb-gateway}/pom.xml (73%) rename {zhn-gateway/src/main/java/com/zhn => xsnb-gateway/src/main/java/com/xsnb}/gateway/GatewayMian.java (91%) rename {zhn-gateway/src/main/java/com/zhn => xsnb-gateway/src/main/java/com/xsnb}/gateway/config/IgnoreWhiteConfig.java (94%) create mode 100644 xsnb-gateway/src/main/java/com/xsnb/gateway/constants/Constants.java rename {zhn-gateway/src/main/java/com/zhn => xsnb-gateway/src/main/java/com/xsnb}/gateway/filters/AuthFilters.java (88%) rename {zhn-gateway/src/main/java/com/zhn => xsnb-gateway/src/main/java/com/xsnb}/gateway/utils/GatewayUtils.java (96%) rename {zhn-gateway => xsnb-gateway}/src/main/resources/bootstrap.yml (85%) rename {zhn-modules => xsnb-modules}/pom.xml (71%) create mode 100644 xsnb-modules/xsnb-system/Dockerfile rename {zhn-modules/zhn-system => xsnb-modules/xsnb-system}/pom.xml (85%) rename {zhn-modules/zhn-system/src/main/java/com/zhn => xsnb-modules/xsnb-system/src/main/java/com/xsnb}/system/SystemMian.java (80%) create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/config/MailSender.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/controller/DomeController.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/controller/UserController.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/domain/Attachment.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/domain/Mail.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/domain/MinioReturn.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/domain/req/ReqMail.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/mapper/MailMapper.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/mapper/UserMapper.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/rabbitMQ/MessageConsumerService.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/service/MailService.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/service/UserService.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/service/impl/MailServiceImpl.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/service/impl/UserServiceImpl.java create mode 100644 xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/utils/EmailUtils.java create mode 100644 xsnb-modules/xsnb-system/src/main/resources/bootstrap.yml delete mode 100644 zhn-auth/src/main/java/com/zhn/auth/controller/AuthController.java delete mode 100644 zhn-auth/src/main/java/com/zhn/auth/service/AuthService.java delete mode 100644 zhn-auth/src/main/java/com/zhn/auth/service/impl/AuthServiceImpl.java delete mode 100644 zhn-auth/src/main/resources/bootstrap.yml delete mode 100644 zhn-auth/src/main/resources/mapper/AuthMapper.xml delete mode 100644 zhn-auth/target/classes/com/zhn/auth/AuthMian.class delete mode 100644 zhn-auth/target/classes/com/zhn/auth/controller/AuthController.class delete mode 100644 zhn-auth/target/classes/com/zhn/auth/feign/AuthFeignSystem.class delete mode 100644 zhn-auth/target/classes/com/zhn/auth/service/AuthService.class delete mode 100644 zhn-auth/target/classes/com/zhn/auth/service/impl/AuthServiceImpl.class delete mode 100644 zhn-common/src/main/java/com/zhn/common/domain/User.java delete mode 100644 zhn-common/target/classes/com/zhn/common/constants/Constants.class delete mode 100644 zhn-common/target/classes/com/zhn/common/constants/JwtConstants.class delete mode 100644 zhn-common/target/classes/com/zhn/common/constants/TokenConstants.class delete mode 100644 zhn-common/target/classes/com/zhn/common/domain/User.class delete mode 100644 zhn-common/target/classes/com/zhn/common/domain/request/RequestUser.class delete mode 100644 zhn-common/target/classes/com/zhn/common/domain/response/RespJwt.class delete mode 100644 zhn-common/target/classes/com/zhn/common/domain/response/ResponseUser.class delete mode 100644 zhn-common/target/classes/com/zhn/common/result/PageResult.class delete mode 100644 zhn-common/target/classes/com/zhn/common/result/Result.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/JwtUtils.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/Msg/HttpUtils$1.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/Msg/HttpUtils.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/Msg/MsgUtil.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/OssUtil.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/StringUtils.class delete mode 100644 zhn-common/target/classes/com/zhn/common/utils/TelSmsUtils.class delete mode 100644 zhn-common/target/classes/date.txt delete mode 100644 zhn-gateway/Dockerfile delete mode 100644 zhn-gateway/src/main/java/com/zhn/gateway/constants/Constants.java delete mode 100644 zhn-gateway/target/classes/bootstrap.yml delete mode 100644 zhn-gateway/target/classes/com/zhn/gateway/GatewayMian.class delete mode 100644 zhn-gateway/target/classes/com/zhn/gateway/config/IgnoreWhiteConfig.class delete mode 100644 zhn-gateway/target/classes/com/zhn/gateway/constants/Constants.class delete mode 100644 zhn-gateway/target/classes/com/zhn/gateway/filters/AuthFilters.class delete mode 100644 zhn-gateway/target/classes/com/zhn/gateway/utils/GatewayUtils.class delete mode 100644 zhn-modules/zhn-system/Dockerfile delete mode 100644 zhn-modules/zhn-system/src/main/java/com/zhn/system/controller/UserController.java delete mode 100644 zhn-modules/zhn-system/src/main/java/com/zhn/system/mapper/UserMapper.java delete mode 100644 zhn-modules/zhn-system/src/main/java/com/zhn/system/service/UserService.java delete mode 100644 zhn-modules/zhn-system/src/main/java/com/zhn/system/service/impl/UserServiceImpl.java delete mode 100644 zhn-modules/zhn-system/src/main/resources/bootstrap.yml delete mode 100644 zhn-modules/zhn-system/src/main/resources/mappers/UserMapper.xml delete mode 100644 zhn-modules/zhn-system/target/classes/bootstrap.yml delete mode 100644 zhn-modules/zhn-system/target/classes/com/zhn/system/SystemMian.class delete mode 100644 zhn-modules/zhn-system/target/classes/com/zhn/system/controller/UserController.class delete mode 100644 zhn-modules/zhn-system/target/classes/com/zhn/system/mapper/UserMapper.class delete mode 100644 zhn-modules/zhn-system/target/classes/com/zhn/system/service/UserService.class delete mode 100644 zhn-modules/zhn-system/target/classes/com/zhn/system/service/impl/UserServiceImpl.class delete mode 100644 zhn-modules/zhn-system/target/classes/mappers/UserMapper.xml delete mode 100644 zhn-vue-ui/.editorconfig delete mode 100644 zhn-vue-ui/.env.development delete mode 100644 zhn-vue-ui/.env.production delete mode 100644 zhn-vue-ui/.env.staging delete mode 100644 zhn-vue-ui/.eslintignore delete mode 100644 zhn-vue-ui/.eslintrc.js delete mode 100644 zhn-vue-ui/.gitignore delete mode 100644 zhn-vue-ui/.travis.yml delete mode 100644 zhn-vue-ui/LICENSE delete mode 100644 zhn-vue-ui/README-zh.md delete mode 100644 zhn-vue-ui/README.md delete mode 100644 zhn-vue-ui/babel.config.js delete mode 100644 zhn-vue-ui/build/index.js delete mode 100644 zhn-vue-ui/jest.config.js delete mode 100644 zhn-vue-ui/jsconfig.json delete mode 100644 zhn-vue-ui/package.json delete mode 100644 zhn-vue-ui/postcss.config.js delete mode 100644 zhn-vue-ui/public/favicon.ico delete mode 100644 zhn-vue-ui/public/index.html delete mode 100644 zhn-vue-ui/src/App.vue delete mode 100644 zhn-vue-ui/src/api/table.js delete mode 100644 zhn-vue-ui/src/api/user.js delete mode 100644 zhn-vue-ui/src/assets/404_images/404.png delete mode 100644 zhn-vue-ui/src/assets/404_images/404_cloud.png delete mode 100644 zhn-vue-ui/src/components/Breadcrumb/index.vue delete mode 100644 zhn-vue-ui/src/components/Hamburger/index.vue delete mode 100644 zhn-vue-ui/src/components/SvgIcon/index.vue delete mode 100644 zhn-vue-ui/src/icons/index.js delete mode 100644 zhn-vue-ui/src/icons/svg/dashboard.svg delete mode 100644 zhn-vue-ui/src/icons/svg/example.svg delete mode 100644 zhn-vue-ui/src/icons/svg/eye-open.svg delete mode 100644 zhn-vue-ui/src/icons/svg/eye.svg delete mode 100644 zhn-vue-ui/src/icons/svg/form.svg delete mode 100644 zhn-vue-ui/src/icons/svg/link.svg delete mode 100644 zhn-vue-ui/src/icons/svg/nested.svg delete mode 100644 zhn-vue-ui/src/icons/svg/password.svg delete mode 100644 zhn-vue-ui/src/icons/svg/table.svg delete mode 100644 zhn-vue-ui/src/icons/svg/tree.svg delete mode 100644 zhn-vue-ui/src/icons/svg/user.svg delete mode 100644 zhn-vue-ui/src/icons/svgo.yml delete mode 100644 zhn-vue-ui/src/layout/components/AppMain.vue delete mode 100644 zhn-vue-ui/src/layout/components/Navbar.vue delete mode 100644 zhn-vue-ui/src/layout/components/Sidebar/FixiOSBug.js delete mode 100644 zhn-vue-ui/src/layout/components/Sidebar/Item.vue delete mode 100644 zhn-vue-ui/src/layout/components/Sidebar/Link.vue delete mode 100644 zhn-vue-ui/src/layout/components/Sidebar/Logo.vue delete mode 100644 zhn-vue-ui/src/layout/components/Sidebar/SidebarItem.vue delete mode 100644 zhn-vue-ui/src/layout/components/Sidebar/index.vue delete mode 100644 zhn-vue-ui/src/layout/components/index.js delete mode 100644 zhn-vue-ui/src/layout/index.vue delete mode 100644 zhn-vue-ui/src/layout/mixin/ResizeHandler.js delete mode 100644 zhn-vue-ui/src/main.js delete mode 100644 zhn-vue-ui/src/permission.js delete mode 100644 zhn-vue-ui/src/router/index.js delete mode 100644 zhn-vue-ui/src/settings.js delete mode 100644 zhn-vue-ui/src/store/getters.js delete mode 100644 zhn-vue-ui/src/store/index.js delete mode 100644 zhn-vue-ui/src/store/modules/app.js delete mode 100644 zhn-vue-ui/src/store/modules/settings.js delete mode 100644 zhn-vue-ui/src/store/modules/user.js delete mode 100644 zhn-vue-ui/src/styles/element-ui.scss delete mode 100644 zhn-vue-ui/src/styles/index.scss delete mode 100644 zhn-vue-ui/src/styles/mixin.scss delete mode 100644 zhn-vue-ui/src/styles/sidebar.scss delete mode 100644 zhn-vue-ui/src/styles/transition.scss delete mode 100644 zhn-vue-ui/src/styles/variables.scss delete mode 100644 zhn-vue-ui/src/utils/auth.js delete mode 100644 zhn-vue-ui/src/utils/get-page-title.js delete mode 100644 zhn-vue-ui/src/utils/index.js delete mode 100644 zhn-vue-ui/src/utils/request.js delete mode 100644 zhn-vue-ui/src/utils/validate.js delete mode 100644 zhn-vue-ui/src/views/404.vue delete mode 100644 zhn-vue-ui/src/views/dashboard/index.vue delete mode 100644 zhn-vue-ui/src/views/login/index.vue delete mode 100644 zhn-vue-ui/tests/unit/.eslintrc.js delete mode 100644 zhn-vue-ui/tests/unit/components/Breadcrumb.spec.js delete mode 100644 zhn-vue-ui/tests/unit/components/Hamburger.spec.js delete mode 100644 zhn-vue-ui/tests/unit/components/SvgIcon.spec.js delete mode 100644 zhn-vue-ui/tests/unit/utils/formatTime.spec.js delete mode 100644 zhn-vue-ui/tests/unit/utils/param2Obj.spec.js delete mode 100644 zhn-vue-ui/tests/unit/utils/parseTime.spec.js delete mode 100644 zhn-vue-ui/tests/unit/utils/validate.spec.js delete mode 100644 zhn-vue-ui/vue.config.js diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 343c56d..0fad9d5 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,18 +7,27 @@ - - - - + + + + - + + + + + + + diff --git a/.idea/encodings.xml b/.idea/encodings.xml index e6dd92d..d4d942a 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,11 +3,11 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 1f19f73..f095382 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,7 @@ diff --git a/README.md b/README.md index ab07054..79e7b6b 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# 用于自动化部署的测试项目 +# 个人中心微服务 diff --git a/devops/build/build.sh b/devops/build/build.sh deleted file mode 100644 index 861a8ff..0000000 --- a/devops/build/build.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -echo "==============build begin 当前环境:【$ENV】==============" -if [[ "$ENV" = "" ]]; then - ENV=$env -fi - -if [[ $ENV == 'test' ]]; then - HUB_USERNAME=wlf19941002 - HUB_PASSWORD=901002wei - UCLOUD_HUB=registry.cn-hangzhou.aliyuncs.com/weilingfeng-dev - elif [[ $ENV == 'prod' ]]; then - HUB_USERNAME=wlf19941002 - HUB_PASSWORD=901002wei - UCLOUD_HUB=registry.cn-hangzhou.aliyuncs.com/weilingfeng-prod - else - echo 'Please enter right environment! eg: test || prod(master or v/V*.*.* branch)' - exit 1 -fi - -#编译后将包拷贝至新建的publish目录下,gitlab上可以在对应节点下载包。 -mvn clean package -Dmaven.test.skip=true || exit 1 && \ - echo 'build successful!' - -# 构建 TAG 变量 -TAG="${CI_COMMIT_SHA:0:4}${CI_PIPELINE_ID:0:4}" - -# 打印 TAG 变量的值 -echo "TAG value: $TAG" - -ZHN_AUTH=zhn-auth -ZHN_GATEWAY=zhn-gateway -ZHN_SYSTEM=zhn-system - -#构建镜像 -docker build -f zhn-gateway/Dockerfile -t $UCLOUD_HUB/${ZHN_GATEWAY}:$TAG . -docker build -f zhn-auth/Dockerfile -t $UCLOUD_HUB/${ZHN_AUTH}:$TAG . -docker build -f zhn-modules/zhn-system/Dockerfile -t $UCLOUD_HUB/${ZHN_SYSTEM}:$TAG . -#镜像仓库登录 -docker login registry.cn-hangzhou.aliyuncs.com --username $HUB_USERNAME --password $HUB_PASSWORD - -#推送镜像 -docker push $UCLOUD_HUB/${ZHN_AUTH}:$TAG -docker push $UCLOUD_HUB/${ZHN_GATEWAY}:$TAG -docker push $UCLOUD_HUB/${ZHN_SYSTEM}:$TAG - -#删除镜像 -docker rmi -f $UCLOUD_HUB/${ZHN_AUTH}:$TAG -docker rmi -f $UCLOUD_HUB/${ZHN_GATEWAY}:$TAG -docker push $UCLOUD_HUB/${ZHN_SYSTEM}:$TAG - -#删除none 镜像 -docker image prune -f --filter "dangling=true" - -echo "$UCLOUD_HUB/${ZHN_AUTH}:$TAG" -echo "$UCLOUD_HUB/${ZHN_GATEWAY}:$TAG" -echo "$UCLOUD_HUB/${ZHN_SYSTEM}:$TAG" -echo "==============build end!!!================" diff --git a/devops/release/deploy.sh b/devops/release/deploy.sh deleted file mode 100644 index dea326b..0000000 --- a/devops/release/deploy.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -echo "==============deploy begin!!!================" - -UCLOUD_HUB=registry.cn-hangzhou.aliyuncs.com/weilingfeng-dev -UCLOUD_HUB=registry.cn-hangzhou.aliyuncs.com/weilingfeng-prod - -TAG="${CI_COMMIT_SHA:0:4}${CI_PIPELINE_ID:0:4}" - -ZHN_GATEWAY=zhn-gateway -ZHN_AUTH=zhn-auth -ZHN_SYSTEM=zhn-system - -#停止 -if [ -n "$(docker ps -a -q -f name=$ZHN_GATEWAY)" ]; then - docker rm -f $ZHN_GATEWAY - echo "$ZHN_GATEWAY 已经停止" -fi - -if [ -n "$(docker ps -a -q -f name=$ZHN_AUTH)" ]; then - docker rm -f $ZHN_AUTH - echo "$ZHN_AUTH 已经停止" -fi - -if [ -n "$(docker ps -a -q -f name=$ZHN_SYSTEM)" ]; then - docker rm -f $ZHN_SYSTEM - echo "$ZHN_SYSTEM 已经停止" -fi - -#删除所有镜像 -docker images | grep "zhn-gateway" | awk '{print $3}' | while read image_id; do docker rmi -f "$image_id"; done -docker images | grep "zhn-auth" | awk '{print $3}' | while read image_id; do docker rmi -f "$image_id"; done -docker images | grep "zhn-system" | awk '{print $3}' | while read image_id; do docker rmi -f "$image_id"; done - - -#拉取镜像 -docker pull $UCLOUD_HUB/${ZHN_AUTH}:$TAG || exit 1 -docker pull $UCLOUD_HUB/${ZHN_SYSTEM}:$TAG || exit 1 -docker pull $UCLOUD_HUB/${ZHN_GATEWAY}:$TAG || exit 1 - -#发布 -docker run -itd -p 8080:8080 --name=zhn-gateway --restart=always $UCLOUD_HUB/${ZHN_GATEWAY}:$TAG || exit 1 -docker run -itd -p 9200:9200 --name=zhn-auth --restart=always $UCLOUD_HUB/${ZHN_AUTH}:$TAG || exit 1 -docker run -itd -p 9201:9201 --name=zhn-system --restart=always $UCLOUD_HUB/${ZHN_SYSTEM}:$TAG || exit 1 - -echo "==============deploy success end!!!==================" - - diff --git a/pom.xml b/pom.xml index 1713842..0264de5 100644 --- a/pom.xml +++ b/pom.xml @@ -4,15 +4,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.zhn - zhn-dev + com.xsnb + xsnb-dev pom 1.0.0 - zhn-common - zhn-gateway - zhn-auth - zhn-modules + xsnb-common + xsnb-gateway + xsnb-auth + xsnb-modules @@ -50,12 +50,12 @@ - com.zhn - zhn-common + com.xsnb + xsnb-common 1.0.0 - \ No newline at end of file + diff --git a/zhn-auth/Dockerfile b/xsnb-auth/Dockerfile similarity index 51% rename from zhn-auth/Dockerfile rename to xsnb-auth/Dockerfile index da9260e..8ec3990 100644 --- a/zhn-auth/Dockerfile +++ b/xsnb-auth/Dockerfile @@ -4,12 +4,12 @@ FROM openjdk:8-jre MAINTAINER ex_weilingfeng@163.com # 挂载目录 -VOLUME /home/zhn +VOLUME /home/xsnb # 创建目录 -RUN mkdir -p /home/zhn +RUN mkdir -p /home/xsnb # 指定路径 -WORKDIR /home/zhn +WORKDIR /home/xsnb # 复制jar文件到路径 -COPY zhn-auth/target/zhn-auth.jar /home/zhn/zhn-auth.jar +COPY xsnb-auth/target/xsnb-auth.jar /home/xsnb/xsnb-auth.jar # 启动网关服务 -ENTRYPOINT ["java","-jar","zhn-auth.jar"] +ENTRYPOINT ["java","-jar","xsnb-auth.jar"] diff --git a/zhn-auth/pom.xml b/xsnb-auth/pom.xml similarity index 66% rename from zhn-auth/pom.xml rename to xsnb-auth/pom.xml index eaba2e3..2b6811d 100644 --- a/zhn-auth/pom.xml +++ b/xsnb-auth/pom.xml @@ -3,19 +3,29 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - zhn-dev - com.zhn + xsnb-dev + com.xsnb 1.0.0 4.0.0 - zhn-auth + xsnb-auth - com.zhn - zhn-common + com.xsnb + xsnb-common + + + com.baomidou + mybatis-plus + + + com.baomidou + mybatis-plus-boot-starter + + diff --git a/zhn-auth/src/main/java/com/zhn/auth/AuthMian.java b/xsnb-auth/src/main/java/com/xsnb/auth/AuthMian.java similarity index 93% rename from zhn-auth/src/main/java/com/zhn/auth/AuthMian.java rename to xsnb-auth/src/main/java/com/xsnb/auth/AuthMian.java index 50ed9b8..92c88d6 100644 --- a/zhn-auth/src/main/java/com/zhn/auth/AuthMian.java +++ b/xsnb-auth/src/main/java/com/xsnb/auth/AuthMian.java @@ -1,4 +1,5 @@ -package com.zhn.auth; +package com.xsnb.auth; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,8 +8,9 @@ import org.springframework.cloud.openfeign.EnableFeignClients; /** * @author zhang */ -@SpringBootApplication + @EnableFeignClients +@SpringBootApplication public class AuthMian { public static void main(String[] args) { SpringApplication.run(AuthMian.class, args); diff --git a/xsnb-auth/src/main/java/com/xsnb/auth/controller/AuthController.java b/xsnb-auth/src/main/java/com/xsnb/auth/controller/AuthController.java new file mode 100644 index 0000000..27935e2 --- /dev/null +++ b/xsnb-auth/src/main/java/com/xsnb/auth/controller/AuthController.java @@ -0,0 +1,53 @@ +package com.xsnb.auth.controller; + + +import com.xsnb.auth.service.AuthService; +import com.xsnb.common.domain.User; +import com.xsnb.common.domain.request.RequestUser; +import com.xsnb.common.domain.response.RespJwt; +import com.xsnb.common.result.Result; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +@RestController +@Log4j2 +public class AuthController { + @Autowired + AuthService authService; + + + + @PostMapping("/getPhoneCode") + public Result getPhoneCode(@RequestBody User user ){ + log.info("获取的信息:{}",user.toString()); + return authService.getPhoneCode(user); + } + + + /** + * + * 登录 + * @param requestUser + * @return + */ + @PostMapping("/login") + Result login(@RequestBody RequestUser requestUser){ + + return authService.login(requestUser); + } + + + @GetMapping("/user/info") + Result userinfo(HttpServletRequest request){ + return authService.userinfo(request); + + } + + +} diff --git a/zhn-auth/src/main/java/com/zhn/auth/feign/AuthFeignSystem.java b/xsnb-auth/src/main/java/com/xsnb/auth/feign/AuthFeignSystem.java similarity index 70% rename from zhn-auth/src/main/java/com/zhn/auth/feign/AuthFeignSystem.java rename to xsnb-auth/src/main/java/com/xsnb/auth/feign/AuthFeignSystem.java index aace3a0..07a3231 100644 --- a/zhn-auth/src/main/java/com/zhn/auth/feign/AuthFeignSystem.java +++ b/xsnb-auth/src/main/java/com/xsnb/auth/feign/AuthFeignSystem.java @@ -1,14 +1,15 @@ -package com.zhn.auth.feign; +package com.xsnb.auth.feign; -import com.zhn.common.domain.User; -import com.zhn.common.result.Result; +import com.xsnb.common.domain.User; +import com.xsnb.common.result.Result; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; -@FeignClient("zhn-system") +@FeignClient("xsnb-system") public interface AuthFeignSystem { + @GetMapping("/user/byphone/{phone}") Result byphone(@PathVariable String phone); diff --git a/xsnb-auth/src/main/java/com/xsnb/auth/service/AuthService.java b/xsnb-auth/src/main/java/com/xsnb/auth/service/AuthService.java new file mode 100644 index 0000000..5ee0eed --- /dev/null +++ b/xsnb-auth/src/main/java/com/xsnb/auth/service/AuthService.java @@ -0,0 +1,17 @@ +package com.xsnb.auth.service; + +import com.xsnb.common.domain.User; +import com.xsnb.common.domain.request.RequestUser; +import com.xsnb.common.domain.response.RespJwt; +import com.xsnb.common.result.Result; + +import javax.servlet.http.HttpServletRequest; + +public interface AuthService { + Result login(RequestUser requestUser); + + Result userinfo(HttpServletRequest request); + + Result getPhoneCode(User user); + +} diff --git a/xsnb-auth/src/main/java/com/xsnb/auth/service/impl/AuthServiceImpl.java b/xsnb-auth/src/main/java/com/xsnb/auth/service/impl/AuthServiceImpl.java new file mode 100644 index 0000000..f3d0013 --- /dev/null +++ b/xsnb-auth/src/main/java/com/xsnb/auth/service/impl/AuthServiceImpl.java @@ -0,0 +1,124 @@ +package com.xsnb.auth.service.impl; + + +import com.alibaba.fastjson.JSONObject; +import com.xsnb.auth.feign.AuthFeignSystem; +import com.xsnb.auth.service.AuthService; +import com.xsnb.common.constants.JwtConstants; +import com.xsnb.common.constants.RabbitMQConstants; +import com.xsnb.common.constants.TokenConstants; +import com.xsnb.common.domain.User; +import com.xsnb.common.domain.request.RequestUser; +import com.xsnb.common.domain.response.RespJwt; +import com.xsnb.common.result.Result; +import com.xsnb.common.utils.JwtUtils; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.UUID; +import java.util.concurrent.TimeUnit; +import java.util.regex.Pattern; + +@Service +@Log4j2 +public class AuthServiceImpl implements AuthService { + + @Autowired + AuthFeignSystem authFeignSystem; + + @Autowired + RedisTemplate redisTemplate; + @Autowired + RabbitTemplate rabbitTemplate; + + + @Override + public Result login(RequestUser requestUser) { + String phone = requestUser.getPhone(); + String captcha = requestUser.getCaptcha(); + if (null == phone || null == captcha) { + return Result.error("联系管理员"); + } + if ("".equals(phone) || "".equals(captcha)) { + + return Result.error("请输入手机号+密码"); + } + Result byphone = authFeignSystem.byphone(phone); + User data = byphone.getData(); + if (null == data) { + return Result.error("先注册手机号,在登录"); + } + //从redsi拿验证码进行比对 + //判断名字为"PHONE_"+phone的key是否存在 + String s = redisTemplate.opsForValue().get(phone); + log.info("拿到的:{}",s); + if (null == s || !s.equals(captcha)) { + return Result.error("验证码错误"); + } + HashMap map = new HashMap<>(); + String userkey = UUID.randomUUID().toString().replaceAll("-", ""); + map.put(JwtConstants.USER_KEY, userkey); + map.put(JwtConstants.DETAILS_USER_ID, data.getId()); + String token = JwtUtils.createToken(map); + redisTemplate.opsForValue().set( + TokenConstants.LOGIN_TOKEN_KEY + userkey, + JSONObject.toJSONString(data), + TokenConstants.EXPIRATION, + TimeUnit.MINUTES + ); + RespJwt respJwt = new RespJwt(); + respJwt.setToken(token); + respJwt.setEidTime("720MIN"); + log.info("登录成功,token:{}", token); + return Result.success(respJwt); + } + + /* + * 前台每次请求都会来到这里进行解析user + * + * */ + @Override + public Result userinfo(HttpServletRequest request) { + String token = request.getHeader(TokenConstants.TOKEN); + String userKey = JwtUtils.getUserKey(token); + String s = redisTemplate.opsForValue().get(TokenConstants.LOGIN_TOKEN_KEY + userKey); + User user = JSONObject.parseObject(s, User.class); + /*获取用户信息*/ + log.info("userInfo获取的用户信息是:{}", user); + return Result.success(user); + } + + /** + * @param user + * @return + * @dis 短信发送 + */ + @Override + public Result getPhoneCode(User user) { + String phone = user.getPhone() == null ? "18906604007" : user.getPhone(); + + log.info("短信发送的手机号 :{}", phone); + Result byphone = authFeignSystem.byphone(phone); + User data = byphone.getData(); + if (null == data) { + return Result.error("先注册手机号,在登录"); + } + Pattern compile = Pattern.compile("^(?:(?:\\+|00)86)?1\\d{10}$"); + if (!compile.matcher(phone).matches()) { + return Result.error("手机号格式错误"); + } + rabbitTemplate.convertAndSend(RabbitMQConstants.SEND_SMS_QUEUs, phone, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + log.info("rabbit异步发送完毕 :{}", phone); + return message; + }); + + return Result.success("开始发送短信"); + } + +} diff --git a/zhn-auth/target/classes/bootstrap.yml b/xsnb-auth/src/main/resources/bootstrap.yml similarity index 85% rename from zhn-auth/target/classes/bootstrap.yml rename to xsnb-auth/src/main/resources/bootstrap.yml index c0dda39..abe4521 100644 --- a/zhn-auth/target/classes/bootstrap.yml +++ b/xsnb-auth/src/main/resources/bootstrap.yml @@ -12,7 +12,7 @@ spring: time-zone: GMT+8 application: # 应用名称 - name: zhn-auth + name: xsnb-auth profiles: # 环境配置 active: dev @@ -20,10 +20,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 192.168.2.51:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 192.168.2.51:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/zhn-auth/target/classes/mapper/AuthMapper.xml b/xsnb-auth/src/main/resources/mapper/AuthMapper.xml similarity index 78% rename from zhn-auth/target/classes/mapper/AuthMapper.xml rename to xsnb-auth/src/main/resources/mapper/AuthMapper.xml index 697c9a5..b24a808 100644 --- a/zhn-auth/target/classes/mapper/AuthMapper.xml +++ b/xsnb-auth/src/main/resources/mapper/AuthMapper.xml @@ -1,7 +1,7 @@ - + - \ No newline at end of file + diff --git a/zhn-common/pom.xml b/xsnb-common/pom.xml similarity index 79% rename from zhn-common/pom.xml rename to xsnb-common/pom.xml index 9e449e9..eb362ae 100644 --- a/zhn-common/pom.xml +++ b/xsnb-common/pom.xml @@ -3,13 +3,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - zhn-dev - com.zhn + xsnb-dev + com.xsnb 1.0.0 4.0.0 - zhn-common + xsnb-common @@ -58,6 +58,16 @@ org.springframework.boot spring-boot-starter-data-redis + + + org.springframework.boot + spring-boot-starter-amqp + + + + org.springframework.boot + spring-boot-starter-mail + org.springframework.boot @@ -91,6 +101,19 @@ aliyun-sdk-oss 3.12.0 + + + + + com.baomidou + mybatis-plus + 3.3.1 + + + com.baomidou + mybatis-plus-boot-starter + 3.3.1 + - \ No newline at end of file + diff --git a/zhn-common/src/main/java/com/zhn/common/constants/Constants.java b/xsnb-common/src/main/java/com/xsnb/common/constants/Constants.java similarity index 87% rename from zhn-common/src/main/java/com/zhn/common/constants/Constants.java rename to xsnb-common/src/main/java/com/xsnb/common/constants/Constants.java index 512b656..3d3cffb 100644 --- a/zhn-common/src/main/java/com/zhn/common/constants/Constants.java +++ b/xsnb-common/src/main/java/com/xsnb/common/constants/Constants.java @@ -1,8 +1,8 @@ -package com.zhn.common.constants; +package com.xsnb.common.constants; /** * @description: 系统常量 - * @author zhn + * @author xsnb */ public class Constants { /** diff --git a/zhn-common/src/main/java/com/zhn/common/constants/JwtConstants.java b/xsnb-common/src/main/java/com/xsnb/common/constants/JwtConstants.java similarity index 90% rename from zhn-common/src/main/java/com/zhn/common/constants/JwtConstants.java rename to xsnb-common/src/main/java/com/xsnb/common/constants/JwtConstants.java index e240c98..80afd33 100644 --- a/zhn-common/src/main/java/com/zhn/common/constants/JwtConstants.java +++ b/xsnb-common/src/main/java/com/xsnb/common/constants/JwtConstants.java @@ -1,7 +1,7 @@ -package com.zhn.common.constants; +package com.xsnb.common.constants; /** - * @author zhn + * @author xsnb * @description: Jwt常量 */ public class JwtConstants { diff --git a/xsnb-common/src/main/java/com/xsnb/common/constants/RabbitMQConstants.java b/xsnb-common/src/main/java/com/xsnb/common/constants/RabbitMQConstants.java new file mode 100644 index 0000000..54d6e94 --- /dev/null +++ b/xsnb-common/src/main/java/com/xsnb/common/constants/RabbitMQConstants.java @@ -0,0 +1,11 @@ +package com.xsnb.common.constants; + +/** + * @BelongsProject: Bob_Up_Like_A_Cork + * @BelongsPackage: com.zhn.common.constants + * @Author: zhangquan + * @CreateTime: 2023/8/1 20:11 + */ +public class RabbitMQConstants { + public static final String SEND_SMS_QUEUs = "send_sms_queun"; +} diff --git a/zhn-common/src/main/java/com/zhn/common/constants/TokenConstants.java b/xsnb-common/src/main/java/com/xsnb/common/constants/TokenConstants.java similarity index 90% rename from zhn-common/src/main/java/com/zhn/common/constants/TokenConstants.java rename to xsnb-common/src/main/java/com/xsnb/common/constants/TokenConstants.java index 0add0a0..a3d9e8f 100644 --- a/zhn-common/src/main/java/com/zhn/common/constants/TokenConstants.java +++ b/xsnb-common/src/main/java/com/xsnb/common/constants/TokenConstants.java @@ -1,7 +1,7 @@ -package com.zhn.common.constants; +package com.xsnb.common.constants; /** - * @author zhn + * @author xsnb * @description: 令牌常量 */ public class TokenConstants { diff --git a/xsnb-common/src/main/java/com/xsnb/common/domain/User.java b/xsnb-common/src/main/java/com/xsnb/common/domain/User.java new file mode 100644 index 0000000..fcc6713 --- /dev/null +++ b/xsnb-common/src/main/java/com/xsnb/common/domain/User.java @@ -0,0 +1,22 @@ +package com.xsnb.common.domain; + + +import lombok.Data; + +import java.util.Date; + +@Data +public class User { + + private Integer id; + private String name; + private String phone; + private String email; + private String wx_uid; + private String user_name; + private String user_pass; + private String avatar; + private Date lastLoginTime; + private String balance; + +} diff --git a/zhn-common/src/main/java/com/zhn/common/domain/request/RequestUser.java b/xsnb-common/src/main/java/com/xsnb/common/domain/request/RequestUser.java similarity index 75% rename from zhn-common/src/main/java/com/zhn/common/domain/request/RequestUser.java rename to xsnb-common/src/main/java/com/xsnb/common/domain/request/RequestUser.java index 39050e1..14b1a68 100644 --- a/zhn-common/src/main/java/com/zhn/common/domain/request/RequestUser.java +++ b/xsnb-common/src/main/java/com/xsnb/common/domain/request/RequestUser.java @@ -1,4 +1,4 @@ -package com.zhn.common.domain.request; +package com.xsnb.common.domain.request; import lombok.Data; @@ -14,6 +14,8 @@ public class RequestUser { private String emil; private String lastLoginTime; private String balance; + private String captcha; + private String loginRadio; diff --git a/zhn-common/src/main/java/com/zhn/common/domain/response/RespJwt.java b/xsnb-common/src/main/java/com/xsnb/common/domain/response/RespJwt.java similarity index 79% rename from zhn-common/src/main/java/com/zhn/common/domain/response/RespJwt.java rename to xsnb-common/src/main/java/com/xsnb/common/domain/response/RespJwt.java index 76969c3..7ddb367 100644 --- a/zhn-common/src/main/java/com/zhn/common/domain/response/RespJwt.java +++ b/xsnb-common/src/main/java/com/xsnb/common/domain/response/RespJwt.java @@ -1,10 +1,10 @@ -package com.zhn.common.domain.response; +package com.xsnb.common.domain.response; import lombok.Data; /** * @ClassName:RespJwt - * @author:zhn + * @author:xsnb * @create: 2023-08-03 09:01 * @Description: 用户登录token返回实体类 */ diff --git a/zhn-common/src/main/java/com/zhn/common/domain/response/ResponseUser.java b/xsnb-common/src/main/java/com/xsnb/common/domain/response/ResponseUser.java similarity index 89% rename from zhn-common/src/main/java/com/zhn/common/domain/response/ResponseUser.java rename to xsnb-common/src/main/java/com/xsnb/common/domain/response/ResponseUser.java index 03f7a61..97f21e9 100644 --- a/zhn-common/src/main/java/com/zhn/common/domain/response/ResponseUser.java +++ b/xsnb-common/src/main/java/com/xsnb/common/domain/response/ResponseUser.java @@ -1,4 +1,4 @@ -package com.zhn.common.domain.response; +package com.xsnb.common.domain.response; import lombok.Data; diff --git a/zhn-common/src/main/java/com/zhn/common/result/PageResult.java b/xsnb-common/src/main/java/com/xsnb/common/result/PageResult.java similarity index 93% rename from zhn-common/src/main/java/com/zhn/common/result/PageResult.java rename to xsnb-common/src/main/java/com/xsnb/common/result/PageResult.java index 35768fc..4ba4f68 100644 --- a/zhn-common/src/main/java/com/zhn/common/result/PageResult.java +++ b/xsnb-common/src/main/java/com/xsnb/common/result/PageResult.java @@ -1,4 +1,4 @@ -package com.zhn.common.result; +package com.xsnb.common.result; import lombok.Data; @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.List; /** - * @author zhn + * @author xsnb * @description: 列表返回结果集 */ @Data diff --git a/zhn-common/src/main/java/com/zhn/common/result/Result.java b/xsnb-common/src/main/java/com/xsnb/common/result/Result.java similarity index 94% rename from zhn-common/src/main/java/com/zhn/common/result/Result.java rename to xsnb-common/src/main/java/com/xsnb/common/result/Result.java index 47f249d..ef956ae 100644 --- a/zhn-common/src/main/java/com/zhn/common/result/Result.java +++ b/xsnb-common/src/main/java/com/xsnb/common/result/Result.java @@ -1,12 +1,12 @@ -package com.zhn.common.result; +package com.xsnb.common.result; -import com.zhn.common.constants.Constants; +import com.xsnb.common.constants.Constants; import lombok.Data; import java.io.Serializable; /** - * @author zhn + * @author xsnb * @description: 响应信息主体 */ @Data diff --git a/zhn-common/src/main/java/com/zhn/common/utils/JwtUtils.java b/xsnb-common/src/main/java/com/xsnb/common/utils/JwtUtils.java similarity index 96% rename from zhn-common/src/main/java/com/zhn/common/utils/JwtUtils.java rename to xsnb-common/src/main/java/com/xsnb/common/utils/JwtUtils.java index b1cd22e..ec89cf4 100644 --- a/zhn-common/src/main/java/com/zhn/common/utils/JwtUtils.java +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/JwtUtils.java @@ -1,6 +1,6 @@ -package com.zhn.common.utils; +package com.xsnb.common.utils; -import com.zhn.common.constants.JwtConstants; +import com.xsnb.common.constants.JwtConstants; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; @@ -9,7 +9,7 @@ import java.util.Map; /** * @description: Jwt工具类 - * @author zhn + * @author xsnb */ public class JwtUtils { diff --git a/zhn-common/src/main/java/com/zhn/common/utils/Msg/HttpUtils.java b/xsnb-common/src/main/java/com/xsnb/common/utils/Msg/HttpUtils.java similarity index 99% rename from zhn-common/src/main/java/com/zhn/common/utils/Msg/HttpUtils.java rename to xsnb-common/src/main/java/com/xsnb/common/utils/Msg/HttpUtils.java index 8a8e974..cb9583e 100644 --- a/zhn-common/src/main/java/com/zhn/common/utils/Msg/HttpUtils.java +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/Msg/HttpUtils.java @@ -1,6 +1,6 @@ -package com.zhn.common.utils.Msg; +package com.xsnb.common.utils.Msg; -import com.zhn.common.utils.StringUtils; +import com.xsnb.common.utils.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; diff --git a/zhn-common/src/main/java/com/zhn/common/utils/Msg/MsgUtil.java b/xsnb-common/src/main/java/com/xsnb/common/utils/Msg/MsgUtil.java similarity index 96% rename from zhn-common/src/main/java/com/zhn/common/utils/Msg/MsgUtil.java rename to xsnb-common/src/main/java/com/xsnb/common/utils/Msg/MsgUtil.java index 5b9c4c8..6726eb4 100644 --- a/zhn-common/src/main/java/com/zhn/common/utils/Msg/MsgUtil.java +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/Msg/MsgUtil.java @@ -1,4 +1,4 @@ -package com.zhn.common.utils.Msg; +package com.xsnb.common.utils.Msg; diff --git a/zhn-common/src/main/java/com/zhn/common/utils/OssUtil.java b/xsnb-common/src/main/java/com/xsnb/common/utils/OssUtil.java similarity index 99% rename from zhn-common/src/main/java/com/zhn/common/utils/OssUtil.java rename to xsnb-common/src/main/java/com/xsnb/common/utils/OssUtil.java index 187b6ca..7c4cece 100644 --- a/zhn-common/src/main/java/com/zhn/common/utils/OssUtil.java +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/OssUtil.java @@ -1,4 +1,4 @@ -package com.zhn.common.utils; +package com.xsnb.common.utils; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; diff --git a/zhn-common/src/main/java/com/zhn/common/utils/StringUtils.java b/xsnb-common/src/main/java/com/xsnb/common/utils/StringUtils.java similarity index 97% rename from zhn-common/src/main/java/com/zhn/common/utils/StringUtils.java rename to xsnb-common/src/main/java/com/xsnb/common/utils/StringUtils.java index c478c79..9b35e5e 100644 --- a/zhn-common/src/main/java/com/zhn/common/utils/StringUtils.java +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/StringUtils.java @@ -1,4 +1,4 @@ -package com.zhn.common.utils; +package com.xsnb.common.utils; import org.springframework.util.AntPathMatcher; @@ -6,7 +6,7 @@ import java.util.Collection; import java.util.List; /** - * @author zhn + * @author xsnb * @description: 字符串处理工具类 */ public class StringUtils extends org.apache.commons.lang3.StringUtils { diff --git a/zhn-common/src/main/java/com/zhn/common/utils/TelSmsUtils.java b/xsnb-common/src/main/java/com/xsnb/common/utils/TelSmsUtils.java similarity index 75% rename from zhn-common/src/main/java/com/zhn/common/utils/TelSmsUtils.java rename to xsnb-common/src/main/java/com/xsnb/common/utils/TelSmsUtils.java index ba898de..bab8bc5 100644 --- a/zhn-common/src/main/java/com/zhn/common/utils/TelSmsUtils.java +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/TelSmsUtils.java @@ -1,4 +1,4 @@ -package com.zhn.common.utils; +package com.xsnb.common.utils; import com.alibaba.fastjson.JSONObject; import com.aliyun.dysmsapi20170525.Client; @@ -18,8 +18,9 @@ public class TelSmsUtils { /** * 阿里云主账号AccessKey,accessKeySecret拥有所有API的访问权限 */ - private static String accessKeyId = "LTAIEVXszCmcd1T5"; - private static String accessKeySecret = "2zHwciQXln8wExSEnkIYtRTSwLeRNd"; + private static String accessKeyId = "LTAI5tHLTV3mgTwB4wzxvkLS"; + private static String accessKeySecret = "jjQt8WSFzSDTvp1TMhRFS8FSyueaQU"; + private static String templateCode = "SMS_154950909"; /** * 短信访问域名 @@ -28,7 +29,7 @@ public class TelSmsUtils { /** * 短信签名 */ - private static String signName = "登录验证"; + private static String signName = "阿里云短信测试"; /** * 实例化短信对象 @@ -40,22 +41,22 @@ public class TelSmsUtils { long startTime = System.currentTimeMillis(); try { client = initClient(); - log.info("初始化短信成功:{}",signName); + log.info("初始化短信成功:{}", signName); } catch (Exception e) { e.printStackTrace(); } - log.info("初始化短信服务结束:耗时:{}MS",(System.currentTimeMillis()-startTime)); + log.info("初始化短信服务结束:耗时:{}MS", (System.currentTimeMillis() - startTime)); } + /** * 初始化短信对象 + * * @return * @throws Exception */ - private static Client initClient() throws Exception{ + private static Client initClient() throws Exception { Config config = new Config() - // 您的AccessKey ID .setAccessKeyId(accessKeyId) - // 您的AccessKey Secret .setAccessKeySecret(accessKeySecret); // 访问的域名 config.endpoint = endpoint; @@ -64,11 +65,11 @@ public class TelSmsUtils { /** * 发送单条短信 + * * @param tel - * @param templateCode SMS_153991546 * @param sendDataMap */ - public static String sendSms(String tel , String templateCode , Map sendDataMap){ + public static String sendSms(String tel, Map sendDataMap) { SendSmsRequest sendSmsRequest = new SendSmsRequest() .setPhoneNumbers(tel) .setSignName(signName) diff --git a/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DLXQueue.java b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DLXQueue.java new file mode 100644 index 0000000..0ff07eb --- /dev/null +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DLXQueue.java @@ -0,0 +1,77 @@ +package com.xsnb.common.utils.mqUtile; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.DirectExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Component +public class DLXQueue { + // routingKey + private static final String DEAD_ROUTING_KEY = "dead.routingkey"; + private static final String ROUTING_KEY = "routingkey"; + private static final String DEAD_EXCHANGE = "dead.exchange"; + private static final String EXCHANGE = "common.exchange"; + @Autowired + RabbitTemplate rabbitTemplate; + @Resource + RabbitAdmin rabbitAdmin; + + /** + * 发送死信队列,过期后进入死信交换机,进入死信队列 + * + * @param queueName 队列名称 + * @param deadQueueName 死信队列名称 + * @param params 消息内容 + * @param expiration 过期时间 毫秒 + */ + public void sendDLXQueue(String queueName, String deadQueueName, Object params, Integer expiration) { + /** + * ----------------------------------先创建一个ttl队列和死信队列-------------------------------------------- + */ + Map map = new HashMap<>(); + // 队列设置存活时间,单位ms, 必须是整形数据。 + map.put("x-message-ttl", expiration); + // 设置死信交换机 + map.put("x-dead-letter-exchange", DEAD_EXCHANGE); + // 设置死信交换器路由 + map.put("x-dead-letter-routing-key", DEAD_ROUTING_KEY); + /*参数1:队列名称 参数2:持久化 参数3:是否排他 参数4:自动删除队列 参数5:队列参数*/ + Queue queue = new Queue(queueName, true, false, false, map); + rabbitAdmin.declareQueue(queue); + /** + * ---------------------------------创建交换机--------------------------------------------- + */ + DirectExchange directExchange = new DirectExchange(EXCHANGE, true, false); + rabbitAdmin.declareExchange(directExchange); + /** + * ---------------------------------队列绑定交换机--------------------------------------------- + */ + Binding binding = BindingBuilder.bind(queue).to(directExchange).with(ROUTING_KEY); + rabbitAdmin.declareBinding(binding); + /** + * ---------------------------------在创建一个死信交换机和队列,接收死信队列--------------------------------------------- + */ + DirectExchange deadExchange = new DirectExchange(DEAD_EXCHANGE, true, false); + rabbitAdmin.declareExchange(deadExchange); + + Queue deadQueue = new Queue(deadQueueName, true, false, false); + rabbitAdmin.declareQueue(deadQueue); + /** + * ---------------------------------队列绑定死信交换机--------------------------------------------- + */ + // 将队列和交换机绑定 + Binding deadbinding = BindingBuilder.bind(deadQueue).to(deadExchange).with(DEAD_ROUTING_KEY); + rabbitAdmin.declareBinding(deadbinding); + // 发送消息 + rabbitTemplate.convertAndSend(EXCHANGE, ROUTING_KEY, params); + } +} diff --git a/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DelayedQueue.java b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DelayedQueue.java new file mode 100644 index 0000000..5e97cde --- /dev/null +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/DelayedQueue.java @@ -0,0 +1,79 @@ +package com.xsnb.common.utils.mqUtile; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.CustomExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +/** + * 发送延迟队列的工具类 + */ +@Component +public class DelayedQueue { + + // routingKey + private static final String DELAYED_ROUTING_KEY = "delayed.routingkey"; + + // 延迟队列交换机 + private static final String DELAYED_EXCHANGE = "delayed.exchange"; + + @Autowired + RabbitTemplate rabbitTemplate; + + @Resource + RabbitAdmin rabbitAdmin; + + /** + * 发送延迟队列 + * + * @param queueName 队列名称 + * @param params 消息内容 + * @param expiration 延迟时间 毫秒 + */ + public void sendDelayedQueue(String queueName, Object params, Integer expiration) { + // 先创建一个队列 + Queue queue = new Queue(queueName); + rabbitAdmin.declareQueue(queue); + + // 创建延迟队列交换机 + CustomExchange customExchange = createCustomExchange(); + rabbitAdmin.declareExchange(customExchange); + + // 将队列和交换机绑定 + Binding binding = BindingBuilder.bind(queue).to(customExchange).with(DELAYED_ROUTING_KEY).noargs(); + rabbitAdmin.declareBinding(binding); + + // 发送延迟消息 + rabbitTemplate.convertAndSend(DELAYED_EXCHANGE, DELAYED_ROUTING_KEY, params, msg -> { + // 发送消息的时候 延迟时长 + msg.getMessageProperties().setMessageId(UUID.randomUUID().toString().replaceAll("-", "")); + msg.getMessageProperties().setDelay(expiration); + return msg; + }); + } + + private CustomExchange createCustomExchange() { + Map arguments = new HashMap<>(); + /** + * 参数说明: + * 1.交换机的名称 + * 2.交换机的类型 + * 3.是否需要持久化 + * 4.是否自动删除 + * 5.其它参数 + */ + arguments.put("x-delayed-type", "direct"); + return new CustomExchange(DELAYED_EXCHANGE, "x-delayed-message", true, false, arguments); + } + +} + diff --git a/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/RabbitMQ.java b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/RabbitMQ.java new file mode 100644 index 0000000..bd2448c --- /dev/null +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/RabbitMQ.java @@ -0,0 +1,8 @@ +package com.xsnb.common.utils.mqUtile; + +import lombok.Data; + +@Data +public class RabbitMQ { + public static final String SEND_CODE_QUEUE = "send_code_queue"; +} diff --git a/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/TtlQueue.java b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/TtlQueue.java new file mode 100644 index 0000000..54d7025 --- /dev/null +++ b/xsnb-common/src/main/java/com/xsnb/common/utils/mqUtile/TtlQueue.java @@ -0,0 +1,66 @@ +package com.xsnb.common.utils.mqUtile; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.DirectExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * 发送TTL队列 设置 消息的存活时间 如果超过了存活时间 + * 该条消息还没有被消费 则自动从队列中消息 ,如果配置了死信队列则消息会进入死信队列 + */ +@Component +public class TtlQueue { + // routingKey + private static final String TTL_KEY = "ttl.routingkey"; + private static final String TTL_EXCHANGE = "ttl.exchange"; + + @Autowired + RabbitTemplate rabbitTemplate; + + @Resource + RabbitAdmin rabbitAdmin; + + /** + * 发送TTL队列 + * + * @param queueName 队列名称 + * @param params 消息内容 + * @param expiration 过期时间 毫秒 + */ + public void sendTtlQueue(String queueName, Object params, Integer expiration) { + /** + * ----------------------------------先创建一个ttl队列-------------------------------------------- + */ + Map map = new HashMap<>(); + // 队列设置存活时间,单位ms,必须是整形数据。 + map.put("x-message-ttl", expiration); + /*参数1:队列名称 参数2:持久化 参数3:是否排他 参数4:自动删除队列 参数5:队列参数*/ + Queue queue = new Queue(queueName, true, false, false, map); + rabbitAdmin.declareQueue(queue); + + /** + * ---------------------------------创建交换机--------------------------------------------- + */ + DirectExchange directExchange = new DirectExchange(TTL_EXCHANGE, true, false); + rabbitAdmin.declareExchange(directExchange); + /** + * ---------------------------------队列绑定交换机--------------------------------------------- + */ + // 将队列和交换机绑定 + Binding binding = BindingBuilder.bind(queue).to(directExchange).with(TTL_KEY); + rabbitAdmin.declareBinding(binding); + + // 发送消息 + rabbitTemplate.convertAndSend(TTL_EXCHANGE, TTL_KEY, params); + } +} + diff --git a/zhn-common/src/main/resources/date.txt b/xsnb-common/src/main/resources/date.txt similarity index 100% rename from zhn-common/src/main/resources/date.txt rename to xsnb-common/src/main/resources/date.txt diff --git a/xsnb-gateway/Dockerfile b/xsnb-gateway/Dockerfile new file mode 100644 index 0000000..37ded97 --- /dev/null +++ b/xsnb-gateway/Dockerfile @@ -0,0 +1,15 @@ +# 基础镜像 +FROM openjdk:8-jre +# author +MAINTAINER ex_weilingfeng@163.com + +# 挂载目录 +VOLUME /home/xsnb +# 创建目录 +RUN mkdir -p /home/xsnb +# 指定路径 +WORKDIR /home/xsnb +# 复制jar文件到路径 +COPY xsnb-gateway/target/xsnb-gateway.jar /home/xsnb/xsnb-gateway.jar +# 启动网关服务 +ENTRYPOINT ["java","-jar","xsnb-gateway.jar"] diff --git a/zhn-gateway/pom.xml b/xsnb-gateway/pom.xml similarity index 73% rename from zhn-gateway/pom.xml rename to xsnb-gateway/pom.xml index 8429d15..b08e5d5 100644 --- a/zhn-gateway/pom.xml +++ b/xsnb-gateway/pom.xml @@ -3,19 +3,29 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - zhn-dev - com.zhn + xsnb-dev + com.xsnb 1.0.0 4.0.0 - zhn-gateway + xsnb-gateway - com.zhn - zhn-common + com.xsnb + xsnb-common + + + com.baomidou + mybatis-plus + + + com.baomidou + mybatis-plus-boot-starter + + diff --git a/zhn-gateway/src/main/java/com/zhn/gateway/GatewayMian.java b/xsnb-gateway/src/main/java/com/xsnb/gateway/GatewayMian.java similarity index 91% rename from zhn-gateway/src/main/java/com/zhn/gateway/GatewayMian.java rename to xsnb-gateway/src/main/java/com/xsnb/gateway/GatewayMian.java index 8752176..99e205a 100644 --- a/zhn-gateway/src/main/java/com/zhn/gateway/GatewayMian.java +++ b/xsnb-gateway/src/main/java/com/xsnb/gateway/GatewayMian.java @@ -1,4 +1,5 @@ -package com.zhn.gateway; +package com.xsnb.gateway; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -6,6 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author zhang */ + @SpringBootApplication public class GatewayMian { public static void main(String[] args) { diff --git a/zhn-gateway/src/main/java/com/zhn/gateway/config/IgnoreWhiteConfig.java b/xsnb-gateway/src/main/java/com/xsnb/gateway/config/IgnoreWhiteConfig.java similarity index 94% rename from zhn-gateway/src/main/java/com/zhn/gateway/config/IgnoreWhiteConfig.java rename to xsnb-gateway/src/main/java/com/xsnb/gateway/config/IgnoreWhiteConfig.java index 54d7f1f..da647a8 100644 --- a/zhn-gateway/src/main/java/com/zhn/gateway/config/IgnoreWhiteConfig.java +++ b/xsnb-gateway/src/main/java/com/xsnb/gateway/config/IgnoreWhiteConfig.java @@ -1,4 +1,4 @@ -package com.zhn.gateway.config; +package com.xsnb.gateway.config; import com.alibaba.fastjson.JSONObject; import lombok.Data; @@ -12,7 +12,7 @@ import java.util.List; /** * @description: 放行白名单配置 - * @author zhn + * @author xsnb */ @Configuration @RefreshScope diff --git a/xsnb-gateway/src/main/java/com/xsnb/gateway/constants/Constants.java b/xsnb-gateway/src/main/java/com/xsnb/gateway/constants/Constants.java new file mode 100644 index 0000000..f0b59d9 --- /dev/null +++ b/xsnb-gateway/src/main/java/com/xsnb/gateway/constants/Constants.java @@ -0,0 +1,4 @@ +package com.xsnb.gateway.constants; + +public class Constants { +} diff --git a/zhn-gateway/src/main/java/com/zhn/gateway/filters/AuthFilters.java b/xsnb-gateway/src/main/java/com/xsnb/gateway/filters/AuthFilters.java similarity index 88% rename from zhn-gateway/src/main/java/com/zhn/gateway/filters/AuthFilters.java rename to xsnb-gateway/src/main/java/com/xsnb/gateway/filters/AuthFilters.java index a0b50a7..e2d726a 100644 --- a/zhn-gateway/src/main/java/com/zhn/gateway/filters/AuthFilters.java +++ b/xsnb-gateway/src/main/java/com/xsnb/gateway/filters/AuthFilters.java @@ -1,14 +1,14 @@ -package com.zhn.gateway.filters; +package com.xsnb.gateway.filters; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; -import com.zhn.common.constants.TokenConstants; -import com.zhn.common.domain.User; -import com.zhn.common.utils.JwtUtils; -import com.zhn.common.utils.StringUtils; -import com.zhn.gateway.config.IgnoreWhiteConfig; -import com.zhn.gateway.utils.GatewayUtils; +import com.xsnb.common.constants.TokenConstants; +import com.xsnb.common.domain.User; +import com.xsnb.common.utils.JwtUtils; +import com.xsnb.common.utils.StringUtils; +import com.xsnb.gateway.config.IgnoreWhiteConfig; +import com.xsnb.gateway.utils.GatewayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; @@ -56,6 +56,7 @@ public class AuthFilters implements GlobalFilter, Ordered { } String jsonStr = redisTemplate.opsForValue().get(TokenConstants.LOGIN_TOKEN_KEY + userKey); User user = JSONObject.parseObject(jsonStr, User.class); + user.setLastLoginTime(new Date()); Date lastLoginTime = user.getLastLoginTime(); long between = DateUtil.between(lastLoginTime, new Date(), DateUnit.MINUTE); if (between >= 10) { diff --git a/zhn-gateway/src/main/java/com/zhn/gateway/utils/GatewayUtils.java b/xsnb-gateway/src/main/java/com/xsnb/gateway/utils/GatewayUtils.java similarity index 96% rename from zhn-gateway/src/main/java/com/zhn/gateway/utils/GatewayUtils.java rename to xsnb-gateway/src/main/java/com/xsnb/gateway/utils/GatewayUtils.java index bfa7346..099059b 100644 --- a/zhn-gateway/src/main/java/com/zhn/gateway/utils/GatewayUtils.java +++ b/xsnb-gateway/src/main/java/com/xsnb/gateway/utils/GatewayUtils.java @@ -1,8 +1,8 @@ -package com.zhn.gateway.utils; +package com.xsnb.gateway.utils; import com.alibaba.fastjson.JSONObject; -import com.zhn.common.result.Result; -import com.zhn.common.utils.StringUtils; +import com.xsnb.common.result.Result; +import com.xsnb.common.utils.StringUtils; import lombok.extern.log4j.Log4j2; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.http.HttpHeaders; @@ -13,7 +13,7 @@ import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; /** - * @author zhn + * @author xsnb * @description: 网关处理工具类 */ @Log4j2 diff --git a/zhn-gateway/src/main/resources/bootstrap.yml b/xsnb-gateway/src/main/resources/bootstrap.yml similarity index 85% rename from zhn-gateway/src/main/resources/bootstrap.yml rename to xsnb-gateway/src/main/resources/bootstrap.yml index ea9921e..9bd5ea6 100644 --- a/zhn-gateway/src/main/resources/bootstrap.yml +++ b/xsnb-gateway/src/main/resources/bootstrap.yml @@ -5,7 +5,7 @@ server: spring: application: # 应用名称 - name: zhn-gateway + name: xsnb-gateway profiles: # 环境配置 active: dev @@ -18,10 +18,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 192.168.2.51:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 192.168.2.51:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/zhn-modules/pom.xml b/xsnb-modules/pom.xml similarity index 71% rename from zhn-modules/pom.xml rename to xsnb-modules/pom.xml index cba07cf..7346441 100644 --- a/zhn-modules/pom.xml +++ b/xsnb-modules/pom.xml @@ -3,17 +3,17 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - zhn-dev - com.zhn + xsnb-dev + com.xsnb 1.0.0 4.0.0 - zhn-modules + xsnb-modules pom - zhn-system + xsnb-system - \ No newline at end of file + diff --git a/xsnb-modules/xsnb-system/Dockerfile b/xsnb-modules/xsnb-system/Dockerfile new file mode 100644 index 0000000..178916a --- /dev/null +++ b/xsnb-modules/xsnb-system/Dockerfile @@ -0,0 +1,15 @@ +# 基础镜像 +FROM openjdk:8-jre +# author +MAINTAINER ex_weilingfeng + +# 挂载目录 +VOLUME /home/xsnb +# 创建目录 +RUN mkdir -p /home/xsnb +# 指定路径 +WORKDIR /home/xsnb +# 复制jar文件到路径 +COPY xsnb-modules/xsnb-system/target/xsnb-modules-system.jar /home/xsnb/xsnb-modules-system.jar +# 启动系统服务 +ENTRYPOINT ["java","-jar","xsnb-modules-system.jar"] diff --git a/zhn-modules/zhn-system/pom.xml b/xsnb-modules/xsnb-system/pom.xml similarity index 85% rename from zhn-modules/zhn-system/pom.xml rename to xsnb-modules/xsnb-system/pom.xml index b655529..0b49d66 100644 --- a/zhn-modules/zhn-system/pom.xml +++ b/xsnb-modules/xsnb-system/pom.xml @@ -3,19 +3,19 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - zhn-modules - com.zhn + xsnb-modules + com.xsnb 1.0.0 4.0.0 - zhn-system + xsnb-system - com.zhn - zhn-common + com.xsnb + xsnb-common @@ -77,6 +77,18 @@ org.springframework.boot spring-boot-starter-websocket + + io.minio + minio + 8.5.3 + + + + com.squareup.okhttp3 + okhttp + 4.10.0 + + diff --git a/zhn-modules/zhn-system/src/main/java/com/zhn/system/SystemMian.java b/xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/SystemMian.java similarity index 80% rename from zhn-modules/zhn-system/src/main/java/com/zhn/system/SystemMian.java rename to xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/SystemMian.java index b41b75c..be92bf4 100644 --- a/zhn-modules/zhn-system/src/main/java/com/zhn/system/SystemMian.java +++ b/xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/SystemMian.java @@ -1,5 +1,6 @@ -package com.zhn.system; +package com.xsnb.system; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; @@ -8,6 +9,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableFeignClients @EnableScheduling +@MapperScan("com.xsnb.**.mapper") public class SystemMian { public static void main(String[] args) { SpringApplication.run(SystemMian.class, args); diff --git a/xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/config/MailSender.java b/xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/config/MailSender.java new file mode 100644 index 0000000..d12a477 --- /dev/null +++ b/xsnb-modules/xsnb-system/src/main/java/com/xsnb/system/config/MailSender.java @@ -0,0 +1,48 @@ +package com.xsnb.system.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.mail.javamail.JavaMailSenderImpl; + +import java.util.Properties; + +/** + * FileName: MailSender + * Author: 张海宁 + * Date: 2024/3/4 14:41 + * Description: + * History: + *