From 0219c054ade18aa14346763be220195dcd9caf61 Mon Sep 17 00:00:00 2001 From: Xiao Fan <461179989@qq.com> Date: Wed, 15 Nov 2023 19:46:40 +0800 Subject: [PATCH] new --- .idea/.gitignore | 8 + .idea/compiler.xml | 31 ++++ .idea/day4-zy.iml | 2 + .idea/encodings.xml | 13 ++ .idea/inspectionProfiles/Project_Default.xml | 36 +++++ .idea/jarRepositories.xml | 20 +++ .idea/misc.xml | 17 ++ .idea/new.iml | 2 + .idea/vcs.xml | 6 + bwie-auth/pom.xml | 44 +++++ .../src/main/java/com/bwie/auth/AuthApp.java | 13 ++ .../auth/config/ConfirmCallbackConfig.java | 48 ++++++ .../auth/config/ReturnCallbackConfig.java | 41 +++++ .../bwie/auth/controller/AuthController.java | 54 +++++++ .../com/bwie/auth/feign/UserFeignService.java | 14 ++ .../com/bwie/auth/service/AuthService.java | 16 ++ .../bwie/auth/service/AuthServiceimpl.java | 95 +++++++++++ bwie-auth/src/main/resources/bootstrap.yml | 30 ++++ bwie-auth/target/bwie-auth-1.0-SNAPSHOT.jar | Bin 0 -> 11241 bytes bwie-auth/target/classes/bootstrap.yml | 30 ++++ .../classes/com/bwie/auth/AuthApp.class | Bin 0 -> 791 bytes .../auth/config/ConfirmCallbackConfig.class | Bin 0 -> 2283 bytes .../auth/config/ReturnCallbackConfig.class | Bin 0 -> 1929 bytes .../bwie/auth/controller/AuthController.class | Bin 0 -> 3474 bytes .../bwie/auth/feign/UserFeignService.class | Bin 0 -> 674 bytes .../com/bwie/auth/service/AuthService.class | Bin 0 -> 556 bytes .../bwie/auth/service/AuthServiceimpl.class | Bin 0 -> 6722 bytes .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 7 + .../compile/default-compile/inputFiles.lst | 7 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-common/pom.xml | 112 +++++++++++++ .../com/bwie/common/config/RedisConfig.java | 40 +++++ .../com/bwie/common/constants/Constants.java | 18 +++ .../bwie/common/constants/JwtConstants.java | 29 ++++ .../constants/RabbitMQQueueConstants.java | 25 +++ .../com/bwie/common/constants/RabbitName.java | 5 + .../bwie/common/constants/TokenConstants.java | 24 +++ .../main/java/com/bwie/common/domain/New.java | 18 +++ .../java/com/bwie/common/domain/User.java | 12 ++ .../common/domain/request/LoginRequest.java | 9 ++ .../common/domain/request/NewRequest.java | 15 ++ .../common/domain/response/JwtResponse.java | 9 ++ .../common/domain/response/NewResponse.java | 8 + .../com/bwie/common/result/PageResult.java | 34 ++++ .../java/com/bwie/common/result/Result.java | 76 +++++++++ .../java/com/bwie/common/utils/FastUtil.java | 55 +++++++ .../java/com/bwie/common/utils/JwtUtils.java | 109 +++++++++++++ .../java/com/bwie/common/utils/OssUtil.java | 153 ++++++++++++++++++ .../com/bwie/common/utils/StringUtils.java | 68 ++++++++ .../com/bwie/common/utils/TelSmsUtils.java | 88 ++++++++++ .../target/bwie-common-1.0-SNAPSHOT.jar | Bin 0 -> 26659 bytes .../com/bwie/common/config/RedisConfig.class | Bin 0 -> 3159 bytes .../com/bwie/common/constants/Constants.class | Bin 0 -> 651 bytes .../bwie/common/constants/JwtConstants.class | Bin 0 -> 544 bytes .../constants/RabbitMQQueueConstants.class | Bin 0 -> 545 bytes .../bwie/common/constants/RabbitName.class | Bin 0 -> 388 bytes .../common/constants/TokenConstants.class | Bin 0 -> 526 bytes .../classes/com/bwie/common/domain/New.class | Bin 0 -> 5128 bytes .../classes/com/bwie/common/domain/User.class | Bin 0 -> 3278 bytes .../common/domain/request/LoginRequest.class | Bin 0 -> 1895 bytes .../common/domain/request/NewRequest.class | Bin 0 -> 3967 bytes .../common/domain/response/JwtResponse.class | Bin 0 -> 1893 bytes .../common/domain/response/NewResponse.class | Bin 0 -> 391 bytes .../com/bwie/common/result/PageResult.class | Bin 0 -> 3304 bytes .../com/bwie/common/result/Result.class | Bin 0 -> 4886 bytes .../com/bwie/common/utils/FastUtil.class | Bin 0 -> 2597 bytes .../com/bwie/common/utils/JwtUtils.class | Bin 0 -> 2874 bytes .../com/bwie/common/utils/OssUtil.class | Bin 0 -> 5195 bytes .../com/bwie/common/utils/StringUtils.class | Bin 0 -> 1808 bytes .../com/bwie/common/utils/TelSmsUtils.class | Bin 0 -> 3748 bytes .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 19 +++ .../compile/default-compile/inputFiles.lst | 19 +++ .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-gateway/pom.xml | 44 +++++ .../java/com/bwie/gateway/GatewayApp.java | 11 ++ .../gateway/config/IgnoreWhiteConfig.java | 32 ++++ .../com/bwie/gateway/filters/AuthFilter.java | 99 ++++++++++++ .../com/bwie/gateway/utils/GatewayUtils.java | 98 +++++++++++ bwie-gateway/src/main/resources/bootstrap.yml | 29 ++++ .../target/bwie-gateway-1.0-SNAPSHOT.jar | Bin 0 -> 9292 bytes bwie-gateway/target/classes/bootstrap.yml | 29 ++++ .../classes/com/bwie/gateway/GatewayApp.class | Bin 0 -> 743 bytes .../gateway/config/IgnoreWhiteConfig.class | Bin 0 -> 2590 bytes .../com/bwie/gateway/filters/AuthFilter.class | Bin 0 -> 4074 bytes .../com/bwie/gateway/utils/GatewayUtils.class | Bin 0 -> 6222 bytes .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 4 + .../compile/default-compile/inputFiles.lst | 4 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-moudels/bwie-es/pom.xml | 37 +++++ .../src/main/java/com/bwie/es/EsApp.java | 15 ++ .../InitElasticSearchRestHighClient.java | 33 ++++ .../com/bwie/es/controller/EsController.java | 34 ++++ .../com/bwie/es/feign/NewFeignService.java | 14 ++ .../java/com/bwie/es/service/EsService.java | 14 ++ .../com/bwie/es/service/EsServiceimpl.java | 137 ++++++++++++++++ .../src/main/java/com/bwie/es/sync/Async.java | 37 +++++ .../bwie-es/src/main/resources/bootstrap.yml | 22 +++ .../bwie-es/target/bwie-es-1.0-SNAPSHOT.jar | Bin 0 -> 12749 bytes .../bwie-es/target/classes/bootstrap.yml | 22 +++ .../target/classes/com/bwie/es/EsApp.class | Bin 0 -> 848 bytes .../InitElasticSearchRestHighClient.class | Bin 0 -> 2991 bytes .../com/bwie/es/controller/EsController.class | Bin 0 -> 2280 bytes .../com/bwie/es/feign/NewFeignService.class | Bin 0 -> 506 bytes .../com/bwie/es/service/EsService.class | Bin 0 -> 577 bytes .../com/bwie/es/service/EsServiceimpl.class | Bin 0 -> 11201 bytes .../classes/com/bwie/es/sync/Async.class | Bin 0 -> 2193 bytes .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 7 + .../compile/default-compile/inputFiles.lst | 7 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-moudels/bwie-new/pom.xml | 50 ++++++ .../main/java/com/bwie/student/NewApp.java | 11 ++ .../student/controller/NewController.java | 45 ++++++ .../com/bwie/student/mapper/NewMapper.java | 14 ++ .../com/bwie/student/service/NewService.java | 14 ++ .../bwie/student/service/NewServiceimpl.java | 31 ++++ .../bwie-new/src/main/resources/bootstrap.yml | 29 ++++ .../src/main/resources/mapper/NewMapper.xml | 18 +++ .../bwie-new/target/bwie-new-1.0-SNAPSHOT.jar | Bin 0 -> 7216 bytes .../bwie-new/target/classes/bootstrap.yml | 29 ++++ .../classes/com/bwie/student/NewApp.class | Bin 0 -> 731 bytes .../student/controller/NewController.class | Bin 0 -> 3142 bytes .../com/bwie/student/mapper/NewMapper.class | Bin 0 -> 572 bytes .../com/bwie/student/service/NewService.class | Bin 0 -> 561 bytes .../bwie/student/service/NewServiceimpl.class | Bin 0 -> 2084 bytes .../target/classes/mapper/NewMapper.xml | 18 +++ .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 5 + .../compile/default-compile/inputFiles.lst | 5 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-moudels/bwie-rabbit/pom.xml | 37 +++++ .../src/main/java/com/bwie/rabbit/MqTest.java | 11 ++ .../bwie/rabbit/config/RabbitAdminConfig.java | 55 +++++++ .../bwie/rabbit/config/RabbitmqConfig.java | 16 ++ .../bwie/rabbit/consumer/SendSmsConsumer.java | 64 ++++++++ .../java/com/bwie/rabbit/utils/DLXQueue.java | 84 ++++++++++ .../com/bwie/rabbit/utils/DelayedQueue.java | 83 ++++++++++ .../java/com/bwie/rabbit/utils/TtlQueue.java | 64 ++++++++ .../src/main/resources/bootstrap.yml | 43 +++++ .../target/bwie-rabbit-1.0-SNAPSHOT.jar | Bin 0 -> 13468 bytes .../bwie-rabbit/target/classes/bootstrap.yml | 43 +++++ .../classes/com/bwie/rabbit/MqTest.class | Bin 0 -> 729 bytes .../rabbit/config/RabbitAdminConfig.class | Bin 0 -> 1911 bytes .../bwie/rabbit/config/RabbitmqConfig.class | Bin 0 -> 705 bytes .../rabbit/consumer/SendSmsConsumer$1.class | Bin 0 -> 963 bytes .../rabbit/consumer/SendSmsConsumer$2.class | Bin 0 -> 963 bytes .../rabbit/consumer/SendSmsConsumer.class | Bin 0 -> 4520 bytes .../com/bwie/rabbit/utils/DLXQueue.class | Bin 0 -> 3405 bytes .../com/bwie/rabbit/utils/DelayedQueue.class | Bin 0 -> 4652 bytes .../com/bwie/rabbit/utils/TtlQueue.class | Bin 0 -> 2956 bytes .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 9 ++ .../compile/default-compile/inputFiles.lst | 7 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-moudels/bwie-user/pom.xml | 50 ++++++ .../src/main/java/com/bwie/user/UserApp.java | 11 ++ .../bwie/user/controller/UserController.java | 35 ++++ .../java/com/bwie/user/mapper/UserMapper.java | 10 ++ .../com/bwie/user/service/UserService.java | 8 + .../bwie/user/service/UserServiceimpl.java | 17 ++ .../src/main/resources/bootstrap.yml | 29 ++++ .../src/main/resources/mapper/UserMapper.xml | 11 ++ .../target/bwie-user-1.0-SNAPSHOT.jar | Bin 0 -> 6332 bytes .../bwie-user/target/classes/bootstrap.yml | 29 ++++ .../classes/com/bwie/user/UserApp.class | Bin 0 -> 728 bytes .../bwie/user/controller/UserController.class | Bin 0 -> 2181 bytes .../com/bwie/user/mapper/UserMapper.class | Bin 0 -> 315 bytes .../com/bwie/user/service/UserService.class | Bin 0 -> 237 bytes .../bwie/user/service/UserServiceimpl.class | Bin 0 -> 825 bytes .../target/classes/mapper/UserMapper.xml | 11 ++ .../target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 5 + .../compile/default-compile/inputFiles.lst | 5 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 bwie-moudels/pom.xml | 92 +++++++++++ day4-zy.iml | 2 + pom.xml | 70 ++++++++ 187 files changed, 3399 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/day4-zy.iml create mode 100644 .idea/encodings.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/new.iml create mode 100644 .idea/vcs.xml create mode 100644 bwie-auth/pom.xml create mode 100644 bwie-auth/src/main/java/com/bwie/auth/AuthApp.java create mode 100644 bwie-auth/src/main/java/com/bwie/auth/config/ConfirmCallbackConfig.java create mode 100644 bwie-auth/src/main/java/com/bwie/auth/config/ReturnCallbackConfig.java create mode 100644 bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java create mode 100644 bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java create mode 100644 bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java create mode 100644 bwie-auth/src/main/java/com/bwie/auth/service/AuthServiceimpl.java create mode 100644 bwie-auth/src/main/resources/bootstrap.yml create mode 100644 bwie-auth/target/bwie-auth-1.0-SNAPSHOT.jar create mode 100644 bwie-auth/target/classes/bootstrap.yml create mode 100644 bwie-auth/target/classes/com/bwie/auth/AuthApp.class create mode 100644 bwie-auth/target/classes/com/bwie/auth/config/ConfirmCallbackConfig.class create mode 100644 bwie-auth/target/classes/com/bwie/auth/config/ReturnCallbackConfig.class create mode 100644 bwie-auth/target/classes/com/bwie/auth/controller/AuthController.class create mode 100644 bwie-auth/target/classes/com/bwie/auth/feign/UserFeignService.class create mode 100644 bwie-auth/target/classes/com/bwie/auth/service/AuthService.class create mode 100644 bwie-auth/target/classes/com/bwie/auth/service/AuthServiceimpl.class create mode 100644 bwie-auth/target/maven-archiver/pom.properties create mode 100644 bwie-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-auth/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-auth/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-common/pom.xml create mode 100644 bwie-common/src/main/java/com/bwie/common/config/RedisConfig.java create mode 100644 bwie-common/src/main/java/com/bwie/common/constants/Constants.java create mode 100644 bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java create mode 100644 bwie-common/src/main/java/com/bwie/common/constants/RabbitMQQueueConstants.java create mode 100644 bwie-common/src/main/java/com/bwie/common/constants/RabbitName.java create mode 100644 bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/New.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/User.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/request/NewRequest.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/response/JwtResponse.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/response/NewResponse.java create mode 100644 bwie-common/src/main/java/com/bwie/common/result/PageResult.java create mode 100644 bwie-common/src/main/java/com/bwie/common/result/Result.java create mode 100644 bwie-common/src/main/java/com/bwie/common/utils/FastUtil.java create mode 100644 bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java create mode 100644 bwie-common/src/main/java/com/bwie/common/utils/OssUtil.java create mode 100644 bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java create mode 100644 bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java create mode 100644 bwie-common/target/bwie-common-1.0-SNAPSHOT.jar create mode 100644 bwie-common/target/classes/com/bwie/common/config/RedisConfig.class create mode 100644 bwie-common/target/classes/com/bwie/common/constants/Constants.class create mode 100644 bwie-common/target/classes/com/bwie/common/constants/JwtConstants.class create mode 100644 bwie-common/target/classes/com/bwie/common/constants/RabbitMQQueueConstants.class create mode 100644 bwie-common/target/classes/com/bwie/common/constants/RabbitName.class create mode 100644 bwie-common/target/classes/com/bwie/common/constants/TokenConstants.class create mode 100644 bwie-common/target/classes/com/bwie/common/domain/New.class create mode 100644 bwie-common/target/classes/com/bwie/common/domain/User.class create mode 100644 bwie-common/target/classes/com/bwie/common/domain/request/LoginRequest.class create mode 100644 bwie-common/target/classes/com/bwie/common/domain/request/NewRequest.class create mode 100644 bwie-common/target/classes/com/bwie/common/domain/response/JwtResponse.class create mode 100644 bwie-common/target/classes/com/bwie/common/domain/response/NewResponse.class create mode 100644 bwie-common/target/classes/com/bwie/common/result/PageResult.class create mode 100644 bwie-common/target/classes/com/bwie/common/result/Result.class create mode 100644 bwie-common/target/classes/com/bwie/common/utils/FastUtil.class create mode 100644 bwie-common/target/classes/com/bwie/common/utils/JwtUtils.class create mode 100644 bwie-common/target/classes/com/bwie/common/utils/OssUtil.class create mode 100644 bwie-common/target/classes/com/bwie/common/utils/StringUtils.class create mode 100644 bwie-common/target/classes/com/bwie/common/utils/TelSmsUtils.class create mode 100644 bwie-common/target/maven-archiver/pom.properties create mode 100644 bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-gateway/pom.xml create mode 100644 bwie-gateway/src/main/java/com/bwie/gateway/GatewayApp.java create mode 100644 bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java create mode 100644 bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java create mode 100644 bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java create mode 100644 bwie-gateway/src/main/resources/bootstrap.yml create mode 100644 bwie-gateway/target/bwie-gateway-1.0-SNAPSHOT.jar create mode 100644 bwie-gateway/target/classes/bootstrap.yml create mode 100644 bwie-gateway/target/classes/com/bwie/gateway/GatewayApp.class create mode 100644 bwie-gateway/target/classes/com/bwie/gateway/config/IgnoreWhiteConfig.class create mode 100644 bwie-gateway/target/classes/com/bwie/gateway/filters/AuthFilter.class create mode 100644 bwie-gateway/target/classes/com/bwie/gateway/utils/GatewayUtils.class create mode 100644 bwie-gateway/target/maven-archiver/pom.properties create mode 100644 bwie-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-gateway/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-gateway/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-gateway/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-moudels/bwie-es/pom.xml create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/EsApp.java create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/config/InitElasticSearchRestHighClient.java create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/controller/EsController.java create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/feign/NewFeignService.java create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsService.java create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsServiceimpl.java create mode 100644 bwie-moudels/bwie-es/src/main/java/com/bwie/es/sync/Async.java create mode 100644 bwie-moudels/bwie-es/src/main/resources/bootstrap.yml create mode 100644 bwie-moudels/bwie-es/target/bwie-es-1.0-SNAPSHOT.jar create mode 100644 bwie-moudels/bwie-es/target/classes/bootstrap.yml create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/EsApp.class create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/config/InitElasticSearchRestHighClient.class create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/controller/EsController.class create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/feign/NewFeignService.class create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/service/EsService.class create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/service/EsServiceimpl.class create mode 100644 bwie-moudels/bwie-es/target/classes/com/bwie/es/sync/Async.class create mode 100644 bwie-moudels/bwie-es/target/maven-archiver/pom.properties create mode 100644 bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-moudels/bwie-new/pom.xml create mode 100644 bwie-moudels/bwie-new/src/main/java/com/bwie/student/NewApp.java create mode 100644 bwie-moudels/bwie-new/src/main/java/com/bwie/student/controller/NewController.java create mode 100644 bwie-moudels/bwie-new/src/main/java/com/bwie/student/mapper/NewMapper.java create mode 100644 bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewService.java create mode 100644 bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewServiceimpl.java create mode 100644 bwie-moudels/bwie-new/src/main/resources/bootstrap.yml create mode 100644 bwie-moudels/bwie-new/src/main/resources/mapper/NewMapper.xml create mode 100644 bwie-moudels/bwie-new/target/bwie-new-1.0-SNAPSHOT.jar create mode 100644 bwie-moudels/bwie-new/target/classes/bootstrap.yml create mode 100644 bwie-moudels/bwie-new/target/classes/com/bwie/student/NewApp.class create mode 100644 bwie-moudels/bwie-new/target/classes/com/bwie/student/controller/NewController.class create mode 100644 bwie-moudels/bwie-new/target/classes/com/bwie/student/mapper/NewMapper.class create mode 100644 bwie-moudels/bwie-new/target/classes/com/bwie/student/service/NewService.class create mode 100644 bwie-moudels/bwie-new/target/classes/com/bwie/student/service/NewServiceimpl.class create mode 100644 bwie-moudels/bwie-new/target/classes/mapper/NewMapper.xml create mode 100644 bwie-moudels/bwie-new/target/maven-archiver/pom.properties create mode 100644 bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-moudels/bwie-rabbit/pom.xml create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/MqTest.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitAdminConfig.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitmqConfig.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/consumer/SendSmsConsumer.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DLXQueue.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DelayedQueue.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/TtlQueue.java create mode 100644 bwie-moudels/bwie-rabbit/src/main/resources/bootstrap.yml create mode 100644 bwie-moudels/bwie-rabbit/target/bwie-rabbit-1.0-SNAPSHOT.jar create mode 100644 bwie-moudels/bwie-rabbit/target/classes/bootstrap.yml create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/MqTest.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/config/RabbitAdminConfig.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/config/RabbitmqConfig.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer$1.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer$2.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/DLXQueue.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/DelayedQueue.class create mode 100644 bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/TtlQueue.class create mode 100644 bwie-moudels/bwie-rabbit/target/maven-archiver/pom.properties create mode 100644 bwie-moudels/bwie-rabbit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-moudels/bwie-rabbit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-moudels/bwie-rabbit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-moudels/bwie-rabbit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-moudels/bwie-user/pom.xml create mode 100644 bwie-moudels/bwie-user/src/main/java/com/bwie/user/UserApp.java create mode 100644 bwie-moudels/bwie-user/src/main/java/com/bwie/user/controller/UserController.java create mode 100644 bwie-moudels/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java create mode 100644 bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserService.java create mode 100644 bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserServiceimpl.java create mode 100644 bwie-moudels/bwie-user/src/main/resources/bootstrap.yml create mode 100644 bwie-moudels/bwie-user/src/main/resources/mapper/UserMapper.xml create mode 100644 bwie-moudels/bwie-user/target/bwie-user-1.0-SNAPSHOT.jar create mode 100644 bwie-moudels/bwie-user/target/classes/bootstrap.yml create mode 100644 bwie-moudels/bwie-user/target/classes/com/bwie/user/UserApp.class create mode 100644 bwie-moudels/bwie-user/target/classes/com/bwie/user/controller/UserController.class create mode 100644 bwie-moudels/bwie-user/target/classes/com/bwie/user/mapper/UserMapper.class create mode 100644 bwie-moudels/bwie-user/target/classes/com/bwie/user/service/UserService.class create mode 100644 bwie-moudels/bwie-user/target/classes/com/bwie/user/service/UserServiceimpl.class create mode 100644 bwie-moudels/bwie-user/target/classes/mapper/UserMapper.xml create mode 100644 bwie-moudels/bwie-user/target/maven-archiver/pom.properties create mode 100644 bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 bwie-moudels/pom.xml create mode 100644 day4-zy.iml create mode 100644 pom.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..1296681 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..bfc585f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/day4-zy.iml b/.idea/day4-zy.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/.idea/day4-zy.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..a288659 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..6560a98 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,36 @@ + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..2a89eda --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..3ccb27b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/new.iml b/.idea/new.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/.idea/new.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bwie-auth/pom.xml b/bwie-auth/pom.xml new file mode 100644 index 0000000..7f1c01a --- /dev/null +++ b/bwie-auth/pom.xml @@ -0,0 +1,44 @@ + + + + day4-zy + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-auth + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-amqp + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.9.10 + + + + + + diff --git a/bwie-auth/src/main/java/com/bwie/auth/AuthApp.java b/bwie-auth/src/main/java/com/bwie/auth/AuthApp.java new file mode 100644 index 0000000..b1cac8b --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/AuthApp.java @@ -0,0 +1,13 @@ +package com.bwie.auth; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableFeignClients +public class AuthApp { + public static void main(String[] args) { + SpringApplication.run(AuthApp.class); + } +} diff --git a/bwie-auth/src/main/java/com/bwie/auth/config/ConfirmCallbackConfig.java b/bwie-auth/src/main/java/com/bwie/auth/config/ConfirmCallbackConfig.java new file mode 100644 index 0000000..7b7c230 --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/config/ConfirmCallbackConfig.java @@ -0,0 +1,48 @@ +package com.bwie.auth.config; + +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送确认配置 + * 消息发送到交换机的回调 + */ +@Component +@Log4j2 +public class ConfirmCallbackConfig implements RabbitTemplate.ConfirmCallback { + + @Autowired + private RabbitTemplate rabbitTemplate; + + /** + * @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + */ + @PostConstruct + public void init() { + rabbitTemplate.setConfirmCallback(this); + } + + /** + * 交换机不管是否收到消息的一个回调方法 + * + * @param correlationData 消息相关数据 + * @param ack 交换机是否收到消息 + * @param cause 失败原因 + */ + @Override + public void confirm(CorrelationData correlationData, boolean ack, String cause) { + if (!ack) { + String exchange = correlationData.getReturned().getExchange(); + String message = correlationData.getReturned().getMessage().getBody().toString(); + // 发送异常 + log.error("消息:{},发送到交换机:{}失败,原因是:{}", message, exchange, cause); + // TODO 可以把异常信息 以及 消息的内容直接添加到 MYSQL + } + } + +} diff --git a/bwie-auth/src/main/java/com/bwie/auth/config/ReturnCallbackConfig.java b/bwie-auth/src/main/java/com/bwie/auth/config/ReturnCallbackConfig.java new file mode 100644 index 0000000..f3c2220 --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/config/ReturnCallbackConfig.java @@ -0,0 +1,41 @@ +package com.bwie.auth.config; + +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.ReturnedMessage; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送到队列的确认 + */ +@Component +@Log4j2 +public class ReturnCallbackConfig implements RabbitTemplate.ReturnsCallback { + + @Autowired + private RabbitTemplate rabbitTemplate; + + /** + * @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + */ + @PostConstruct + public void init() { + rabbitTemplate.setReturnsCallback(this); + } + + /** + * 消息发送失败 则会执行这个方法 + * + * @param returnedMessage the returned message and metadata. + */ + @Override + public void returnedMessage(ReturnedMessage returnedMessage) { + log.error("消息:{},被交换机:{} 回退!退回原因为:{}", + returnedMessage.getMessage().toString(), returnedMessage.getExchange(), returnedMessage.getReplyText()); + // TODO 回退了所有的信息,可做补偿机制 + } + +} diff --git a/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java b/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java new file mode 100644 index 0000000..45bb8be --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/controller/AuthController.java @@ -0,0 +1,54 @@ +package com.bwie.auth.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.auth.service.AuthService; +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.LoginRequest; +import com.bwie.common.domain.response.JwtResponse; +import com.bwie.common.result.Result; +import lombok.extern.log4j.Log4j2; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +@RestController +@Log4j2 +public class AuthController { + @Autowired + AuthService authService; + @Autowired + HttpServletRequest request; + @PostMapping("/sendCode/{phone}") + public Result sendCode(@PathVariable String phone){ + log.info("获取验证码,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(phone)); + Result result=authService.sendCode(phone); + log.info("获取验证码,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return Result.success(result); + } + + @PostMapping("/login") + public Result login(@RequestBody LoginRequest loginRequest){ + log.info("执行操作:登陆,请求URl:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(loginRequest)); + Result result=authService.login(loginRequest); + log.info("执行操作:登陆,请求URl:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(result)); + return result; + } + + @GetMapping("/info") + public Result info(){ + log.info("执行操作:获取登录人信息,请求URl:{},请求方式:{}",request.getRequestURI(), + request.getMethod()); + User user=authService.info(); + log.info("执行操作:获取登录人信息,请求URl:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(user)); + return Result.success(user); + } +} + + diff --git a/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java b/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java new file mode 100644 index 0000000..9e0cce1 --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/feign/UserFeignService.java @@ -0,0 +1,14 @@ +package com.bwie.auth.feign; + +import com.bwie.common.domain.User; +import com.bwie.common.result.Result; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@FeignClient("bwie-user") +public interface UserFeignService { + @GetMapping("/findByPhone/{phone}") + public Result findByPhone(@PathVariable String phone); +} diff --git a/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java b/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java new file mode 100644 index 0000000..c6ef72e --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/service/AuthService.java @@ -0,0 +1,16 @@ +package com.bwie.auth.service; + +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.LoginRequest; +import com.bwie.common.domain.response.JwtResponse; +import com.bwie.common.result.Result; + +public interface AuthService { + Result sendCode(String phone); + + Result login(LoginRequest loginRequest); + + User info(); + + +} diff --git a/bwie-auth/src/main/java/com/bwie/auth/service/AuthServiceimpl.java b/bwie-auth/src/main/java/com/bwie/auth/service/AuthServiceimpl.java new file mode 100644 index 0000000..656c493 --- /dev/null +++ b/bwie-auth/src/main/java/com/bwie/auth/service/AuthServiceimpl.java @@ -0,0 +1,95 @@ +package com.bwie.auth.service; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.alibaba.nacos.common.utils.StringUtils; +import com.bwie.auth.feign.UserFeignService; +import com.bwie.common.constants.JwtConstants; +import com.bwie.common.constants.RabbitMQQueueConstants; +import com.bwie.common.constants.TokenConstants; +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.LoginRequest; +import com.bwie.common.domain.response.JwtResponse; +import com.bwie.common.result.Result; +import com.bwie.common.utils.JwtUtils; +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 +public class AuthServiceimpl implements AuthService{ + @Autowired + HttpServletRequest request; + @Autowired + RedisTemplate redisTemplate; + @Autowired + RabbitTemplate rabbitTemplate; + @Autowired + UserFeignService userFeignService; + @Override + public Result sendCode(String phone) { + if (!vailPhone(phone)){ + return Result.error("手机号格式错误"); + } + Result byPhone = userFeignService.findByPhone(phone); + User user = byPhone.getData(); + if (user==null){ + return Result.error("手机号或验证码不能为空"); + } + rabbitTemplate.convertAndSend(RabbitMQQueueConstants.SENS_SMS_QUEUE,phone,message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString().replaceAll("-","")); + return message; + }); + return Result.success(); + } + + @Override + public Result login(LoginRequest loginRequest) { + if (!vailPhone(loginRequest.getPhone())){ + return Result.error("手机号格式错误"); + } + Result byPhone = userFeignService.findByPhone(loginRequest.getPhone()); + User user = byPhone.getData(); + if (user==null){ + return Result.error("手机号或验证码不能为空"); + } + String code = redisTemplate.opsForValue().get(loginRequest.getPhone()); + if (StringUtils.isEmpty(code)){ + return Result.error("请注册"); + } + if (!code.equals(loginRequest.getCode())){ + return Result.error("验证码错误"); + } + String userKey = UUID.randomUUID().toString().replaceAll("-", ""); + HashMap claims = new HashMap<>(); + claims.put(JwtConstants.USER_KEY, userKey); + String token = JwtUtils.createToken(claims); + + redisTemplate.opsForValue().set(TokenConstants.LOGIN_TOKEN_KEY+userKey, JSONObject.toJSONString(user),30, TimeUnit.MINUTES); + + JwtResponse jwtResponse = new JwtResponse(); + jwtResponse.setTime("30MIN"); + jwtResponse.setToken(token); + return Result.success(jwtResponse); + } + + @Override + public User info() { + String token = request.getHeader(TokenConstants.TOKEN); + String userKey = JwtUtils.getUserKey(token); + String jsonKeyStr = redisTemplate.opsForValue().get(TokenConstants.LOGIN_TOKEN_KEY + userKey); + return JSONObject.parseObject(jsonKeyStr,User.class); + } + + public Boolean vailPhone(String phone){ + Pattern compile = Pattern.compile("^\\d{11}$"); + return compile.matcher(phone).matches(); + } +} diff --git a/bwie-auth/src/main/resources/bootstrap.yml b/bwie-auth/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..c08a8be --- /dev/null +++ b/bwie-auth/src/main/resources/bootstrap.yml @@ -0,0 +1,30 @@ +# Tomcat +server: + port: 9001 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-auth + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + diff --git a/bwie-auth/target/bwie-auth-1.0-SNAPSHOT.jar b/bwie-auth/target/bwie-auth-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..1754de8457929ad8a221c9c03b2adefc0f656d10 GIT binary patch literal 11241 zcma)i1zc2H_x8}8(ka~~4bq*`9n#%7lysMLD=8o#DJjwjNOyO4H-5wGz1OSvUcdjI z-!SJ4`*~)az1Ci5pS2$a83;%W000&iaFJoB&I_O}^#%X{sh~ILTY#LHiV%a8yf~Ab zki3+*n6e6^ocO8S*FISp2F76|83x*cuY*-e%ww!e>nC3szDV`U_0vhwgTe0v8z-&h zY0;1;nicF&CM6laq!yeg#oyb+LET#>ZtGiDNlT5-*-eZq#n*{VLyW6gT6biWmZO)F z8+IwKRyvZSm+4nNlBQRJ{X!!*_*I#Cf)#vvun!8L05TUIWG>);=7KEztHFVe{xbK! zyFr4w8QIw|{dbQ?qQ@SFZWboL>4yCGZU!#S=D+ES`H#LvcDAM#X1{^p{u{*E(azf1 z#PK(;pN zcu9YQdW16kHRRu;_Z$?xTX1U3QD6W-5jX&V1i~BI**QBoI~v$C0&T1_mHMS2Sa6z{ z_IM$8^a-oO*8IO)Mby}K{tX-scM z8tbXwK^gBq&cTO42(ytvr0)|>l|{C(CZS7io!&F$5K>xBbO(xYxN=>)D=qGS>t%E< zn0yyMc)7i=5ygZ(&y4#88GPf~p#1GNPoK&-Ff)=UIX665J=B;ZlHpb+3(U9g5OOkl z#V#O@Q_x|Af$dOKGnd)~10hHC1;Z$Fl>X!F`;m3Zdqv;0f&7LI0RZ5G{PuGI3xVdA zki9*lk+p%7lZ#TH?WiCIUwj^m3%HH)jMBp12xAHoLabu`%i%;|=-cv_?5>mp7-p1s zF*Kh$;R7LwTO>#hxL(74ad#N_>YZ_Wba!{Y592FQM{I~70cH!yh3xR87JSZhi(gf% zo;CR5$hd7NtY78X9=UX1@;GVYMX4l0B_eu!m?3G&$z@H&>PE3Km-Mr$rS1GU9TnRF z3CP^_XF0w>3TeysSN!#;#86Cu1J_fU`KN`9RMzs~w@9|Z^VlQ({bx1hh9sHQ7&y^# zCal0Ruk(k70g*R-_ICv%@(gRDiQx_S7B(67z2?2VGLikj`mitk(g72#Mq1V|}aQekIJ~3F-M`tVNFfZ>&BiJH3iVps1nC-_Xt=fem>DtGYcH~ESk&s?*c?2n|fA^7j35EPRXM?aer4VqI4a1(u) zTn(9}M*A>_M)X$fMc*q1W&x&U%mxQT@g|oWs6D6s1dsTpk^U25eb>fQr z*HR47XV9e=Zq=W2P7h*4C1n{`9)e|2c&8{9PUFr(caMakZtI%md7tt_`at~b`kWpM zIDAk}-UVfJ=6|^Uk1Q$jm@FM_L=3F04GoN}{&#BjJs$E^b(IOkF!+!f5gQR9S;U3d zTFDz4y&`c8Nh7GO(VtY2*FCj78RKQ^i=9ucd8aO{sg_#%{7SJoKS$L^#Y>H?hBom8 z=889P{D(!FinQ4E=!o5N3K~gkO;3SR^e`vk?J|c+nQ8A=p_RDmVcK8| zdDV{-)zO{ww$>vI+b$tG6S1#I+IwtRPW^AQt6Fq1zhH)Nf@g$A-d=Y;rLmiYzgr3s(DPGQ1{@PMPC(N-@sBh!Gx_V(e8u_%Lws6ebsKwP~3MPNIf z?Z&CVezDAO&VXFF2k?sQB6cypAqyj9$#LK-v-ISWRun^^n}0vGU{lBidf&l z*t>Dt#?F;0D6Pnr@~&=WTPC=d#&PBiZa&Ef&$ODuxNaVI`~ntA4pSKOng{UB?NieB zsc*v~;|2cA#+8?U?m zE^I4PllzGs;@Z#SyKlVeAFkE$IW57k7OGi7Y9;p$@O#>3ITpZF%blEd88?y(*AP?r zGAhVWhKI`RQY!|BvwCG;hh)D+;{FJOw^O4~$neF?ZFGs(lEa3t;c~#(oDMeeNinH6 z%OG=x_ST2{lM%6_4O70SaqU%b`rE}^*>k+TGyT-@xWalFMdDo)Po(asZLFQ298 zXYbOyZh9^iA_v9p8XUl@bLt!#lmIq;8dkbeg;Kj&W_l)0^uW15bKulYNVb0I962{= zH^Y`WcT5$;e>3jldqXI4dwZLAvn3}o22(7`rv20+x2 z&9gKqIx6h?_L5TRURAU>G+Nv;Ac?kwR!bsR;OPYBVYI6R^eZ84jI^q0d!o1IOWeK8 zey-$UMQ^f5+6Cn6_B$p+%*;O}7dxkj&%AnDCKVICR5;A-YX&srYDe89A>CpmnkK15}Vu}mS zpA*fXTSR&!=>8H00{}4nSE5leadvUE{kJ@m3Cc6d5;#6s;30uV700>x#PFDw=wmhE zst7Y9SDGTbPuqjs(%a(*o^z)kOk-v!7o z^1+EBzn}N)kkP#T+J2AWITZGQZBl9NR`hAioS-H&0m8 zCy~h&yowC1%;gtDnBi<6p3Sa65xn3(Lcv(vMkgbm7Dt>^LXfcm#UsVnaTJWznPb;w zl8*;VhAZD8uc#V-oPdSNoqLAFNUN_7oKNtSmf^q1zz1`Q85dqvUkfC@?i7p;%zoB( zMH`7DZxgPWKpJ_Ka1=S>q*KCs^g2zEwK*vsa+ZHDq?ucW#-#EIVpvmJ-qS{SAL`E~ zs^Lm82!=+I*a=kraM|9Tw$x7w_MY4ewkl)lWgJsrvnv-sw$Xg<=*}zJW@hq#OWlNj ztsxZ&C-Y@UIR$GmblPmSp_o*}^z|_NV5~`UG}_u)VI-*{X`4|hw)zLXkDGkK*7A3l z-Z-w&(#mS_>OnOeO3KlM?RrCnDm!V#7BBRUY~UI=`%XgTqDX3K97KJUQtOM?fT~5s z3c;pdI*ImNjwwfwx0oYY85_#um%sM5UDDP1=dsoAU0rb*gg+5O6xjqAG7k*Sl@*z!iM=B_Ih-g3skCzuj`(>);q>_F&kQ1X>bYgOR-NVPOX>T?R&Yh} z!dwEoiBeJ*wmn#dcweLXG%YtC7>GE6If`mXffQ9}O-J9hr;@rRj$8WNCB&!=56Gb! zvAUP4?v4`>O=`W8hGkG5kcW07v6_sS@a`F^r)DJ@bgS*C>eG$=$#rG57IU6Z^+78`yVmPIkzW0$4^Dpq(;% z4lc4oG(2q3lMpe+V0NLlq9AgIMlxfT9>O}j2$ZW}bB6b#_7?>YJ6mLq!4Berm!=X)vuGwfVy0kZ4OF1+&6)It%01cC&n(Uf;SLR z9l9TApci9t$s*;1`cZSYjYT!Exq)AXaM*Hn-mD~1c57x2N|~>nJYWtfj@r{JPX?_! zqO6A)GrdG0+rZ_XS@tN}$;iQTCAZgqO}j%5H-zr0s}Rn}3?u#uPHRF&0nR*%0oT#xNd_HN=B zD;vXLl2wsTS7e!8{VN+@*KlEqF@&mwCcV#gzVzckHFd3-)ndJNcOMkpUGy!-_gq!7 zBsKL1QYx(STHfJ~QYL0bpWv^_j82%zrPabgqKvq=rEZKOO*g zCUI^ZR)msnK}Q?Ro(iX(oE&TmOq(qB$tN@86-yLrWo*h{VrOGHWAeUrH#j)xgQ-m> zTJSnv?GKPaA!g!lVCP2L`{YB$tI?FMdF5Tkte4VQ<8GGK1@F2dC%~_M1Xbq`TSu%2 z#R4l(fO$q*w&c>ZEFs)Vw0AC|%pA~%vD5kCl~%(m&*MhBEP>nX%g#@WdJDI-cA6i) zoRAQha@EMjgb2@IWz7R0&bChl4w)9b>dLgXa~TDsf-AliTIEMLSE*?1+%sdONGfJC zjBQtZi40ZZp4J}T?JOqIbfJ~EX)cehR{%Ryv3O&KBb^k4uJFbivsl3nxK zn(2C6-uD)^JQKhh4iEvhpn?`neM4zbdp)*^RNQKU{KEYXoH=&Mf&z+y0^2#4IWg8! zXNPc~!e`KWsvOu~K&N{#x1YrIYGZnoBad?J>BPksxq|yNYLNQQ>vhvllWtyO8I;3>3eogROEZn&Wy?@B15yD zD~PLs27zcVtU@m)>8p}NTC7&i%)MR1PVTzKRf@V2!*T?1r5Nf&n>YxD&b>Kxc<{;d z^5)_W9N;oV-Rc2n2~O*s?`ejzpFK>zWdF{EN&=m%2xiJfZCl8w7BdYepn`Nw&YDe2 zy6TGo6$%pAxQwI7sFe(zk)yFPSf{a4`J5^QgRUuX@%q*AD)A)W6Pf&D9*S8mgM)tg zg3R!3@qF6QEfuTPJZ15!P>;STu!1nN9Zwr0qeBN-Fz7k9UK%W>FS@g%2#v-Pw0Yik zZ+!#w--o>J@i0dp@qXhETmj}u-jXDKitxn6#wh1=Q8l#rdV*RqU5;7evjnh=0(mxdC4()td`gp!J6( zB7YcKg0PNfnU33=n3wZB>3n_#;7{PPh`s9}ZZFcAL$bv!2%`hD;oZa$Dk?w&NK1qDl92y9UqlJ8Dr;@f1Fr`VIy9?#8}H&4y}Gz~_~IAKFsrH(E$KWb)v^x= zbzAKM*rFd3&FRRq)~YP2H6_1Vpj^5DEOb*{!nwZ!xIu>9+M-=9iFn=Xp%HgUT%AaW z&4t9MF0Eb#`o0Li!r&)tF}pgsCoNd^0}x>xYkEZs5Wz2rJttp*jZSL4PgjoaK89R8ivZ8Us6d>AIih%Yc=pOG z=>3&y*}O6s4(1hJ)<)&$0h8xXTB=B!{Wh;w(@C3y?3@I=Bs$!V`OpSep}-cgk08JV zj8SD>%%p3qgF8!S6TwVst&27Ub!ygqX61YFw}!XntsUUhp9Ox*bJmtAQ5=V$S}Re_A>%ZDG=i7S1Kv;2@T)I7i#@19}aTlY*KfqN7tUhpR;a9$7{F zR=%dLB`L1Dbz*kK+rkt>x=Ilm2_)sjT0|34n)OVrH)T^a@#H!_JLqcMda!!$Y`h;1xS=?e(Rt%5Wp?&CBBLNx3%;!Gs*a@bYDL5qij^vokw~~& z6qn@f`P3(W=$$9q3Z48cJ<9IME@DylF{E|Uup`u4`hCIs{UT9O_C^fwP?9N2(M0zc zL(99_^t0*vv`z=&=G1lR&7m_-UW+{XeXMd7z75-99HRZinWm?B1trLVh3KyT0{e zr#f*fnuB5+7UPJlm=e+?-SQH@0y(JN?mZ>2mfrTvf=9&Dojz3$ytg!iIo){mRw*1M z+svGc;&`pKFd(;u5Lm$@nT-)er{&L)ZP$-J6L>M=v0FvtP^b+B)`jebqD_0I7JguEchA-kkn4toya2&s3xuY)i5zR!*xq&z=-}&r&4kjU~*)WfqJEKz!_%)|hoY z!K5V&Y_gdyh;z0IW$%p9S2aZWWcM2xJ|q(#rL!H75;;KtGnU1*43DWS9`(QQyqq&(o|^k&>=4`LVs^MO3slfU|K%~Bq;8eYoqz z3sfr&3t>1&@JVODJaZw{?lCL2z=PE97sbQnQT1Tw`$*~efZ$#HDJhMO_Q~?haERX* ztcuRDg(_wjbgA}AURg3}lXnc-xdTWq$}3&gQjzpN;xCHANYu-caKBA+ts>gZD>1Fh z5qwQ-)0M9HniJ@s7=H4?zqy5*tx^t$cT9pf1*2&Vh!VJ5Ht1r}CtsgS=^T|;v%vfb zpve!-Ll(rfmL6Zct;f*iZ$`iYFIgET{QNndA9zKlLN{SSM@=ZYqOoomp4x;{(}rdi zRl{{k`A~^VSf1SeXtglRtr}<2eA4s_c{MK3X))^dnwQD`!9rb{pCsrZ9Q)>M|Y8Y2{n-)6kZHLOMXuRpRgduOR9|)ZZfigbNob=K?_Vp<@~xW zNBmyaHj%F@pG<{H@1&n?uc@_jA&r%<2H27Q1nnZeH&itXK2vI+AJmfG?UY@nweHwhB5VwsjsUhB;3}4=c@$5 zguely7r;)}qRCI($HUIq$38CtQhG=_7ri=4BUgKX+M_`(DrMEKA#u1WqS@GEv=q$5 z1*VnAwZqj@v_!2FbQcuZMKV%{7*eTTL^CXGhG^i*(d4o0|HU?Wy`O(CnY(m9VQ zTqvBvaGzXW)=)(`%6*48RweeAC+lpNq_yS6v9H;5I|g3jDeK1Vpg#|@kZVS*kpG-6 zX=)!A8>99@hO8qfYryPTN@`ch(%w=A+XhD>VQW(#ilI-uz#2*x8m&z3#z?F{K#-h2 z)jcd0TIa96vzy{<@E}qn0p2qT&JQZ#kTXd<69Xg)`kk)JbgHc(;iIv9Fmf~Lj(&4^-^7Jz) zgOxAevhlT*^;XOfdm(3tmgH_h=x%mO zb3zkvIu=K7A1I#lg(Cx}OgO;E6HYOFN-S3?Z9YnfX}@7hw|5;{-NfE!79Bo&+(IX| zHRzg8%)@E%wujE^1CUVyIp}RNlh4ehrH;thHDVzKaNLd6*Y|?^S|GE;ng}byqNE7F zK3leho=}OsU{$LrbK%gwEfS4ufn!qbB+QLxZ*qNSw2^upkH8>uoHdm}2$uLLa9#?2 zJ_u!{>>JpR2N#w=TXl`dwxA4X^KUM!?(WK5Ql7B!ZBD?IdT7FIYW8A|CMx9WU7T#edBpBx!hs43P8*{w zYGuh$pEz}e$updSS^@Y@CHtWSL}xvW10o6Jx+T=x@);VvI}Kgu_taB8r^vw3MdCnM z^jL*~0K+B*x18OTgJ#pE-2PVuFYJtDb;fE$4znJ#jO$~UT%->x!S88x%9hGZ_K1YH4`UX6n!kCu9B=Qe$lR>nhUn`v zDFo%A>zqB_0+O2ha#?Dk*g;Pe{SV*iD+ca?jnM^VQ zorI5@R-tIFuv;$%`gi5G&-cKCJC6Xx{S=NSbIJZo%JW)uEwaFSb~_{`m=? ziDnUd6899fE1apYQF!$wgTm54xyS)Aa|&US34Pm_#}{r#B6B@n>&7i!1`XLh;Y`^Q){GiMCX8e0tkP;I}!JKkeUe$90THq z5aL()708_bwLHJakH0MYn;7dm!+$HHzT;5=`$8Z7&hR_fqeAL?dxTAZ4j=Uxze7AK zroOjF#1-i9F9pZ%V2=u_@9hyr44SBa!3@6ZsUAn?->>aaQS}2W^AGGF%7Neg{G-C^ z2ZhhSQT(}e@H-li_x?sx^ADOo^;iFWEsqMU@9l9MHvhr!XNBc=Ry-=QesJJ}Dm8ya z%b)tJ|2E)Jq4fhS`A_g)neulgkp4*mc)Sds-?041x8M1`Pk?_@aQ#V{=hqD4`$^CB zcj)6h{#8Wu1L_Kj=$|9&u~zk$r07?oUnMC&h#a7QCHf=G{-;R!cY(^U?7!|q|6rd1 zMf%TX{=xp=yVAds|GF3UgS-kf+5SQPXLvsj2j~)h+8O(m`qwJ%4{8;V`+lbWT}}5_ z-d~H0KX@@g^WtaTKPSSYy+4&2eiO4@psyPy9fQCJthCY(*C$3Dab&90u=zj0=?8gN8S{VXa5grlGn2U literal 0 HcmV?d00001 diff --git a/bwie-auth/target/classes/bootstrap.yml b/bwie-auth/target/classes/bootstrap.yml new file mode 100644 index 0000000..c08a8be --- /dev/null +++ b/bwie-auth/target/classes/bootstrap.yml @@ -0,0 +1,30 @@ +# Tomcat +server: + port: 9001 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-auth + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + diff --git a/bwie-auth/target/classes/com/bwie/auth/AuthApp.class b/bwie-auth/target/classes/com/bwie/auth/AuthApp.class new file mode 100644 index 0000000000000000000000000000000000000000..1969bb22f4f3a91338a378309d9f1ab7e7a82b1d GIT binary patch literal 791 zcmZ`%O>Yx15Pi(yGxj|D&CK)s{PpbzfJb=HLmLMHZUs2(;Wq9BxXaLasnH^#3mK_R9NNrt65Y^rIK7!Zox-nM$2VH zbcIlwVSo5Oz7QV;&xOwT#95`Ys7@zrMg+SXV1}I+(k;yFwXmX)PFgzHo0!U`@?80n z!d0GAPt9=nrqWIoa;i#2C62T*W-8+ko&3L)=iRYf~(%26?F~<3dO=|R9WtEkD zQXhFn05y=Sv?icN9&aQ_b5qT@SxP;ZD%1SA_TrrT^*C2jyD|#VLBO!LQ6cK_Us(d& z3vnMue?hO33z<5GlmB*cRrgxW^q{sP>677_^5a~TWwb%;IplK0p4$nOKc0aQTEbpQYW literal 0 HcmV?d00001 diff --git a/bwie-auth/target/classes/com/bwie/auth/config/ConfirmCallbackConfig.class b/bwie-auth/target/classes/com/bwie/auth/config/ConfirmCallbackConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..b70cddb5a8d94d480683ac09e707f829d82eb73d GIT binary patch literal 2283 zcmbtWTT@$A7+pIggoMLItW^-((u*b`aIB@a5=4Qvwl=f~h}u5wgiSa!IVYZTB4r$B z>{}najBlOljF+j;TJ1#bbo>GS4q^1E|G;tWlgOo{6m=N(_50TPuKVP-zwZ7DU5miWlNIhM_o)<3&B3h~p$)(jvoJB-4VCR=kYSC|-%s(}Q_(31 z^kp5lV9K)0FDjEK1jMitj92u9_!o^N3|z{wQ5aBe%*;1yg_=|MFUa$)0gr3~ege(?wGJhr57DyS^i~q%7BC+c~NH zMQ46W>KgHt%Q&};Jd>n{z_RfSf#RKE8EW) z*o!9(bm8$R&KP(NXQMc0;B}mjB5Pn07Ytm)R1|L*n8u8OS$)!p#~6;a>h-m2-`&4= z^ZgI*-}`9w)6f3=@Y?G2?|;90YwhE2*1otK+^pWZ{l}ee_5CMbu73X2+Krk*6mJ@s z!&@|V_k|S2+XmhNBiOl-x{J9bmVf{YpkV&X9y|O%6q)sHC&oF}m^)FFo~M|QWB-AM zt>h_P<(qp$;OuS+eA~P5pv^&94?o(fhjofTYeD(b%CES#nin{lNH#2=pzmt$R9$wm z)+%h;frrvJQm8SWUT?%bWZcMSy;%j~G^f7~0Gq zlxe1xz#Xj5ppT!rcCg+NLXYleeknux8Q|F-uA4bO!8y#CF9gS@xHCBm&XLql5VyGq zp_`)?1|fPl8Z`ktjb82qo}qFmP(Hy~%f(W65K2|iv;h$36{yler45i+9poQ-_630Z zai9+PH6o-2(!Dp4>aQYPMPxW!TQpY@t)gW(@&jUB@$N`>c;FYbMxZ&H0;Bg*8+eW$ zCeVf?nfv)S81Ro0w+;IkrGvchWt0warRCFgoAl~1jsy;+@how)2Wes*Bz`hr5&cMU z(bhysPzJmOee7S4XJ4StkaQV8qwPn;w0ZpQbF9U*lVEA?LKs+2%OLls`5&ib2Y=6; HYL5L4D6WJr literal 0 HcmV?d00001 diff --git a/bwie-auth/target/classes/com/bwie/auth/config/ReturnCallbackConfig.class b/bwie-auth/target/classes/com/bwie/auth/config/ReturnCallbackConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..5bdde91add99e9f142a88ceee46a477b3fb78999 GIT binary patch literal 1929 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 Umvhicey`@x3V&Vo&=l6*0kF8r(EtDd literal 0 HcmV?d00001 diff --git a/bwie-auth/target/classes/com/bwie/auth/service/AuthService.class b/bwie-auth/target/classes/com/bwie/auth/service/AuthService.class new file mode 100644 index 0000000000000000000000000000000000000000..b3824a3def3a5319a01c0a44892e61d611cc5a7d GIT binary patch literal 556 zcmb_Z%TB{E5FEEnUla)Z0OD3I_yD&eB!t8Pm4_Pf0dBISt`fUAPJ80VIPd{{6k-!9 zK&p^9aIn0)GdpX~zP-P^0yxEf2Vn<$0^Nd4a%mG1I2n%TYN=$VOe!Pqv`I%tG09C8D1Q*S?R#H$(>cYyEg;a~ o4Fk=VKoc#_1I_}0Ho&D0x=dJ?dW`h>G_b|c0NWf3?9`Rr4~S}|ZvX%Q literal 0 HcmV?d00001 diff --git a/bwie-auth/target/classes/com/bwie/auth/service/AuthServiceimpl.class b/bwie-auth/target/classes/com/bwie/auth/service/AuthServiceimpl.class new file mode 100644 index 0000000000000000000000000000000000000000..68fa29e78f6da718a90cafb1471c163c41c33a2c GIT binary patch literal 6722 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 + + + day4-zy + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-common + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + io.jsonwebtoken + jjwt + 0.9.1 + + + + com.alibaba + fastjson + 1.2.80 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + org.springframework.boot + spring-boot-starter-validation + + + + org.apache.commons + commons-lang3 + + + + org.projectlombok + lombok + + + + cn.hutool + hutool-all + 5.8.3 + + + + com.aliyun + dysmsapi20170525 + 2.0.1 + + + + com.aliyun.oss + aliyun-sdk-oss + 3.12.0 + + + + org.springframework.boot + spring-boot-starter-amqp + + + + com.github.tobato + fastdfs-client + 1.26.5 + + + + diff --git a/bwie-common/src/main/java/com/bwie/common/config/RedisConfig.java b/bwie-common/src/main/java/com/bwie/common/config/RedisConfig.java new file mode 100644 index 0000000..b62e4b1 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/config/RedisConfig.java @@ -0,0 +1,40 @@ +package com.bwie.common.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +public class RedisConfig { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory factory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(factory); + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new + Jackson2JsonRedisSerializer(Object.class); + ObjectMapper om = new ObjectMapper(); + om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(om); + + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + // key采用String的序列化方式 + template.setKeySerializer(stringRedisSerializer); + // hash的key也采用String的序列化方式 + template.setHashKeySerializer(stringRedisSerializer); + // value序列化方式采用jackson + template.setValueSerializer(jackson2JsonRedisSerializer); + // hash的value序列化方式采用jackson + template.setHashValueSerializer(jackson2JsonRedisSerializer); + template.afterPropertiesSet(); + + return template; + } +} diff --git a/bwie-common/src/main/java/com/bwie/common/constants/Constants.java b/bwie-common/src/main/java/com/bwie/common/constants/Constants.java new file mode 100644 index 0000000..2fdc9fe --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/constants/Constants.java @@ -0,0 +1,18 @@ +package com.bwie.common.constants; + +/** + * @description: 系统常量 + * @author DongZl + */ +public class Constants { + /** + * 成功标记 + */ + public static final Integer SUCCESS = 200; + public static final String SUCCESS_MSG = "操作成功"; + /** + * 失败标记 + */ + public static final Integer ERROR = 500; + public static final String ERROR_MSG = "操作异常"; +} diff --git a/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java b/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java new file mode 100644 index 0000000..03692c1 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/constants/JwtConstants.java @@ -0,0 +1,29 @@ +package com.bwie.common.constants; + +/** + * @author DongZl + * @description: Jwt常量 + */ +public class JwtConstants { + + /** + * 用户ID字段 + */ + public static final String DETAILS_USER_ID = "user_id"; + + /** + * 用户名字段 + */ + public static final String DETAILS_USERNAME = "username"; + + /** + * 用户标识 + */ + public static final String USER_KEY = "user_key"; + + /** + * 令牌秘钥 + */ + public final static String SECRET = "abcdefghijklmnopqrstuvwxyz"; + +} diff --git a/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQQueueConstants.java b/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQQueueConstants.java new file mode 100644 index 0000000..b054d9c --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/constants/RabbitMQQueueConstants.java @@ -0,0 +1,25 @@ +package com.bwie.common.constants; + +/** + * @ClassName: + * @Description: RabbitMQ 队列名称常量 + * @Author: zhuwenqiang + * @Date: 2023/9/19 + */ +public class RabbitMQQueueConstants { + + /** + * 短信队列名称 + */ + public static final String SENS_SMS_QUEUE = "send_sms_queue"; + + /** + * 登录日志队列名称 + */ + public static final String LONG_LOG_QUEUE = "long_log_queue"; + + /** + * 添加入库队列名称 + */ + public static final String ADD_RECEIPT_QUEUE = "add_receipt_queue"; +} diff --git a/bwie-common/src/main/java/com/bwie/common/constants/RabbitName.java b/bwie-common/src/main/java/com/bwie/common/constants/RabbitName.java new file mode 100644 index 0000000..e0d4956 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/constants/RabbitName.java @@ -0,0 +1,5 @@ +package com.bwie.common.constants; + +public class RabbitName { + public static final String RabbitConName = "rabbit"; +} diff --git a/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java b/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java new file mode 100644 index 0000000..1871fb7 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/constants/TokenConstants.java @@ -0,0 +1,24 @@ +package com.bwie.common.constants; + +/** + * @author DongZl + * @description: 令牌常量 + */ +public class TokenConstants { + /** + * 缓存有效期,默认720(分钟) + */ + public final static long EXPIRATION = 720; + /** + * 缓存刷新时间,默认120(分钟) + */ + public final static long REFRESH_TIME = 120; + /** + * 权限缓存前缀 + */ + public final static String LOGIN_TOKEN_KEY = "login_tokens:"; + /** + * token标识 + */ + public static final String TOKEN = "token"; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/New.java b/bwie-common/src/main/java/com/bwie/common/domain/New.java new file mode 100644 index 0000000..1e40b92 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/New.java @@ -0,0 +1,18 @@ +package com.bwie.common.domain; + +import lombok.Data; + +import java.util.Date; + +@Data +public class New { + private String id; + private String newBt; + private String newZw; + private String newZz; + private Date newDate; + private Integer createId; + private Integer typeId; + private String typeName; + private String userName; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/User.java b/bwie-common/src/main/java/com/bwie/common/domain/User.java new file mode 100644 index 0000000..6783eb9 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/User.java @@ -0,0 +1,12 @@ +package com.bwie.common.domain; + +import lombok.Data; + +@Data +public class User { + private Integer userId; + private String userName; + private String userPwd; + private String phone; + private Integer role; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java b/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java new file mode 100644 index 0000000..36c8497 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/request/LoginRequest.java @@ -0,0 +1,9 @@ +package com.bwie.common.domain.request; + +import lombok.Data; + +@Data +public class LoginRequest { + private String phone; + private String code; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/request/NewRequest.java b/bwie-common/src/main/java/com/bwie/common/domain/request/NewRequest.java new file mode 100644 index 0000000..7e15d88 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/request/NewRequest.java @@ -0,0 +1,15 @@ +package com.bwie.common.domain.request; + +import lombok.Data; + +import java.util.Date; + +@Data +public class NewRequest { + private String newZz; + private Date beginTime; + private Date endTime; + private Integer pageNum=1; + private Integer pageSize=3; + private Integer createId; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/response/JwtResponse.java b/bwie-common/src/main/java/com/bwie/common/domain/response/JwtResponse.java new file mode 100644 index 0000000..df20d8a --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/response/JwtResponse.java @@ -0,0 +1,9 @@ +package com.bwie.common.domain.response; + +import lombok.Data; + +@Data +public class JwtResponse { + private String token; + private String time; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/response/NewResponse.java b/bwie-common/src/main/java/com/bwie/common/domain/response/NewResponse.java new file mode 100644 index 0000000..22fe490 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/response/NewResponse.java @@ -0,0 +1,8 @@ +package com.bwie.common.domain.response; + +import com.bwie.common.domain.New; + +public class NewResponse extends New { + private String userName; + private String typeName; +} diff --git a/bwie-common/src/main/java/com/bwie/common/result/PageResult.java b/bwie-common/src/main/java/com/bwie/common/result/PageResult.java new file mode 100644 index 0000000..85ecdda --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/result/PageResult.java @@ -0,0 +1,34 @@ +package com.bwie.common.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author DongZl + * @description: 列表返回结果集 + */ +@Data +public class PageResult implements Serializable { + /** + * 总条数 + */ + private long total; + /** + * 结果集合 + */ + private List list; + public PageResult() { + } + public PageResult(long total, List list) { + this.total = total; + this.list = list; + } + public static PageResult toPageResult(long total, List list){ + return new PageResult(total , list); + } + public static Result> toResult(long total, List list){ + return Result.success(PageResult.toPageResult(total,list)); + } +} diff --git a/bwie-common/src/main/java/com/bwie/common/result/Result.java b/bwie-common/src/main/java/com/bwie/common/result/Result.java new file mode 100644 index 0000000..30b1e73 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/result/Result.java @@ -0,0 +1,76 @@ +package com.bwie.common.result; + +import com.bwie.common.constants.Constants; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author DongZl + * @description: 响应信息主体 + */ +@Data +public class Result implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 成功 + */ + public static final int SUCCESS = Constants.SUCCESS; + /** + * 失败 + */ + public static final int FAIL = Constants.ERROR; + /** + * 返回状态码 + */ + private int code; + /** + * 响应信息 + */ + private String msg; + /** + * 响应数据 + */ + private T data; + + public static Result success() { + return restResult(null, SUCCESS, Constants.SUCCESS_MSG); + } + + public static Result success(T data) { + return restResult(data, SUCCESS, Constants.SUCCESS_MSG); + } + + public static Result success(T data, String msg) { + return restResult(data, SUCCESS, msg); + } + + public static Result error() { + return restResult(null, FAIL, Constants.ERROR_MSG); + } + + public static Result error(String msg) { + return restResult(null, FAIL, msg); + } + + public static Result error(T data) { + return restResult(data, FAIL, Constants.ERROR_MSG); + } + + public static Result error(T data, String msg) { + return restResult(data, FAIL, msg); + } + + public static Result error(int code, String msg) { + return restResult(null, code, msg); + } + + private static Result restResult(T data, int code, String msg) { + Result apiResult = new Result<>(); + apiResult.setCode(code); + apiResult.setData(data); + apiResult.setMsg(msg); + return apiResult; + } +} diff --git a/bwie-common/src/main/java/com/bwie/common/utils/FastUtil.java b/bwie-common/src/main/java/com/bwie/common/utils/FastUtil.java new file mode 100644 index 0000000..94b1722 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/utils/FastUtil.java @@ -0,0 +1,55 @@ +package com.bwie.common.utils; + +import org.springframework.stereotype.Component; +import com.github.tobato.fastdfs.domain.fdfs.StorePath; +import com.github.tobato.fastdfs.service.FastFileStorageClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +/** + * @BelongsProject: 0107day02 + * @BelongsPackage: com.bw.config + * @Author: zhupengfei + * @CreateTime: 2023-02-01 08:52 + */ +@Component +public class FastUtil { + private static final Logger log = LoggerFactory.getLogger(FastUtil.class); + + @Resource + private FastFileStorageClient storageClient ; + + /** + * 上传文件 + */ + public String upload(MultipartFile multipartFile) throws Exception{ + String originalFilename = multipartFile.getOriginalFilename(). + substring(multipartFile.getOriginalFilename(). + lastIndexOf(".") + 1); + StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage( + multipartFile.getInputStream(), + multipartFile.getSize(),originalFilename , null); + return storePath.getFullPath() ; + } + /** + * 删除文件 + */ + public String deleteFile(String fileUrl) { + if (StringUtils.isEmpty(fileUrl)) { + log.info("fileUrl == >>文件路径为空..."); + return "文件路径不能为空"; + } + try { + StorePath storePath = StorePath.parseFromUrl(fileUrl); + storageClient.deleteFile(storePath.getGroup(), storePath.getPath()); + } catch (Exception e) { + log.error(e.getMessage()); + } + return "删除成功"; + } + +} diff --git a/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java b/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java new file mode 100644 index 0000000..f560aa9 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/utils/JwtUtils.java @@ -0,0 +1,109 @@ +package com.bwie.common.utils; + +import com.bwie.common.constants.JwtConstants; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; + +import java.util.Map; + +/** + * @description: Jwt工具类 + * @author DongZl + */ +public class JwtUtils { + + /** + * 秘钥 + */ + public static String secret = JwtConstants.SECRET; + + /** + * 从数据声明生成令牌 + * + * @param claims 数据声明 + * @return 令牌 + */ + public static String createToken(Map claims){ + String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact(); + return token; + } + + /** + * 从令牌中获取数据声明 + * + * @param token 令牌 + * @return 数据声明 + */ + public static Claims parseToken(String token){ + return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + } + /** + * 根据令牌获取用户标识 + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserKey(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.USER_KEY); + } + /** + * 根据令牌获取用户标识 + * + * @param claims 身份信息 + * @return 用户ID + */ + public static String getUserKey(Claims claims){ + return getValue(claims, JwtConstants.USER_KEY); + } + /** + * 根据令牌获取用户ID + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserId(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.DETAILS_USER_ID); + } + /** + * 根据身份信息获取用户ID + * + * @param claims 身份信息 + * @return 用户ID + */ + public static String getUserId(Claims claims){ + return getValue(claims, JwtConstants.DETAILS_USER_ID); + } + /** + * 根据令牌获取用户名 + * + * @param token 令牌 + * @return 用户名 + */ + public static String getUserName(String token){ + Claims claims = parseToken(token); + return getValue(claims, JwtConstants.DETAILS_USERNAME); + } + /** + * 根据身份信息获取用户名 + * + * @param claims 身份信息 + * @return 用户名 + */ + public static String getUserName(Claims claims){ + return getValue(claims, JwtConstants.DETAILS_USERNAME); + } + /** + * 根据身份信息获取键值 + * + * @param claims 身份信息 + * @param key 键 + * @return 值 + */ + public static String getValue(Claims claims, String key){ + Object obj = claims.get(key); + return obj == null ? "" : obj.toString(); + } +} diff --git a/bwie-common/src/main/java/com/bwie/common/utils/OssUtil.java b/bwie-common/src/main/java/com/bwie/common/utils/OssUtil.java new file mode 100644 index 0000000..9c1383f --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/utils/OssUtil.java @@ -0,0 +1,153 @@ +package com.bwie.common.utils; + +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.model.GetObjectRequest; +import com.aliyun.oss.model.PutObjectRequest; +import lombok.extern.log4j.Log4j2; +import org.springframework.web.multipart.MultipartFile; + +import java.io.*; +import java.time.LocalDateTime; +import java.util.UUID; + +/** + * Oss服务调用 + */ +@Log4j2 +public class OssUtil { + + /** + * Endpoint 存储对象概述 阿里云主账号AccessKey,accessKeySecret拥有所有API的访问权限 访问路径前缀 存储对象概述 + */ + private static String endPoint = "oss-cn-shanghai.aliyuncs.com"; + private static String accessKeyId = "LTAI5tD2tppzLQ4Rb6yKYyph"; + private static String accessKeySecret = "KEKNKwVvDq7PZLjE63NPBouqHXox4Q"; + private static String accessPre = "https://dzlmuyu.oss-cn-shanghai.aliyuncs.com/"; + + /** + * bucket名称 + * @return + */ + private static String bucketName = "dzlmuyu"; + + private static OSS ossClient ; + + static { + ossClient = new OSSClientBuilder().build( + endPoint, + accessKeyId, + accessKeySecret); + log.info("oss服务连接成功!"); + } + + /** + * 默认路径上传本地文件 + * @param filePath + */ + public static String uploadFile(String filePath){ + return uploadFileForBucket(bucketName,getOssFilePath(filePath) ,filePath); + } + + /** + * 默认路径上传multipartFile文件 + * @param multipartFile + */ + public static String uploadMultipartFile(MultipartFile multipartFile) { + return uploadMultipartFile(bucketName,getOssFilePath(multipartFile.getOriginalFilename()),multipartFile); + } + /** + * 上传 multipartFile 类型文件 + * @param bucketName + * @param ossPath + * @param multipartFile + */ + public static String uploadMultipartFile(String bucketName , String ossPath , MultipartFile multipartFile){ + InputStream inputStream = null; + try { + inputStream = multipartFile.getInputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + uploadFileInputStreamForBucket(bucketName, ossPath, inputStream); + return accessPre+ossPath; + } + + /** + * 使用File上传PutObject上传文件 ** 程序默认使用次方法上传 + * @param bucketName 实例名称 + * @param ossPath oss存储路径 + * @param filePath 本地文件路径 + */ + public static String uploadFileForBucket(String bucketName , String ossPath , String filePath) { + // 创建PutObjectRequest对象。 + PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, ossPath, new File(filePath)); + + // 上传 + ossClient.putObject(putObjectRequest); + return accessPre+ossPath; + } + + /** + * 使用文件流上传到指定的bucket实例 + * @param bucketName 实例名称 + * @param ossPath oss存储路径 + * @param filePath 本地文件路径 + */ + public static String uploadFileInputStreamForBucket(String bucketName , String ossPath , String filePath){ + + // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。 + InputStream inputStream = null; + try { + inputStream = new FileInputStream(filePath); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + // 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。 + uploadFileInputStreamForBucket(bucketName, ossPath, inputStream); + return accessPre+ossPath; + } + + public static void uploadFileInputStreamForBucket(String bucketName , String ossPath , InputStream inputStream ){ + ossClient.putObject(bucketName, ossPath, inputStream); + } + + /** + * 下载 + * @param ossFilePath + * @param filePath + */ + public static void downloadFile(String ossFilePath , String filePath ){ + downloadFileForBucket(bucketName , ossFilePath , filePath); + } + /** + * 下载 + * @param bucketName 实例名称 + * @param ossFilePath oss存储路径 + * @param filePath 本地文件路径 + */ + public static void downloadFileForBucket(String bucketName , String ossFilePath , String filePath ){ + ossClient.getObject(new GetObjectRequest(bucketName, ossFilePath), new File(filePath)); + } + + /** + * + * @return + */ + public static String getOssDefaultPath(){ + LocalDateTime now = LocalDateTime.now(); + String url = + now.getYear()+"/"+ + now.getMonth()+"/"+ + now.getDayOfMonth()+"/"+ + now.getHour()+"/"+ + now.getMinute()+"/"; + return url; + } + + public static String getOssFilePath(String filePath){ + String fileSuf = filePath.substring(filePath.indexOf(".") + 1); + return getOssDefaultPath() + UUID.randomUUID().toString() + "." + fileSuf; + } + +} diff --git a/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java b/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java new file mode 100644 index 0000000..93c47fd --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/utils/StringUtils.java @@ -0,0 +1,68 @@ +package com.bwie.common.utils; + +import org.springframework.util.AntPathMatcher; + +import java.util.Collection; +import java.util.List; + +/** + * @author DongZl + * @description: 字符串处理工具类 + */ +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + /** + * * 判断一个对象是否为空 + * + * @param object Object + * @return true:为空 false:非空 + */ + public static boolean isNull(Object object) { + return object == null; + } + + /** + * * 判断一个Collection是否为空, 包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Collection coll) { + return isNull(coll) || coll.isEmpty(); + } + + /** + * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 + * + * @param str 指定字符串 + * @param strs 需要检查的字符串数组 + * @return 是否匹配 + */ + public static boolean matches(String str, List strs) { + if (isEmpty(str) || isEmpty(strs)) { + return false; + } + for (String pattern : strs) { + if (isMatch(pattern, str)) + { + return true; + } + } + return false; + } + + /** + * 判断url是否与规则配置: + * ? 表示单个字符; + * * 表示一层路径内的任意字符串,不可跨层级; + * ** 表示任意层路径; + * + * @param pattern 匹配规则 + * @param url 需要匹配的url + * @return + */ + public static boolean isMatch(String pattern, String url) { + AntPathMatcher matcher = new AntPathMatcher(); + return matcher.match(pattern, url); + } +} diff --git a/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java b/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java new file mode 100644 index 0000000..36a1207 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/utils/TelSmsUtils.java @@ -0,0 +1,88 @@ +package com.bwie.common.utils; + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.dysmsapi20170525.Client; +import com.aliyun.dysmsapi20170525.models.SendSmsRequest; +import com.aliyun.dysmsapi20170525.models.SendSmsResponse; +import com.aliyun.teaopenapi.models.Config; +import lombok.extern.log4j.Log4j2; + +import java.util.HashMap; +import java.util.Map; + +/** + * 短信工具类 + */ +@Log4j2 +public class TelSmsUtils { + + /** + * 阿里云主账号AccessKey,accessKeySecret拥有所有API的访问权限 + */ + private static String accessKeyId = "LTAI5tQYiKvBrFCLCdJViegZ"; + private static String accessKeySecret = "pzGYeyC6BuXrdIW8f8ueLbdgHSb8MW"; + private static String templateCode = "SMS10001"; + /** + * 短信访问域名 + */ + private static String endpoint = "dysmsapi.aliyuncs.com"; + /** + * 短信签名 + */ + private static String signName = "登录验证"; + + /** + * 实例化短信对象 + */ + private static Client client; + + static { + log.info("初始化短信服务开始"); + long startTime = System.currentTimeMillis(); + try { + client = initClient(); + log.info("初始化短信成功:{}",signName); + } catch (Exception e) { + e.printStackTrace(); + } + log.info("初始化短信服务结束:耗时:{}MS",(System.currentTimeMillis()-startTime)); + } + /** + * 初始化短信对象 + * @return + * @throws Exception + */ + private static Client initClient() throws Exception{ + Config config = new Config() + // 您的AccessKey ID + .setAccessKeyId(accessKeyId) + // 您的AccessKey Secret + .setAccessKeySecret(accessKeySecret); + // 访问的域名 + config.endpoint = endpoint; + return new Client(config); + } + + /** + * 发送单条短信 + * @param phone + * @param sendDataMap + */ + public static String sendSms(String phone , Map sendDataMap){ + SendSmsRequest sendSmsRequest = new SendSmsRequest() + .setPhoneNumbers(phone) + .setSignName(signName) + .setTemplateCode(templateCode) + .setTemplateParam(JSONObject.toJSONString(sendDataMap)); + SendSmsResponse sendSmsResponse = null; + try { + log.info("发送短信验证码:消息内容是:【{}】", JSONObject.toJSONString(sendDataMap)); + sendSmsResponse = client.sendSms(sendSmsRequest); + } catch (Exception e) { + log.error("短信发送异常,手机号:【{}】,短信内容:【{}】,异常信息:【{}】", phone, sendDataMap, e); + } + return JSONObject.toJSONString(sendSmsResponse.getBody()); + } + + +} diff --git a/bwie-common/target/bwie-common-1.0-SNAPSHOT.jar b/bwie-common/target/bwie-common-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..11c492730e5411878f6a3f8889a81f9a0bc32c37 GIT binary patch literal 26659 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 literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/config/RedisConfig.class b/bwie-common/target/classes/com/bwie/common/config/RedisConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..e636e574e23156ace6e4a6fa8918d1b8dc298320 GIT binary patch literal 3159 zcmc&%ZBrUo6n-u*uF&IsiFU+ z{S9qC;7pzA59p8T^xOq466oSgXUYuc?!BDz+;g6L&biBNdk< zI&W6A+_5e+dZ?HN4MtHfX*;5z+biyKf?>##(_K-imbpWa$5Uz3Drt7r(v4El;uUdh zTCcPMcev)NN*F`r9i0%*pjz`ao_9>Eo|yKAutd}NY-937DK^a+mc8x0TwoY<&SRSQ z#_QtGwIiN?Wt+y`4H9moSwTdX^`C^r@YoB}K3CQ@dIM41KC{9w>z-DT+m5haSISyz zZ)B9o-bpp;_4GGUbQ_%HU8|FB#maS(KJP|37KjxBJnZn&Idb zv8UTQm14>;Ooz)Fp*Uu{(ne+Eh}VwB&sDW$!40A!oHc7!UaaY|#7EC+j7s;mD1itq5fiXZSo#Y+%Z5BqnzYdNUMA+Mq!g^;2sMM)BQ!@IvSjN8JY zW4PELiOc^Yo#|#6pK7b7l`^;OguF23x>MPfYTK4cjl`*^@_Av~CN(sFDxGGS@6m_; z#WbPdkRk55rEH_Anq#g~dFP!;w^H=7?$jyc+b8Ne(Pg>82&x``Ds#ZF=!c{*ZPMF?=^n=NUhUT3A9Sa)tNP@sDDqm_*{xUUN}ymn=Aq11=Ed52 zCPnAlD~LXTiN-Nu$QO+c{G(oE_5*rZVn*mB+wVe#JD1wtt&dRxc`EAd_j%H@BHQ{~ z$F=KX%1VF2?ZXb-h|D}*u8H=|CR)00{Se_ry8Bw0rwcnP90vLR)}=AFmE^^|!*yJx zH&yxZfyu5<@_m|VG%^~4w@$!*bAP@@a==|2#s~DQHWlz8KB5`J$M^&RY0P}^yPz*m z;X62ie=|1IK;RU?gUG-Ml*}mxX*m=RL<4USeuH-!Q1|8YPy@sJv(Z2UBc~W8opxc9!j$x7!dUqbf5XLE}3G(JDVieK>1(hJJRq}L$ zyxgXspW!B+W0Jc6XKpOXroXLNKo`Pw+@P2S>9V*g&NF?8<~RjL#z zYoz>!C__+`c8>Bp3cnz8)w6+wZe8x4d+zSN$9KN{bM*_r4z?5|@l3&Utfr8_i_pB3 z@JhmKf@FNGRH}wS$kq?dfvG#D+tF)oAUeX|B|MtuKfO2h2${JWBk*mv!zGIq&+P@K z8?;QPFJu%5iE6XiXcAJ94|`>-5t3!wwS%{Wg<`2ih*!MNg0Nh-UGbscZ3}YimfEz`HdcuK~D1G`7qtXp1JZ-2Fg&Y?Y%T`b{Y+zG`1X;x*WWxG?j3J~ScGhSg3M(L}kA5OXeF4!o@Yd5OT#@X>P@{GoZjHOY$+}$cGXc<&lB{z7OLVRE}A7#4pY9 z%ba78(AZ`;tFtHeiS0|!dDNO^n~X>aj~T0z0<0j%k&Gw*G&6;)hMOT`7g*5fE&}oJ VDgJ}lDm)RaD#cR?PZ`IM{|oAmkthHF literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/constants/JwtConstants.class b/bwie-common/target/classes/com/bwie/common/constants/JwtConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..452b534641592a2df98eeb0dd2a45ec22a968bba GIT binary patch literal 544 zcma)(%TB{E5Jj&`OG7D-miJR)gMbCuumd4gZIB89BvLA|s+`mmw}}IJP|9DiLSn%O z@KK0K0FfmNkM9|4u4n9z&$o8~2iPoO3`<2U7qP-H(=b}KrfGGqE#s=wY%o;KK7Zu8 z%T-UeqCl$NA;VPNS7F3e)aGt1G^{erW-Bjh=Z1zg1}*hDGj24jGmKkC{mN)**dTo* zm5h!V#&&kw4Eeg>6?DHTmAHsKTLdj`yOgP#zQf%%4`jkW$$WGtLxvsG@jcxhN}-eR zd_~)LU!i_FjDDL8spFF6$AKeGWa3%L9_}ael`)MOhVB3P(X@Y$a%uO46EPIyPy`*> zrJ)n0xJNgovNI4PhE;AmU2)sHll_6~DgXW<2&4FM_%wRP7IO3pKprc!3ZUm9%7Oj_ zT81ZxOBtRdE@ya(Dp@iL#aVLDQw9oquV62!WrgB6r9tLZise)nFo$^}h6Rc_EPesg Cd3opn literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/constants/RabbitMQQueueConstants.class b/bwie-common/target/classes/com/bwie/common/constants/RabbitMQQueueConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..fc4eccbd1e5f210d1238ef6f9866eda5eae5076a GIT binary patch literal 545 zcmb7>%TB^T6o&ud4uV{~A}e?5!W!dFV`88ZlLA74Z8I$s98#v*i$0et6Bj;!4`nm^0`5Gv~}dXFk8)KLA{yQ9u$qS?p%9$FOPYUDGl9ra8dcPY7`7-Tu>B1?ae~tT literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/constants/RabbitName.class b/bwie-common/target/classes/com/bwie/common/constants/RabbitName.class new file mode 100644 index 0000000000000000000000000000000000000000..6b173f9556f12fb7db5d9e593d7b27d656be2421 GIT binary patch literal 388 zcma)2Jx{|h5Pg^CqlA=}0s|uwLco9*HV{iCrm9F3Ww(P>TqU-YIPklekQn#@{3ygF zMe54(?%v(`-8+B(e0~AA#!-p^_7hAK91up2QYqtS&Msu73DfynzDiL_yAn%Z8@syU zA#OKbTA$0Z)k7Q-;#*^lzatFJFLFXSbI<&GJU3P^+DhsANvg8fbA>E(S(}dk6+{1G z8p7GUaFtMRMhi|VXE|*4G-6|`^ThkprEBX#-0KNAkyNofH!2%g$*5?sM*ki_? I83Rmy0nvk5rT_o{ literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/constants/TokenConstants.class b/bwie-common/target/classes/com/bwie/common/constants/TokenConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..684ace3b3539ed572fbe090abfff328502045cc6 GIT binary patch literal 526 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 V)cyUi+P)vtVap7>t_Jpve*k7+AL{@B literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/domain/request/LoginRequest.class b/bwie-common/target/classes/com/bwie/common/domain/request/LoginRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..5f5443efd30e3338629cc641122cee9e68701435 GIT binary patch literal 1895 zcmb7FU2hvj6g^|lde_dTb)2snQb-|f{SntdTcCClpl$kTw^346f+sfiD&Au6273+v zg&#m(@&FRJ5=aPMiqzl0&)|{Lp4nZyiQ@;5t(h}-?%aFsxij|je}DN6z!lU|m_a28 ziK-gbbgZX1Z>ZrDwfCt)pDA=*$Bh(Hs2I4Z=1l{)4BS@mj*hzm+J4J(ZGlYfiS>kNdB^WM?p{?uHoPYH5^Ij@_!|Q8T>dewHv;SFn&a9J`kh_7`^egD2Qj>c)qZSs z9kq^((r-CEfl{sEb;`TnI(C_$H}aj&ope>4({cYLeyRo&VTgkleaei#kQ-Bffa zLCfm3LWUGx^=fPTZhezsj$ftgeW%@2I?W#CkPGx$H*pX5 z*^bp^#ebdUGUp`N zcPwyRA$|ixGgxC*bhxLhvDcXd?@$tjP z#KUi6ndPX=m7p;4EEIo6Y%=c!`lw1m-U=xp1f^lQyx&N3@y_Is@&6i9X*voy7lh>H zh*_KQ z52K>d#i%5*n(|3JL*@X}SuL9wI>|%kietQgcR~&$9a=b#3nV>{9b9BjW8`}iIojeV zU;}v~iQCkvK%}8gpCVBLtBk*lq;C9!Q#wj7u%P1-zlL~$Ga*cl#5hkeqYpDW*}!E(Y@Q#nGfL!CwraajvARYjQmhaVcGGQ9>hKJb+#r zAo-=T8x^TGvNGB+l(5`dnk?9rFlt02&bRpiE;FZwtNb&%%&aNC`>UiD=P$t`J|vQX zIQJl5(jY005EKMLyrk3XbxaxNp$#2|KJvJUZp_Eugs9SO<`k?n_bXDLKgCqW9AH`% e%qep!#D>DBISh~$3DL^vm2gWO-Jc1|n_B63DV8 z%T-yfiS_#yeo)3fT(WUp_8;2#k?cRV@e>KezFmoIP*h7aEM7f9>LR4UPHB z-c_&N^?IxA#bD6st zOq{u1;IH}vB5koRcCIsyy*%*gKDVO5JksfPf@2zr;}hpK=qLIs1Psl0dJ=2NADr`+ zx;$yj_m{oyd2i4WJv!8bwa%u7$@%5}dVA?w$8S?u@Auj({dKR?YY+TqxBShZeagRf zHWVd~RX^Z?6nxkCL?+dwWQU03Y1NGwm94u>%xqk`C}-m8M`F0@V_JVD0);IQ?L^WA zdo#&tWc<#Qq%-veKUnLpobd+Ux*zxh*6q+Mljpw3Gfh+c$^@l}Qb`gW&3;mxr?^xi zRFo;TG*gp(^t$};9eJK!y6i6pGZPmzX#Jf;icDl#KUnhz%vy#vmXM{Yjx%~<4nMw@ z+QWmY0;CLz0O>(l0U}OULib3kDN}~gL!miy5~i21I!Z6q7Xxqk%7V9{D9Ed+Zjim~ z^=73pq}Q6axfZgRl%8YVXU@(o%(5|*&4ItU)eVSB3oa=!tgSSbmSK)XNteem>DgmR zDt6EhDa#=*_O}Mh{>hG9l_9b_qWgn#p&d-1W#I(}FXAN!_u+mA56E%|_c}O?&pH^B zWgPcwnAr1Ga_}S`b?_y8*}(~sz9Q0BW%(Q)a`1V4!QnH<Vnl8-w0C4NPwOdU!pS7$G?(y2pH1CA;s;t`d~)FDx%k)am1lA1Q*U>Ohb7NuE) z#N@}PN6{tVt9I4vZuzG#X&4=!%f1ouHQ^||jSXg^VLE$_qBkV#5*|g>^8ML?k1x(0 zcRt4BUcT%1@C(C4K?X*tATv`t$EJ3URPCIq+Br$?!{9j4;yOv~G5TrTM_R8#Yw3SS z;TDQ5Q|64Yq@4aQ$66d*xNby&(c z8;LV%k>hOcb}r{SlTJC#)^6uYt}~gM<6PYB?BqI=+&RwrZs%;n(wccGa-8km&b8c6 zei$y>DkGG=Ank2U-hz?NENr)>yhlSs)NUDtkVeA{{S1vtoyrj$%?oMnHKgz_33*tB zJeD8Q+G|LmauRY(h5Q=6o|k2DuOa1DBq8rpAs@*Pnc@Hc?xkF?B;*4sNeFp4)P|Ao@RRBIb$rBbMzn&RT>)Bi!G zslSEc8*rwZ`Zk;xQFRSMs;=2I1Y^F1#tl@PM$^oIYOY04&9$4Bfb0llHSG*&$Sn~x zTZRgy6ZG60&*e{r3`4;tr9fs)|yoT)gn-}S&KpXP1aw`JS!p3 ze;4*8;rVUM;v^e6f)DuAwb{2Zyo<+qR^$`-4(2H7wA{isC>dD5pYcsfCc5}F<|$bi z;ANhlgpJ?e3Qkcf;kWQ{no=3tT+i@-1#fWV-=gH;J>IRel&W|icVm%K4d)B?fw}K66Arsz`OPKC?zj+4adAu%@@sct*~vt}ceA9$9Q5 zT4<`dhBA?3%E@jTv1!OPmB~y@WM1f1cP(Wi=^`&HHVwPBGTDiVRHWCzd}2HuRuB=R zh(F;XzRmg!{1H!6DsYs4z<1b&BA=Y+@m)$fj$sYoqhzob3wVZ-iGV+0JW3W`#eOVN zvSqm1VK^W2K<98ZjRS?Ieav8~UXX(k7%?Em=sS-hn3;j4$la$A*xCtB@i~Ub#lFKO z^~$$Jj-@=u)c3!d>CS%h=T^unJjb5PkAw^V#J;Cq$6bw)ZH$scL);qsL%F_<1C3@V t4~zV%P_Br4cPLjyJ{Zb;9u71$thpkV1fz`V!YbTcCCl=q0@byHrV437(kPqj*}|6YMel z7e0WzJn^bj~{a>~r?oYt2di{P*Wy0bE8cg&9qHw_r1qXS0Ph-WPf9q z+je)iyzTeg?rv2<^WBc4kXUuQuD`Aj&*dL7dc$indb;LzoqL1Mj?;T!@3a}o)Vzk> zerWexSw}(5Z@GPiQmx^2$~#Y7r%cfCy5*+VvE6RD=k)iyZr>?yKJm9A%+ltr<39+g z&F1ox$QhCm@H6}4+_~JzRN-cf;~Evo1FEvKiDk|viUDW`(qXq61Nfs%=jfaB4_KO*-1vBSp1!_;iT;rQ{x z=ETEqVu|fYPc@~O4AvT%!JaeRzkhdTaLQxvFOJ|Vg;_b;-#{cV;qUrd`+2Bfk z8xhODIUB6jDi*$jt{oJAhxRS>_(AbEX!VuC5PGmANZecDP|-?%U@EIU!^}RcQdS$n z7-g6hohfD|k<}$9@eG-LOlS3MVw9vEuvQ$${ks!#80*l&dAv)~bJ)fOdKx3&o5(R1 zM*-`|6KS|joeD%c>dYw;C9uN#myk5fe{jk`={e>NT;#8*p5tr?lVdT?Qw&X>OeDrt zmJ~yDQ9+o-PB0A})5lD8@)M?!V;2H>`QR9mkKiv}p>wXJtE<{tAmU=W+MEq8yKlGe(QC|ul2PRy73H`1(hyVZp literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/domain/response/NewResponse.class b/bwie-common/target/classes/com/bwie/common/domain/response/NewResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..19e6411260ae74c4e0b0826b6ace1636a09c5b2d GIT binary patch literal 391 zcmb7AyH3ME5S&dMI~YSk=;-Kp2(F<6(I8P-E(l70c241t?=CvqM0^$%5(OW?MH(CiM z##ym+Mrtd(s@Bd{N@QyD&~rW?&t2mSb+6mt=`ZiHeQSaUW5W4AG6_e2OmjGnG2qVu t*8u{IIu>?Fp!OKo9aaS+F^q7Fr0lkjh({wnU+#HfdF`C?$oySq0zNrfaj1CNXLJSvBQuVUGcw~}@UN)&oZU^bO)2dMr|G@to_p_k&dYP|{`v3EzW^A= zMhyK}h(g7p3`=3W6XU!r!@DuOhwCEUkl}q9K9KVt%J5MbAIH#zg$QoSY{;+@K|$u# z2uztj31cmcq5{pX*hWc#GNV8(Sv6ZhJb%mh%*fPjtCY!8lT{F1wARXoU9Xx7`Z~6A zOH0`)o(biwvSm*x2&RUYY3yQUm8ZM&R@uB-Utck+OU6oxn%;b+V3d}PswHbrsoF)W zrr>zKP+8Bc+_B6Ih4o4~Q#EV#lAW0|*31P*BvSuY3!iT^t)zCp-t_ihYNjKOtau%t zHSJ<$b!xj1=~H6cN!NxP*X>H%GX>|j9nB8!?h+$f&Mi&2?v#x3TISlyEwf-} zr?#2%kaxG)3^QU^+_Wh;yUp6p&b3l~=l^lcwU^tg-$JLznrSb&+$5pM&M*~1M=~fi z+*vyXhqftOIjFTPsi_$$TbLTx)PYo|CD}jRsclz0WPVyVN~A@fcgA0^;TvqEics9? zApaIStzs9=Dtk$&e!^|Fn4|L+r}mJZw4|nM(KZUVXN?V~dH6E0nVGPHQJxm(C>D)c z(d|Fx?lQ6G7B0_D(>cnas?$dlPI$eqc@B^)i+0s2)7ZggHk}w;Es>|5PKWK`x*DsJ zSv1+_CF=|6bsC5*R_fJ)dC8KOpu62WXCz@dj^db(!${~jg69+r?fM$XmD4)X7zxAD zaSOL~Oe3q~1-z)^EY9hekmV)3MT)em;zo3#Zk1N0COvIWQchAPb(F9!Lz#3LO-i{O z9jmJh>zKt=J{E0zZpSijj;bSW1%o>T((KJ}tzIaYHPY(b(`dC5FBY@@46q@5)!UL5Zf`N?y-GWu#}Ge6{a~UI;2-PAPgy`pN!@@W4??HR zGILB)GtF7ytfe17`H4c1Mt~Tvfu>ZNdY+P8;vpQz3C<_CXijk@CQtKjl5(B1%DG!i zrjOl6AU$>;!M5>UXZtY61fukAKm8MsBro!s2O^S0Ai&*D3_%CD-*HV&39!32$eSt3 zQ3)D63@_Ya0+5@YXLF1|AYzZ8UOzhe0NRgSxeT z1sx^m7|wX0*EkDk^yuhAgdQT?iJA0aMq8MYn5~$i*%32C_t|nBlf-(1u1Vgs^gRTA zpx}?OXO9(S^U{oKu1S)62zI*Pw{Ll_~}5LATQ$;8W-P}2_{?)rAM}q@Yx`4%Ls_eg(e8?I8{)Za7PH|#`Y>< z`P6x_{Y7?bygomY{vMjTIr1CS@1O-YM}CDmJDP4F;w&jdNBRHFx3bAq>?)VB33co- z_9fIm&~q31SVC=JpL1T_q*2xBQGW#EE?6r~^T=V64)t-KV$TNn6d%KD)CHND1YW14 z`r2vUOQL&T=ySn|Jsghwjs0O-^{$Fn(gQnGhpAf7D_#gktSef9NC(ZnV+ zQ6;p;h{Q+kB9hP=&~Hu-JS%nMUh0DEp|^3FXc{t@p%h^Ir*VZz3$pzVAy0=j-%}tr z#bHUl@&a0=S!vbOBXnJVfc?GQ4a6m`26}pX nT{+gkf!>3Z8|dq7KR2)L`<(KEXlGM2;#|NZ={3wbtNH%`Ddljg literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/result/Result.class b/bwie-common/target/classes/com/bwie/common/result/Result.class new file mode 100644 index 0000000000000000000000000000000000000000..39ab3dfd2df09fa0efb52e5b4f2651548baaceb0 GIT binary patch literal 4886 zcmb_gTX!2*75+w^(MZZTu@zscByFyMBU?6YOaa?*F1`>2UsBr%v_RXjJlINY$&KYa0$g$1BD?VqRefHUVpKo8z z#Q*ruAO8Yi5Wk7TM%hLshH8T3GqQd*hA-K8PS)3C__7RNk>RTe9LF`0`I-!0m*E?- z@l6??m*HC?@@=8MBh(8vUQD11*J5}{=I_ezatz;#;rl{fkKqS0|1gdSUP<6b__0v0 z+W3i$pBiW@d!@X)dc`Z1^TopD?6?8rqJh@2Vxe4d3zaMGYSpuN7x^&^*z=di#wODtVE zZavs&oAxRz#idJb$zAg*41$3(TX;>cwy_>KKGDSS&{cF$woyg^9@*NHU8@Uxv%FHN zSZV-w#~#gW;nDx>&R|b=*Jp{$>=u6PURi)kf>~WrDQ#e~NdR}RntsOJ^?ac8@V13? z;@%R0t8-gio(Z~pCj+I?k$fRv8D$6PIeCROU0KPq7VKrOqN1mn*vJpCJC+CSJ5LSD!RO$gw#PAy#|gqw*8!bk;((X+eCz&_g=mJ z&p*HR-b=6CdHHn*6PR?+C&%^1oj*N)=k{#__cv-&m(`DmgHL11!DU==@F*U0@ELs8 zK?c1J`Z3_(qj=E43clcA2D1(>;SmR)m*pJh9po`$(*MFDt=kHQ-C- z?)th{STc}lmd~Lusn}|78J9z>hkI;qQl~?FFZul;UD-m#TlPvc(q6xZW-__*`fG!= zF)=qcJBOqE$Ti|6`7?t?`GP$9X{6*I+w-} z_Z=lAiNn?KCeA6YM)+$P+=e!D+BY+*&CGI+a4#-qdbM|9EB(HeE+wR`P+YQ=mh1N7 z+zaf*Bfh=<4V!0p;A~S!tYowaBoBokIg4}J*HapjIH9!C`dB1{$ipE-l!qJlulsV| z_oW%kbzi~&426^?GywH$3n#etT`-?TGnlPrFpvKKU>?(O4eQX_#(}_M7_9Rli?(zi zMhh$h6&yw0`>A(eKl(OeGns=m#53s{5}Cdl_GBc{6_Q<$ z@A^r^@F}$70+Pt08y9^K(n^U&R?19#k0nkcc(@g+fsv(e%}ZmUWQ$=L2jgOLL>WjYDD$> zdNKw^AC= zYV(&Q+F45Nuge}6$r-MaLuTgh*po8fMf*)SnUq<>{y@BA$f8KcP&8$UO!QqOZ=yA2 zrJ{k5DOqZUx~59{3(BF5cvbPZ|EhK3Nj$+qh;TJd`a!>7M&Xh&vA~yek(5P54(S&A4S5B{Tq92e9?IyT{f2aFJ`=t`xF`9fbVfe%apGn1ski_AVp*a zuf}3i*HCE})GkHoygbhJvPXKLv5`5i;1Y@|%R6O)K=>riu~2bF$}bPGGuRlng`ID@B1MbN=4TBX}9 zteI}CkupOU7}ux@mKR}uKtN4mX&8i$e>eGn$Li~dFgjrc0)dRVnME<)pPzyng>`x% zU2^apbg{R0C-18vB|y}0Ajvi_bdpo@kfJ+kxIg&-=^73<_L*=~9n`n3heJ5h1!5>} u^l16Ake~f;;7AQe{{TMt$9%$)5>+2h2|pF~^EK}#rP|awp5}f8rT+r2x1c!y literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/utils/FastUtil.class b/bwie-common/target/classes/com/bwie/common/utils/FastUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..c87c0cf6c05b85794a685c3104182abeabc781ac GIT binary patch literal 2597 zcmbVOYi|@)7=BK-?d)y`D5cm|5DRi?x6lzq6iTaDTP(H|S*VD&&hDPwPMOO(GfN9z z_@Ifz#Kcb~BqsX7#P~_Pq)>?b0DlJ{{t4rAX12>xwnlBz_uSs|zR!C(&+PAi-MkIp z04}HTIELFWf)|r`DUG9eS&7jUy77wI9#dkx4ae|m8WT94#%q{Vr&CFsXu~v4Ch@vD zIi*BaiPK8^jE0#sI`M|mIh(|r8qTHh7T(tIjzGfpN&+2|o?kKoyLe#UnDj~|=?@94 z3qsE~OLEkuF)#w@U$FAh80UK2vSqgZDsA);5h(GVm&XUh-z^5zDp05hCsDpAl#t z^$Jp8!=&ZP6BQ>X{nI85Mj_-)d&cxFwXSY9hjSJ^^hU^Y3zjq(g5$YHCA91yLVJcY z<)%`$J+mM%))(iZ>|1WB=$npQ@ci?}g3K9C#SX2q>4(PD%1p&N)E@<4*rr=DvZ1=C zvRBhqIs*Iuvsr<5&$mjJYud_$ODHN#m8@01QmRt&q#4dBKWkU1;5nw{8bwtxRiWq# zv8Kls^RiqmNBfiv=e)v6Q^g)ipZQA{q|Ip@$nL&JAvDZ@Al%J$x-}>Cs1+H}8Q*4} zvZ0wjKV_DqlCf6>l1K7(wdm<=)CaNWb*j5my#`ed1Tqa%8W6Me!i!~TjCxMlbJ@H@ zI<{knhIe(mhgktJsKL~cLtaM#QpXe6rlW|GjyYHw=5?Hht-;aZVpfBvqm1`;Y{6E6 z9aZeT!^6EJBlo`g?9Q#F``3TGd;8NnH*Ws%!_C1#TK9DX;G^k&`236epZpeU>8Rj> zjs?u>SXAN}Tol;!pt`km>A0lMKTziMyH~#b^Xhl^u6%j-^KS&Usamhy*BU<5@ew{| zCq1w`otu|=nlhp%|L@zJ;7T%_exxHi`x;ii&SU&01lnxYZ^A9e#pxnjqfsAC2&95a zE{I-{(wS&zd_9p&xaCSn)6#SVx>i6~o>6z8I*qDX>k@mB1ae&9`L&VDdMxq&62LexW-pa9;V>3rG73EW0 z85{-2mdtgCpEzm4PD-T=e$jVP>ahZLV-HsXedtFby8Jcunz?siU>QvUvFu1Jp}Bc> z2`y8ZU(w1=nyMwc^CSC8V$MUhHc(Qk-vtMwsgfaTCWbLflG_JLspMbAzZ9 zmQ3ugibegX$zXt(x=62kv5yuFv|x}jfv2gjg6+h9&RR(390W=5S*oenZ&4}1ad_Yc z+ODGgXXqX4ma)DG9UHE3uRRK2?-DlhzhfDj68N5*RO5Q{G9II1*R{w)hQ2##Oyw?) zC&PFKu#u=biKd5WGIYF;SOy8d!D#bPt)APdsQywN-8azl3v^XeQCHK=w0@X-O&F@R#S!3dS2w)W literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/utils/JwtUtils.class b/bwie-common/target/classes/com/bwie/common/utils/JwtUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..bb09882b2a4da342cfbbff4370706bd8bb25cc84 GIT binary patch literal 2874 zcma)7?N{4$6n@fDlC}Z1f|Vgm+>k+G>tHfXR-#o{^$>Z_)B?0=9p79~c@AbLQz4y5{|NQsIp8(!NBZgso9K$Dg7{>}SQLN(A zDBi>)G5t)u9*fvOWKi^u4ra4z2(@3SzP4ql3^OovV`!|^sa=Sj8)Jj3}g*c->g@2 zy1lLCDqKlqt-My*)oeq|{ly;Vz^F+W&*rUaI@d7tGzV47OxGQwQcJHloE14_2CIzBvOw$OTIsT03x@ z=bgo6^1QO4I|o+bnPzKM-O+7Yk8T-7Q*-Jzqp;RS{F1nV?!^u@yLJ|lSs%DLIn!Cg zN|$Pu+0b*Yzv+w{5Ymhlb!Vrh+fVdk36p_$19Cmw9gz0B7z^Yc_3f_}m|B0l$%si% zINQ}Kbq<%iVm8Iz7h<55a9Ow)wsNIb@%s6a(6{Ai`7#CM>XB-f@hvGVqC=J>C(qQSlZ=WqhaNdpwu%LWPE$jJ%2hbQRYyqGBIK6$da>lu(vYQBj4d z!os19mnv*f9?9UishGuW=BB+e@|Ib1G}CdbBXc$(={nQ-oDQq(4GR)vcWyAg?vBae zs&G)3z%oCAAz?(z~;l4b}Tru>`W92xn2vf<84yujH_VF7Vmb5bYO?*3PALJmxh;{^#)TueMtz> z><2rMg=p9rR;&Umy4CgbY7X;2TQ~Ffnj>|7TyZQfYIuh~!D0SXDJW659K|_idGkHS zS(;zg4I-)EA^pNZ2-o@Ubr<{bHpi-W0OJG$VQ%0i!tUjLenVUvJwYgSif{<8(DMqB zQ}l*$3RyyS=4bAQUCfwwmL$ep+@wFBz`Hy%!r3I>5^izk*&M|LrZ}7C6QNT1N%09` zhBVkiI1)ar@+*88If3F@kA^@xu@E`LCHw_dkZ5-7R+D2RuGw=VlRO&59R}tCT==M_ zPSBT~NerCe$_1R~(_KU`*W{DxLq;Hz^j(tkJvalO^TEYeFqczpxL*7pG|}{s&S{ER zL^0o$=G6e28PZ(6Jk5Ffqz3hD`^G&cpo1S z^+T?z2>pwzG9F}PEV|O5U`0aj^HH#LUYyrmaj+T_$zKr>)ycmK-=05%oPESu2+RKi Db_6*|b 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

-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 R_fh9~c!7^%X%g(+e*i$qj(Gq8 literal 0 HcmV?d00001 diff --git a/bwie-common/target/classes/com/bwie/common/utils/TelSmsUtils.class b/bwie-common/target/classes/com/bwie/common/utils/TelSmsUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..2547872ef52e23052a1ac6115b1440472da28cd4 GIT binary patch literal 3748 zcmb7G{aX~*6@F*=m}MOSSHZ7TV>AjPED%TtQd1>rfL&0RXh>@8?C!7(S#~xvvnIsa zLfWK8O*KsulT>T$mu=cag{Lb9+y35vBV9~>%74)Iy)!Hhf?^&X_MSQS-1G6CbI-Z| z{_mIn1ki#T0o3D|j2{Ky!?7}KfGVh%pyGl`2udp>rO6l!Ab_Ndp#T&d6F<7x9v0Lq zf=UT$B!DywL1hH*RX@ySuwaXitk7^=#%q4OE|{YMynz!kejLC_{KSu+`Z4CmxF2u& z@iRYuE@a*c;BEXOz|*Jvcqf2$IPJ%o0M6oF8NZZJlroYMHiZo{8B#N9d`JtClho5m zv9=6{!u-0Wh&+|qbT*931%IBtxD)RaD&O@|Vr)`+EM^ybEFMdxd34@)R^bytM-wAPy)iD_oP8cR`cFl@xt)M3@s#rG_;*dEd? z37Z{LvDb7hM4KZSSRePw+nQ=* zv@|0MjSvjl>U6|}nZ2*awT!JBX?iAG1c^RKXsuZYvda;^h9YWaXYE1>2@+$k@@&j$ zr>T<6kdfy8GGXOe)mEv6iMvOwgz{N04r#AuHH*1vADy7Zom#+G_k2M(@;xjB_&1^K!~~j~7fr zWkj=wjKl%eWQp3E$#j%OS+S~}H5tWAOQz-_9a%Ji{tn&rKV5Y)%GAmbASzrjTXmjt^3Aqma-bMJjKHh$;w=l}WF zm2W;f`}MW)JD-k!d;61_+^L!IYx%d|%71Zd=A&!md^L9d#L2J5n7rRAxQtH~Jc*|i zJc}z5R^Dw@b5}vaQCF>NB7ghM{M6L9x6jVJb7tn^m-%xyJvzyrm30ix-*HdUKRV>u zQSdwbp2ei#5BMV+tN`kP-A2Zr6kNrhC9Dbe@9t`~4-V)($M=}~I>Vib?!&s4d{M%N z%p3a$w9(Ed_her%6J1Bz2HUb)IF?907mc+=jY4o658W7NF20*TeItIS*LNEO;2E9AQrV4(%Ex7oYB!|drrZu7ief4@t_J`(gQD~!FG8gG}o?`bi; z*dgr$q9?nfi+yJQQr;92J2x2@y=nA~P2Ltw%N?`AQvbYhym1!2m>N?*C%VyN-#oO!VdlVH;7? zDxYv1U^M1F=QxJFVRWWc%VHuQq{V#%R(X%j=0?Qfy{e-YAAJ&5#IvT!XPuZ`5j~X> zuP#2=IKwJ3d@tJ0{Ovc@I0sqz-OC>~(tJ6|$JJC;>lGo+L_{4$E1y)D!54ctW01d4MgnLud{a?kb&`2UWwX#@tSd)al$ zySl4ULb{Eb+EGahtEhK9wH9oxB6m0TP^Odr!rgT!<2>6-YqTnr@x0J*Xc`KwF5jL* z`2;F*sGPux9D;RISee7Bh}1iQs$jMFyoJ?8n82DHIjrryik0ofVr%{Oy0yi(@JI>j zbNC*`uG7{gg49ln#SRY5j2?InesrN6-So8wYY@gpL@3!u_zqA$$`c3a{~=2BJ8`to z!w#O6}m5$i!9&khg8nrm(}=xj|P$ zOxa!nSL6V<3l%h4Nmr_|9IFu|Y^(7I{~l$)HK;=^Pt@@_w1ekDJXue$8VF4zen>z> mF;p{{eS}Yd=%Y+MUg91cP|5`;dm*trh=eGTqulY~<^KbEeMYkY literal 0 HcmV?d00001 diff --git a/bwie-common/target/maven-archiver/pom.properties b/bwie-common/target/maven-archiver/pom.properties new file mode 100644 index 0000000..b19b7dc --- /dev/null +++ b/bwie-common/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=bwie-common +groupId=com.bwie +version=1.0-SNAPSHOT diff --git a/bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..062ec68 --- /dev/null +++ b/bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,19 @@ +com\bwie\common\result\PageResult.class +com\bwie\common\domain\request\LoginRequest.class +com\bwie\common\domain\User.class +com\bwie\common\utils\TelSmsUtils.class +com\bwie\common\utils\JwtUtils.class +com\bwie\common\constants\RabbitMQQueueConstants.class +com\bwie\common\utils\StringUtils.class +com\bwie\common\constants\JwtConstants.class +com\bwie\common\domain\request\NewRequest.class +com\bwie\common\constants\Constants.class +com\bwie\common\domain\response\NewResponse.class +com\bwie\common\constants\TokenConstants.class +com\bwie\common\utils\OssUtil.class +com\bwie\common\result\Result.class +com\bwie\common\domain\New.class +com\bwie\common\config\RedisConfig.class +com\bwie\common\utils\FastUtil.class +com\bwie\common\constants\RabbitName.class +com\bwie\common\domain\response\JwtResponse.class diff --git a/bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..d8564f7 --- /dev/null +++ b/bwie-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,19 @@ +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\constants\JwtConstants.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\domain\response\NewResponse.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\domain\request\NewRequest.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\utils\JwtUtils.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\utils\OssUtil.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\utils\StringUtils.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\constants\RabbitName.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\utils\FastUtil.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\result\Result.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\constants\Constants.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\constants\RabbitMQQueueConstants.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\config\RedisConfig.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\domain\request\LoginRequest.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\domain\response\JwtResponse.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\domain\User.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\domain\New.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\result\PageResult.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\constants\TokenConstants.java +D:\zhuangao5\new\bwie-common\src\main\java\com\bwie\common\utils\TelSmsUtils.java diff --git a/bwie-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/bwie-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/bwie-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-gateway/pom.xml b/bwie-gateway/pom.xml new file mode 100644 index 0000000..553b5be --- /dev/null +++ b/bwie-gateway/pom.xml @@ -0,0 +1,44 @@ + + + + day4-zy + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-gateway + + + + + + + com.bwie + bwie-common + + + + + + org.springframework.cloud + spring-cloud-starter-gateway + + + + + com.alibaba.cloud + spring-cloud-alibaba-sentinel-gateway + + + + + com.alibaba.csp + sentinel-spring-cloud-gateway-adapter + + + + + diff --git a/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApp.java b/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApp.java new file mode 100644 index 0000000..962bc29 --- /dev/null +++ b/bwie-gateway/src/main/java/com/bwie/gateway/GatewayApp.java @@ -0,0 +1,11 @@ +package com.bwie.gateway; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class GatewayApp { + public static void main(String[] args) { + SpringApplication.run(GatewayApp.class); + } +} diff --git a/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java b/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java new file mode 100644 index 0000000..5705d6f --- /dev/null +++ b/bwie-gateway/src/main/java/com/bwie/gateway/config/IgnoreWhiteConfig.java @@ -0,0 +1,32 @@ +package com.bwie.gateway.config; + +import com.alibaba.fastjson.JSONObject; +import lombok.Data; +import lombok.extern.log4j.Log4j2; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: 放行白名单配置 + * @author DongZl + */ +@Configuration +@RefreshScope +@ConfigurationProperties(prefix = "ignore") +@Data +@Log4j2 +public class IgnoreWhiteConfig { + /** + * 放行白名单配置,网关不校验此处的白名单 + */ + private List whites = new ArrayList<>(); + + public void setWhites(List whites) { + log.info("加载网关路径白名单:{}", JSONObject.toJSONString(whites)); + this.whites = whites; + } +} diff --git a/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java b/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java new file mode 100644 index 0000000..3afd7d6 --- /dev/null +++ b/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java @@ -0,0 +1,99 @@ +package com.bwie.gateway.filters; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.constants.TokenConstants; +import com.bwie.common.utils.JwtUtils; +import com.bwie.common.utils.StringUtils; +import com.bwie.gateway.config.IgnoreWhiteConfig; +import com.bwie.gateway.utils.GatewayUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.gateway.filter.GatewayFilterChain; +import org.springframework.cloud.gateway.filter.GlobalFilter; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.http.HttpStatus; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.stereotype.Component; +import org.springframework.core.Ordered; +import org.springframework.web.server.ServerWebExchange; +import reactor.core.publisher.Mono; + +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * @ClassName: + * @Description: 网关过滤器 过滤用户的请求 验证 token gateway 全局过滤器 + * @Author: zhuwenqiang + * @Date: 2023/6/19 + */ +@Component +public class AuthFilter implements GlobalFilter, Ordered { + + @Autowired + private IgnoreWhiteConfig ignoreWhitesConfig; + + @Autowired + private RedisTemplate redisTemplate; + + /** + * 过滤方法 + * @param exchange 请求上下文 + * @param chain 过滤器链 + * @return + */ + @Override + public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { + // 判断 当前的请求 是否 是 白名单 请求 + // 获取 系统定义的白名单 请求 + List whites = ignoreWhitesConfig.getWhites(); + // 获取 当前请求的 URI + ServerHttpRequest request = exchange.getRequest(); + String path = request.getURI().getPath(); + if (StringUtils.matches(path, whites)) { + // 白名单请求 放行 + return chain.filter(exchange); + } + // token 非空 + String token = request.getHeaders().getFirst(TokenConstants.TOKEN); + if (StringUtils.isEmpty(token)) { + return GatewayUtils.errorResponse(exchange, "token不能为空!", HttpStatus.UNAUTHORIZED); + } + // token 合法性 如果token 是假的的 方法就会抛出异常 + try { + JwtUtils.parseToken(token); + } catch (Exception e) { + return GatewayUtils.errorResponse(exchange, "token不合法!"); + } + // token 有效 【是否过期】 + // 获取 UserKey + String userKey = JwtUtils.getUserKey(token); + Boolean hasKey = redisTemplate.hasKey(TokenConstants.LOGIN_TOKEN_KEY + userKey); + if (null == hasKey || !hasKey) { + return GatewayUtils.errorResponse(exchange, "token过期!"); + } + + // String jsonStr = redisTemplate.opsForValue().get(TokenConstants.LOGIN_TOKEN_KEY + userKey); + // SysUser sysUser = JSONObject.parseObject(jsonStr, SysUser.class); + + // Date lastLoginTime = sysUser.getLastLoginTime(); + + // long between = DateUtil.between(lastLoginTime, new Date(), DateUnit.MINUTE); + // if (between >= 10) { + // redisTemplate.expire(TokenConstants.LOGIN_TOKEN_KEY + userKey, 15, TimeUnit.MINUTES); + // } + // 验证通过放行 + return chain.filter(exchange); + } + + /** + * 指定当前过滤器执行顺序 数值越小执行优先级越高 + * @return + */ + @Override + public int getOrder() { + return 0; + } +} diff --git a/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java b/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java new file mode 100644 index 0000000..7b789e5 --- /dev/null +++ b/bwie-gateway/src/main/java/com/bwie/gateway/utils/GatewayUtils.java @@ -0,0 +1,98 @@ +package com.bwie.gateway.utils; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.result.Result; +import com.bwie.common.utils.StringUtils; +import lombok.extern.log4j.Log4j2; +import org.springframework.core.io.buffer.DataBuffer; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.ServerHttpResponse; +import org.springframework.web.server.ServerWebExchange; +import reactor.core.publisher.Mono; + +/** + * @author DongZl + * @description: 网关处理工具类 + */ +@Log4j2 +public class GatewayUtils { + /** + * 添加请求头参数 + * @param mutate 修改对象 + * @param key 键 + * @param value 值 + */ + public static void addHeader(ServerHttpRequest.Builder mutate, String key, Object value) { + if (StringUtils.isEmpty(key)){ + log.warn("添加请求头参数键不可以为空"); + return; + } + if (value == null) { + log.warn("添加请求头参数:[{}]值为空",key); + return; + } + String valueStr = value.toString(); + mutate.header(key, valueStr); + log.info("添加请求头参数成功 - 键:[{}] , 值:[{}]", key , value); + } + + /** + * 删除请求头参数 + * @param mutate 修改对象 + * @param key 键 + */ + public static void removeHeader(ServerHttpRequest.Builder mutate, String key) { + if (StringUtils.isEmpty(key)){ + log.warn("删除请求头参数键不可以为空"); + return; + } + mutate.headers(httpHeaders -> httpHeaders.remove(key)).build(); + log.info("删除请求头参数 - 键:[{}]",key); + } + + /** + * 错误结果响应 + * @param exchange 响应上下文 + * @param msg 响应消息 + * @return + */ + public static Mono errorResponse(ServerWebExchange exchange, String msg, HttpStatus httpStatus) { + ServerHttpResponse response = exchange.getResponse(); + //设置HTTP响应头状态 + response.setStatusCode(httpStatus); + //设置HTTP响应头文本格式 + response.getHeaders().add(HttpHeaders.CONTENT_TYPE, "application/json"); + //定义响应内容 + Result result = Result.error(msg); + String resultJson = JSONObject.toJSONString(result); + log.error("[鉴权异常处理]请求路径:[{}],异常信息:[{}],响应结果:[{}]", exchange.getRequest().getPath(), msg, resultJson); + DataBuffer dataBuffer = response.bufferFactory().wrap(resultJson.getBytes()); + //进行响应 + return response.writeWith(Mono.just(dataBuffer)); + } + + /** + * 错误结果响应 + * @param exchange 响应上下文 + * @param msg 响应消息 + * @return + */ + public static Mono errorResponse(ServerWebExchange exchange, String msg) { + ServerHttpResponse response = exchange.getResponse(); + //设置HTTP响应头状态 + response.setStatusCode(HttpStatus.OK); + //设置HTTP响应头文本格式 + response.getHeaders().add(HttpHeaders.CONTENT_TYPE, "application/json"); + //定义响应内容 + Result result = Result.error(msg); + String resultJson = JSONObject.toJSONString(result); + log.error("[鉴权异常处理]请求路径:[{}],异常信息:[{}],响应结果:[{}]", exchange.getRequest().getPath(), msg, resultJson); + DataBuffer dataBuffer = response.bufferFactory().wrap(resultJson.getBytes()); + //进行响应 + return response.writeWith(Mono.just(dataBuffer)); + } + + +} diff --git a/bwie-gateway/src/main/resources/bootstrap.yml b/bwie-gateway/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..5b1a714 --- /dev/null +++ b/bwie-gateway/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 18080 +# Spring +spring: + application: + # 应用名称 + name: bwie-gateway + profiles: + # 环境配置 + active: dev + main: + # 允许使用循环引用 + allow-circular-references: true + # 允许定义相同的bean对象 去覆盖原有的 + allow-bean-definition-overriding: true + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-gateway/target/bwie-gateway-1.0-SNAPSHOT.jar b/bwie-gateway/target/bwie-gateway-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..3c9dab9888822ae430a17a22231a48822f1968ab GIT binary patch literal 9292 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 O2k&u_Cwltr+y4Okh=-5> literal 0 HcmV?d00001 diff --git a/bwie-gateway/target/classes/bootstrap.yml b/bwie-gateway/target/classes/bootstrap.yml new file mode 100644 index 0000000..5b1a714 --- /dev/null +++ b/bwie-gateway/target/classes/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 18080 +# Spring +spring: + application: + # 应用名称 + name: bwie-gateway + profiles: + # 环境配置 + active: dev + main: + # 允许使用循环引用 + allow-circular-references: true + # 允许定义相同的bean对象 去覆盖原有的 + allow-bean-definition-overriding: true + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-gateway/target/classes/com/bwie/gateway/GatewayApp.class b/bwie-gateway/target/classes/com/bwie/gateway/GatewayApp.class new file mode 100644 index 0000000000000000000000000000000000000000..47ed25b2c77af5e2fa556e1356d79543fcebf918 GIT binary patch literal 743 zcmaJ<%Wl*#6g{3-+RVU|DHKX6h~2acykS!XRcc3SH{l@$4GUII>ZUGn6c?gw}fViOMoY%z3RD6QN+Lvy$@ zVQ7uaiDc-5Y^Oi7*zCuialKc4G@ z=`qR_QFNg9@7w&H56UVeO@KXXfOMu%eJoT5=4>rn0F# zQa-W%O{iy{oniBBrJX9|M3stiJkKXr97Ccp8$e zsFBHVp^u|nlx4J}bvsK-r3#(AbbNGOsh{RT2r_#(!c#Qpx%jUEdL;-*uF#2-W~AG@ zU%)=s@G8kpZ4407zBhM3mv+D^Zs9hO_{)1W8PFXxn%~j9@gtOO&5Kv Xk^K(+ZJIWz1_rfU$6eAs@;%@e8d|-e literal 0 HcmV?d00001 diff --git a/bwie-gateway/target/classes/com/bwie/gateway/config/IgnoreWhiteConfig.class b/bwie-gateway/target/classes/com/bwie/gateway/config/IgnoreWhiteConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..a84d0200dec19a49eeccf18abe06212fb4622641 GIT binary patch literal 2590 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 + + + bwie-moudels + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-es + + + + com.bwie + bwie-common + + + org.springframework.boot + spring-boot-starter-web + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/EsApp.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/EsApp.java new file mode 100644 index 0000000..b378a12 --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/EsApp.java @@ -0,0 +1,15 @@ +package com.bwie.es; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; + +@SpringBootApplication +@EnableFeignClients +@EnableScheduling +public class EsApp { + public static void main(String[] args) { + SpringApplication.run(EsApp.class); + } +} diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/config/InitElasticSearchRestHighClient.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/config/InitElasticSearchRestHighClient.java new file mode 100644 index 0000000..813a8b2 --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/config/InitElasticSearchRestHighClient.java @@ -0,0 +1,33 @@ +package com.bwie.es.config; + +import lombok.Data; +import org.apache.http.HttpHost; +import org.elasticsearch.client.RestClient; +import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @ClassName: + * @Description: 初始化es 客户端 然后通过 客户端 操作es + * @Author: zhuwenqiang + * @Date: 2023/9/23 + */ +@Configuration +@ConfigurationProperties(prefix = "es") +@Data +public class InitElasticSearchRestHighClient { + + private String host; + private int port; + private String scheme; + + @Bean + public RestHighLevelClient init() { + return new RestHighLevelClient( + RestClient.builder(new HttpHost(host, port, scheme)) + ); + } + +} diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/controller/EsController.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/controller/EsController.java new file mode 100644 index 0000000..d7d9557 --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/controller/EsController.java @@ -0,0 +1,34 @@ +package com.bwie.es.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; +import com.bwie.es.service.EsService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +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 EsController { + @Autowired + EsService esService; + @Autowired + HttpServletRequest request; + + @PostMapping("/search") + public Result> search(@RequestBody NewRequest newRequest){ + log.info("执行操作:高量查询列表,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(newRequest)); + Result> result=esService.search(newRequest); + log.info("执行操作:高量查询列表,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(result)); + return result; + } +} diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/feign/NewFeignService.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/feign/NewFeignService.java new file mode 100644 index 0000000..98e845e --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/feign/NewFeignService.java @@ -0,0 +1,14 @@ +package com.bwie.es.feign; + +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +@FeignClient("bwie-new") +public interface NewFeignService { + @GetMapping("/findAll") + public Result> findAll(); +} diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsService.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsService.java new file mode 100644 index 0000000..4857a91 --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsService.java @@ -0,0 +1,14 @@ +package com.bwie.es.service; + +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; + +import java.util.List; + +public interface EsService { + void batchAdd(List data); + + Result> search(NewRequest newRequest); +} diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsServiceimpl.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsServiceimpl.java new file mode 100644 index 0000000..0abe0b1 --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/service/EsServiceimpl.java @@ -0,0 +1,137 @@ +package com.bwie.es.service; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SimplePropertyPreFilter; +import com.bwie.common.constants.TokenConstants; +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; +import com.bwie.common.utils.JwtUtils; +import com.bwie.common.utils.StringUtils; +import netscape.javascript.JSObject; +import org.elasticsearch.action.bulk.BulkRequest; +import org.elasticsearch.action.index.IndexRequest; +import org.elasticsearch.action.search.SearchRequest; +import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; +import org.elasticsearch.common.text.Text; +import org.elasticsearch.common.xcontent.XContentType; +import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.search.SearchHit; +import org.elasticsearch.search.SearchHits; +import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; +import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; +import org.elasticsearch.search.sort.SortOrder; +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.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class EsServiceimpl implements EsService{ + @Autowired + RestHighLevelClient restHighLevelClient; + private static final String INDEX_NAME="new"; + @Autowired + RedisTemplate redisTemplate; + @Autowired + HttpServletRequest request; + @Override + public void batchAdd(List data) { + BulkRequest bulkRequest = new BulkRequest(INDEX_NAME); + SimplePropertyPreFilter filter = new SimplePropertyPreFilter(); + filter.getExcludes().add("id"); + try { + data.forEach(item->{ + bulkRequest.add( + new IndexRequest() + .id(item.getId()+"") + .source(JSONObject.toJSONString(item,filter), XContentType.JSON) + ); + }); + restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + @Override + public Result> search(NewRequest newRequest) { + long total=0; + ArrayList newResponses = new ArrayList<>(); + try { + SearchRequest searchRequest = new SearchRequest(INDEX_NAME); + SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); + BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); + + if (StringUtils.isNotEmpty(newRequest.getNewZz())){ + boolQuery.must(QueryBuilders.matchQuery("newZz",newRequest.getNewZz())); + } + if (newRequest.getBeginTime()!=null){ + boolQuery.must(QueryBuilders.rangeQuery("newDate").gte(newRequest.getBeginTime().getTime())); + } + if (newRequest.getEndTime()!=null){ + boolQuery.must(QueryBuilders.rangeQuery("newDate").lte(newRequest.getEndTime().getTime())); + } + searchSourceBuilder.query(boolQuery); + searchSourceBuilder.size(newRequest.getPageSize()); + searchSourceBuilder.from((newRequest.getPageNum()-1)*newRequest.getPageSize()); + searchSourceBuilder.sort("newDate", SortOrder.DESC); + Integer role = info().getRole(); + if (role==1){ + newRequest.setCreateId(info().getUserId()); + } + searchSourceBuilder.highlighter( + new HighlightBuilder() + .field("newZz") + .postTags("") + .preTags("") + ); + searchRequest.source(searchSourceBuilder); + SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); + SearchHits hits = searchResponse.getHits(); + total = hits.getTotalHits().value; + SearchHit[] hits1 = hits.getHits(); + for (SearchHit hit : hits1) { + Map highlightFields = hit.getHighlightFields(); + String sourceAsString = hit.getSourceAsString(); + NewResponse newResponse = JSONObject.parseObject(sourceAsString, NewResponse.class); + if (highlightFields!=null){ + HighlightField highlightField = highlightFields.get("newZz"); + if (highlightField!=null){ + StringBuilder sb = new StringBuilder(); + Text[] fragments = highlightField.getFragments(); + for (Text fragment : fragments) { + sb.append(fragment); + } + newResponse.setNewZz(sb.toString()); + } + } + newResponse.setId(hit.getId()); + newResponses.add(newResponse); + } + + }catch (Exception e){ + e.printStackTrace(); + } + return PageResult.toResult(total,newResponses); + } + + + public User info() { + String token = request.getHeader(TokenConstants.TOKEN); + String userKey = JwtUtils.getUserKey(token); + String jsonKeyStr = redisTemplate.opsForValue().get(TokenConstants.LOGIN_TOKEN_KEY + userKey); + return JSONObject.parseObject(jsonKeyStr,User.class); + } +} diff --git a/bwie-moudels/bwie-es/src/main/java/com/bwie/es/sync/Async.java b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/sync/Async.java new file mode 100644 index 0000000..048672c --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/java/com/bwie/es/sync/Async.java @@ -0,0 +1,37 @@ +package com.bwie.es.sync; + +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.bwie.common.domain.New; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.Result; +import com.bwie.es.feign.NewFeignService; +import com.bwie.es.service.EsService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +@Component +@Log4j2 +public class Async { + @Autowired + NewFeignService newFeignService; + @Autowired + EsService esService; + + @Scheduled(cron = "0 */1 * * * *") + public void async(){ + Result> all = newFeignService.findAll(); + List data = all.getData(); + if (!CollectionUtils.isEmpty(data)){ + log.info("查询到:{}条数据,开始同步...",data.size()); + long s = System.currentTimeMillis(); + esService.batchAdd(data); + log.info("数据同步完成,用时:{}毫秒",System.currentTimeMillis()-s); + } + + } +} diff --git a/bwie-moudels/bwie-es/src/main/resources/bootstrap.yml b/bwie-moudels/bwie-es/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..78ff92e --- /dev/null +++ b/bwie-moudels/bwie-es/src/main/resources/bootstrap.yml @@ -0,0 +1,22 @@ +server: + port: 9006 +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd + time-zone: GMT+8 + application: + name: bwie-es + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + serverAddr: 111.229.36.192:8848 + config: + serverAddr: 111.229.36.192:8848 + fileExtension: yml + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-moudels/bwie-es/target/bwie-es-1.0-SNAPSHOT.jar b/bwie-moudels/bwie-es/target/bwie-es-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..2caa73b97589771e2160940b416f0fb7ecfa187d GIT binary patch literal 12749 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 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-es/target/classes/bootstrap.yml b/bwie-moudels/bwie-es/target/classes/bootstrap.yml new file mode 100644 index 0000000..78ff92e --- /dev/null +++ b/bwie-moudels/bwie-es/target/classes/bootstrap.yml @@ -0,0 +1,22 @@ +server: + port: 9006 +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd + time-zone: GMT+8 + application: + name: bwie-es + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + serverAddr: 111.229.36.192:8848 + config: + serverAddr: 111.229.36.192:8848 + fileExtension: yml + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-moudels/bwie-es/target/classes/com/bwie/es/EsApp.class b/bwie-moudels/bwie-es/target/classes/com/bwie/es/EsApp.class new file mode 100644 index 0000000000000000000000000000000000000000..b7dcafb7229a7f42d36ba71fb34505d93f8ec5f7 GIT binary patch literal 848 zcmZ`%OK%e~5dNIk(oN_ig+h7vmiB-z96(!DDp7k14-pg&oV*)nwFTaz_l!!TyAy zH8fMnurX3vzAW=t+P5OkNYfvgL}U|Tm47dlEjL#M!}cgKIgihkE=_?g>CfW9%9jl@Q4~?l zFYVX1M~pi8$?@TmSggrE99{p;7#t;FW*XYGbGLr3sFJPZ5^BSF=mX?oiXq?s_80Kdf- z-{ge{SxZ`%EM5A7YxzU`6(a64Gf8P11s3GqbIv{YoOAct_fG%(=jUGmjNq<`%O+-9 zkii!+%*imHK>}AY_!0{lXt842En7Ea}9$ZVqk$EYN zg3QZls5DkYTs2YDpclPrprIpw+qvi1C8xY<&j-F+ULE6F#q+tQO>0P13q`f2XmiUh zZ6|X5dCy<9RmrIaZlS6izfiObC0CULdrnn@DR;G)SNBwDBD6`g32&JJ+VXB$U8=1u zDgTPIRHCIL?-iWVg5$fQ$3{IUx>XG$`GU7*FWq;Qt*UmxE3de#_B2bFj1td>iR%d) zxw3P$a^SA11-I%l=Gk)D3!K39$_zOi7GAB$Ay<57P2KnWI}$oj4+7h1xZ3BGQ)b<% z({ki98j`vG1r6q^3Z_EL_7Q_7sENaD2pl&Mx)$p5F?wdTzPU5EbFYMNpHV^4Tb^~K zvOxJPST;og_1v`hw9rtGm{NCZPKjPy0$yIatqQ?d|8;iH+uGfDNrT}9MddS^Al(4H<9l!7#*i%zu|wcMDUo1U2@lD?|e zN@R}_XE6Kf;nIN@(N05V-mCcqb-@*G^u40j$E5)pPQGqWCqf3*{E!T6?qt)AOP&`r z7*X-Pit+=O{M)j7wqX~NRD8AKKG2X*?8VTVTn!C9;_g%&lEf|sLB*cpARM!B0KFCt z;*f>IBK5;HaofTjltfvRVL-$CZ+=NEoWn;JhH>1&AcicQ6x9}K0>?FUZ)f(onp;{H zz8rf+OL9V`aSLUTdFId&c|=0BLaq%Ri8?+`V)k2@!VoFHnJOZuhFp`|G2Q&a9Q|Lc zqZfg7EY-`O&fN%m-VE=tS3GJ_v=|9?-Oh!f{__#s>MvI}Wp{5QaI*aW@ly;SMo)ALl-55}1Mb?;XzX@|U6|$5|6{a+HKN zXYn%zHqi2zLIM&{T!FnW1v275ny_-mX4bb^O|-eI>1Oh}$!7i0w#?m4H}e)W*=%gj z+|zXP3A`7BJjyvCha4Duf@JeUcSRoYp#>0WA8$1G85)&#Dj)DqgQ#ztArCx({< z6CRA$%}oD|-6lS@o}K6Y9k?`hVfiFy>OP6tok&ktlwQT@q)Bln}}w7L$|`*oPCiz#^0Uo^<0gN_vRXMd&XGmQI{B zjnF{TUeIY%Pl%xtM%|(Aqi;3QjrsVoh|heJIpyIPd5S%Y8|diRyN-QwU``#Kk!-D_ rtD`%T+r-|(VIA4+xA^79XCyvj0@IA1z{T)AYoqiz^*nRVRB`EFm7-zv literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-es/target/classes/com/bwie/es/controller/EsController.class b/bwie-moudels/bwie-es/target/classes/com/bwie/es/controller/EsController.class new file mode 100644 index 0000000000000000000000000000000000000000..e1a901e71a577197f73caea8b76d6af6db059339 GIT binary patch literal 2280 zcmb_eTW=dx5dPLqvaz%2C6q#&Hn);CH@aL>C`lSfLrO1p5)zsho{sGkXTy5e?5-0c z#7kcQ36uxK<)IQ334z2zTR>`qfFHo`AXfS(5a03Iu3aZ364=^v&dko4`DV_{oc;6f zU;h9wiZ|nE$MZ3?;e}SbsOHf&oWo0McsY*qc%=Q~IVKvdx)_ z0Hu#D6r8}y$tBCTQns9O95)bw%C*9q;Pz5S)>Ek+b~6S zgE>_Q+;z*78LHJi`EEh_frc}QRk0@CD;c+CV6Fr~-n`5~fh1!g6y%`)ChCnlRcQ^w4dQ#N zCZteT-Jz8cJ!<7>eFQf0l_>ZP7VEZ7?DcwHWM$|>qevCApJ!IcFdpH0e3E|+hmtZ_ zaWnHmKnE!Ye!Y-#j?CYo@Qul$o-eOl^|SyMB-q`8-R4 zo;R-vyFeFprgxZ6ef9NJjY(Z$?cZEE^DerX4Vr76NZaKai7&bZFD)-wsv-{8X7^cD zZ+jK*ZZ7fQgPP(na1>7&IDmt!j^fAP@7(&N_}Qm_{eE-o!H-`(_;9oM^>;hBzuo@m z%bi<4jO^ULSG;@U`a)vt{SV4S@r$kP-!>o8+nYCvpWh*E;0T`7F>T;=%owgitRrdQB)T-5s%>6-)Uu9Q19O;X7An6@Td*U}rB-E{y{CU)tw%$9 zw%UiTFI>@ZWMHt=wL)!+fogyZe~e;bs0uhbfNqvW7fYe11h6Lr zQ3gmjeBVQ$!{}q2`smUr>QQcloM*`CCx=kGIi2Pc!I@Iv4p3--&*0n8d<<~|psNUt qaM6lqt8wckPyJ#YZTDgPjEIUIzY{oyvFo7Dv!o&napg#!1O5R7A(egr literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-es/target/classes/com/bwie/es/feign/NewFeignService.class b/bwie-moudels/bwie-es/target/classes/com/bwie/es/feign/NewFeignService.class new file mode 100644 index 0000000000000000000000000000000000000000..f15ed1202e4815eaf7a332cb5b82994f71874480 GIT binary patch literal 506 zcmah`O-lnY5S`Sv+YhZ3ym<7c2OWgoT7)9h%c{_V7f;#kbV*f0Q`8 zLJulP2$`ApX5P%?93M95 NVS^4CIjT_)qc0zNm2&_9 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-es/target/classes/com/bwie/es/service/EsService.class b/bwie-moudels/bwie-es/target/classes/com/bwie/es/service/EsService.class new file mode 100644 index 0000000000000000000000000000000000000000..879d5a8300c0a6859675b5ffbfee8eae290f57b7 GIT binary patch literal 577 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 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-es/target/classes/com/bwie/es/sync/Async.class b/bwie-moudels/bwie-es/target/classes/com/bwie/es/sync/Async.class new file mode 100644 index 0000000000000000000000000000000000000000..b386ddcbdb62cf176d1e40b10098037e0399e051 GIT binary patch literal 2193 zcmbtV>u(fQ6#v~mn07lryG0Zcp**BrY6r9+vK1@^w73Ojp(?((JA1pmWp<{SnWd@5 z#E&FGLX5`5#28HoCPu(Vuoz?f>>uH`F8&i5e|NTQw-51yyUE;p&pG#;-+A8O|Ni+` z0D}lp=*Bbc=)%DcJc~mqWHDsnxfBlLh#^1UhT#sh;%EvZIM#vVIFZ5&c+v1iJ8%*& zwIP?n7*1I@ox;m_#ljhZW-llS^yGrDh5K`dh(_>sWD#BMYl z(%wWU%W5VFFFFM!ed?2L9E7uutY2`3D{(NRLsg{Ob`{luY+V8*s^N2v-xr|tnj!7$ z_%QwL?HdQtp%P~llgYy#RYAR2ndRale8i|PoM!7162-uCsa|zi=8vc!h0=68B2lA+?2c|ol2}dC#R#BoQ+F? z%ue42b72w1YD$NesTx`#UJS}oCs3xD17$KsJjp(Ln16vI|5Jy++I%eCi(_&+iJ*l% zD^+0ss@aZMbH$2hDy|{b`5HAzb&DGYK9%m>mT~rN%hdh?Z9^_^C0R}7gG%VC6WZi3 zm1JeWgj682y3JUHDu@|XXCx@ocjd=f8;@a&jg5HN!dV;VFizk$Ud3wy>y{?S!s|B9 z;|&`d@Q}c+>KE7ly!F-m<=cned%ybmm(@>hSFhgepa129`5Pb3U%OKM_WHoUfQ>it zmW8)%yn_oCq>Tbx3q>0W6E+^jW(y@7lh6X&Ybt7Y=WkxAUcT0U@8hqlpWZPRZhdp_ z#zz*WjHZjMmBuzSg;=Xg3!aTK7`e^_y(bys(}gMJ#sXXFcUG$+PJ}xD-&$M1n$Ui6 z*i?E?Z{LbKTVCr{NyW#Ka^FDd<%n2z1IDEEbU_xR<4ZS)oCR#AF(PKl^N5|3Ni1^3w%!e?%tD)t{Ni!-0>hk$D}WlfVDG| zwP!(Ku+iZWPexI;FKM|4JtpYkqtwlJt(jHN4&n}`@4z9;-5Rc&5*mAA8LgRTwkf}l zQ^MgYxVC0~g7}V`CT!)`C;$y?J$KOZ z8(PQu=dk889QYnqx~=~%+6Cs2x{HoxuJ%#NuO)R|6O6!ml6uq}IupJD(UO4JjyCQ$ zBSpMv8r?*r{p9Q=tV4v8!_EX?hVpwUvlF`*55if1YTofDu$z$6eCvDBN7xziH*&4< z_SAX(q&-Pq2gF~3ZaPNHo9pbk`ixKfp4;S?K)MqL-%1 NL7tkhzn+u>z&{zfQ6c~U literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-es/target/maven-archiver/pom.properties b/bwie-moudels/bwie-es/target/maven-archiver/pom.properties new file mode 100644 index 0000000..d75f30b --- /dev/null +++ b/bwie-moudels/bwie-es/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=bwie-es +groupId=com.bwie +version=1.0-SNAPSHOT diff --git a/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..fbb84d5 --- /dev/null +++ b/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,7 @@ +com\bwie\es\controller\EsController.class +com\bwie\es\service\EsService.class +com\bwie\es\sync\Async.class +com\bwie\es\feign\NewFeignService.class +com\bwie\es\service\EsServiceimpl.class +com\bwie\es\EsApp.class +com\bwie\es\config\InitElasticSearchRestHighClient.class diff --git a/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..84a4c6c --- /dev/null +++ b/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,7 @@ +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\service\EsService.java +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\EsApp.java +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\sync\Async.java +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\service\EsServiceimpl.java +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\feign\NewFeignService.java +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\controller\EsController.java +D:\zhuangao5\new\bwie-moudels\bwie-es\src\main\java\com\bwie\es\config\InitElasticSearchRestHighClient.java diff --git a/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/bwie-moudels/bwie-es/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-moudels/bwie-new/pom.xml b/bwie-moudels/bwie-new/pom.xml new file mode 100644 index 0000000..3cb2659 --- /dev/null +++ b/bwie-moudels/bwie-new/pom.xml @@ -0,0 +1,50 @@ + + + + bwie-moudels + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-new + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + diff --git a/bwie-moudels/bwie-new/src/main/java/com/bwie/student/NewApp.java b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/NewApp.java new file mode 100644 index 0000000..02079fa --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/NewApp.java @@ -0,0 +1,11 @@ +package com.bwie.student; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class NewApp { + public static void main(String[] args) { + SpringApplication.run(NewApp.class); + } +} diff --git a/bwie-moudels/bwie-new/src/main/java/com/bwie/student/controller/NewController.java b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/controller/NewController.java new file mode 100644 index 0000000..bfb674c --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/controller/NewController.java @@ -0,0 +1,45 @@ +package com.bwie.student.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; +import com.bwie.student.service.NewService; +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; +import java.util.List; + +@RestController +@Log4j2 +public class NewController { + @Autowired + NewService newService; + @Autowired + HttpServletRequest request; + @GetMapping("/findAll") + public Result> findAll(){ + log.info("执行操作:查询列表,请求URL:{},请求方式:{}",request.getRequestURI(), + request.getMethod()); + List list=newService.findAll(); + log.info("执行操作:查询列表,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(list)); + return Result.success(list); + } + + @PostMapping("/list") + public Result> list(@RequestBody NewRequest newRequest){ + log.info("查询列表,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(newRequest)); + Result> result=newService.list(newRequest); + log.info("查询列表,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(),JSONObject.toJSONString(result)); + return result; + } +} diff --git a/bwie-moudels/bwie-new/src/main/java/com/bwie/student/mapper/NewMapper.java b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/mapper/NewMapper.java new file mode 100644 index 0000000..5d97062 --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/mapper/NewMapper.java @@ -0,0 +1,14 @@ +package com.bwie.student.mapper; + +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface NewMapper { + List findAll(); + + List list(NewRequest newRequest); +} diff --git a/bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewService.java b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewService.java new file mode 100644 index 0000000..2fcd631 --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewService.java @@ -0,0 +1,14 @@ +package com.bwie.student.service; + +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; + +import java.util.List; + +public interface NewService { + List findAll(); + + Result> list(NewRequest newRequest); +} diff --git a/bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewServiceimpl.java b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewServiceimpl.java new file mode 100644 index 0000000..7146f2c --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/java/com/bwie/student/service/NewServiceimpl.java @@ -0,0 +1,31 @@ +package com.bwie.student.service; + +import com.bwie.common.domain.request.NewRequest; +import com.bwie.common.domain.response.NewResponse; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; +import com.bwie.student.mapper.NewMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class NewServiceimpl implements NewService{ + @Autowired + NewMapper newMapper; + @Override + public List findAll() { + return newMapper.findAll(); + } + + @Override + public Result> list(NewRequest newRequest) { + PageHelper.startPage(newRequest.getPageNum(),newRequest.getPageSize()); + List list=newMapper.list(newRequest); + PageInfo info = new PageInfo<>(); + return PageResult.toResult(info.getTotal(),list); + } +} diff --git a/bwie-moudels/bwie-new/src/main/resources/bootstrap.yml b/bwie-moudels/bwie-new/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..e81ba61 --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 9003 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-new + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-moudels/bwie-new/src/main/resources/mapper/NewMapper.xml b/bwie-moudels/bwie-new/src/main/resources/mapper/NewMapper.xml new file mode 100644 index 0000000..afdda5f --- /dev/null +++ b/bwie-moudels/bwie-new/src/main/resources/mapper/NewMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/bwie-moudels/bwie-new/target/bwie-new-1.0-SNAPSHOT.jar b/bwie-moudels/bwie-new/target/bwie-new-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..e95161b3f3d6b7cac18c4da84958160973364c49 GIT binary patch literal 7216 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 g3)Twoe`LKl7!+lIuo(pa0K_oCTGXf zX+(g9P?}+L@HxH|*MjFlXME(W(pgj!3Y!tc`Vu$8+FR)^%;deWqL5Bn3Jgc4vZ*{( zKB?}U=9NdLG(J??sX~rbsVK)|t&I~-8BN!YVq-I2PCf6rN1GXY#S>#37nL)q(dR0w ztmLCQDO1OAaBnhm`UPrw7+X;T zlfgp&hPf!qXi3ZVmzGJ@Ir+u$;Z2qP1s5pD?A;Oe(4Z0VUjsB52uMDl6DQ3`w-3I7 zeXZRqBs;Y+KuG)EJOEwV0V{ZjM+D+8zplZ6Zokp|iRO2-KHWit4N;Sj8II WAJgBaVIiG6#j!08L z1ki)o6dG{07WL>);+z^^s>1-ztH)p+UdAg*HdKcTxR}JH6fR>}iPI^JU^Iy_^=3SQ zS5uh4WCB+-R9a46!;!S(<_%F0*;#2&k~i(V8hhr9G*{B?)sV8~!lZPsn^~!$C7pHV zjm&~64bLy;r0pAC_|6!O)VOK?MA7!mc{y!*X2y~Ow(a=BHyzv4a4InB6pB&_mh zO+xOB)6P1!?>d$xUB!GbS}Bw>rkxwGEc&;t{lQLpZr-sCS9(RuHztCC+EtdR2-OFK zjG}K^Mw$}7*|#3iVqp!{xedB~F(Wx=UYLQc0(~wOL>dg{z5P78cGAq-!Y{fco_QF^ zzW-@X8SL3K=nFDqWazB&cwdnIh$s}89NboYU06k8Od63-(`{R`4U!`y8%%p2?tYct zrDRzb=TfvHN5+n3W`&{D&=fV7tejpyBK=t> zH!jpI^QFs7{`L`iFAnLEpgytVR2g@?@?0^(o7B9%_C)O06``FQDJ92wC$~tKCi}8h zsh*@JouZqSLuODt))j$nRh+h}beknTW9*mJ5FJnBppM6}SHsDbPkvav_36szpZ)#E z*JoC~`F{2Gcgr7twR-EvuGQQ3R_@-Inn<7d@T1aV<;$hz-*0lQV?PcgFr{M}S9QFG zs|mcW;|*NX@dWlI@TQJtyrp62znx#Qw|w))$`^NNFM+ppyn}a@36VfXM;18^r*{l^ zdgXq@5^QE;nK_wdd2QKIyU?&JAN7u@iAx&xvN%3C zZPHgwi)m0xweWKB_CKVDvc#MAj6+|v#g8hJgiw3q64kbj#@rC^yX;|WXv^D3liDgQ zGb1vB4c7DLJhq|BlVhW6&e45GEkkx1TFY^kP;Kgk;c~^2Z{qNGB2g3@BZ{2FIwjkx zSIlOm$0ByT+-?ML+wF|m(e2_iB5amgH;iof?Zc*3ZfDREp2vo=-6`se2}k%X*1+$! zN*qu(m@}vw2MtehR>SeBK*syIK~}{zFFv1*)G#<|9IHF-LA%RI1rG744p0X+@u`Oj zI83A9yctJnR&D+X)zk-ue?~<^Wyi0mT0*ska8jdT35hDTN-m*RLt1I2;#!^eQMUxW z8l3F9!{aIg2+c@xevm91$>|_}htNturwC+#;}GE}c>6*KC3vl9;gxP7%vQcr&_l^F z&e|xcKzrb!-CTF@zw;V24_%zG5Ri_dMH0jSj3~gnw*joEbuM8~#g?jFYuvgv5^E)~ zV+=$qfw!TPu+9?D5XWJz6tTl0h!QcvL3a?YPDbE4JWncX6hp}ilpN_c5-;+7LIwU5CrO-+(%}eY>aVt;{yrZ21r;hKw6c`gOCx6}t3Yp*X??)IT>quF literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-new/target/classes/com/bwie/student/mapper/NewMapper.class b/bwie-moudels/bwie-new/target/classes/com/bwie/student/mapper/NewMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..1d5d44a1ba7a19e49f93483131d6fa07812ab7a1 GIT binary patch literal 572 zcmbtRu};G<5PdFfLkpDBjgbYF1utv`q%KS;pjKjclB0Fy*dcb{-x&A+J_>P35e&e9 znC`vv-8#o+m&@cylVp%PD>IiXZDmQmaMqK&rl*e z3{95*Rk;Gs-UI xO|qsmbOi)jd~l%E7T7|Yd8cORGLNv$sK>m+{?(y*+TrAGgZ41s*yW~u;2pSQ+T zNlz)Z9PM5fcok2=;PNME=R=9wbJzA`P@R-=Xzr(kuK2@thlL+8U@)MI0}K)dN01O7 ZMg}9|DI60T6CctBu{5m{5}h{a>>J4Ztl$6u literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-new/target/classes/com/bwie/student/service/NewServiceimpl.class b/bwie-moudels/bwie-new/target/classes/com/bwie/student/service/NewServiceimpl.class new file mode 100644 index 0000000000000000000000000000000000000000..7649b4097a4260ca87031b4ba28fbabc80748ae8 GIT binary patch literal 2084 zcmb_d|56)O6#gy=ge+^NRM56kXt6dx%hg)73Z=$s+h9TwIynBhNiN~m&2HSiTc$pY z<0I&dLtCBk0emRO?`{?fENx}RKXT8xd(QdJx#w5@{^yUs0NlX3gHu>2;|<6We1H!f zT*pTa1s_}P69=E-rWJfv!siakSg^;UgC*Q5VY!6cC43=J4%AM=>-AJ5FjH@ZUD@2x zO2#H>tH8)^Dw3;vN{a$#*OS2LuG-YGZu+Vk1flVa4ue?WW<88LGVVn>=xjw^SM7w+ z53;GeAeLKR%Y@Mr>FpcHYGT429jP{9hn94p&9XqDGP@~Iyc4#Sz?*d)sMVy~RMA6^ z-UP<#VaxM3y-3@8_OWQTHQmqV9}uhPv2H2*f{i|_yFH)&N?ST;SACy|mD&0u@3AKn zqkUP|v7xxUp*w+Rl87#=IfbPcj+nA;7|3?m^>iR375A8l)Zco>FD?_W=o43zJ4z@yp=@h4<&34k1J+Gs- zmCyc=Yh-KGpx=qZMR?NNE5z+1s3%WU<2Bx2ftX96P5fv>neDK>=Gk^MDq@@b@;??K zA5K;yo2`DG@+z-x78|v*5hhVf-PN|`&m3;v1>39wm1Acu<`Y$DSP_}^`=X1tFz#X$ zr%R~1IFENr_|nB4d{x5NF7D!kU2D#M|*=Q?kHo6#O)$5zBl4& zV70)gj*3`^(=VdUJ_-!$z-)Sc!pd-0)dWT|qz(NOzfId1j!)eEbdb1QV&g@rbE;Qr zwf>+VZ^IyNovdGTyKI>8J>-(+u4BL}2UD4)Dc7@nr3w4(D{#HCa%8MuyP9y3|4XO9 z1-^%-32t&qk$mRg_VL(gN9@m=O=W1s7zW}b=9^jxCnNv35A uGmP~z|C`_AS-|_$pWv6i?8?5ZLfI^3gDf9OKm0k0=Xo2z)&1;V1O5fO*hKXJ literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-new/target/classes/mapper/NewMapper.xml b/bwie-moudels/bwie-new/target/classes/mapper/NewMapper.xml new file mode 100644 index 0000000..afdda5f --- /dev/null +++ b/bwie-moudels/bwie-new/target/classes/mapper/NewMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/bwie-moudels/bwie-new/target/maven-archiver/pom.properties b/bwie-moudels/bwie-new/target/maven-archiver/pom.properties new file mode 100644 index 0000000..3033018 --- /dev/null +++ b/bwie-moudels/bwie-new/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=bwie-new +groupId=com.bwie +version=1.0-SNAPSHOT diff --git a/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..1cd9b57 --- /dev/null +++ b/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,5 @@ +com\bwie\student\mapper\NewMapper.class +com\bwie\student\service\NewService.class +com\bwie\student\NewApp.class +com\bwie\student\service\NewServiceimpl.class +com\bwie\student\controller\NewController.class diff --git a/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..068b333 --- /dev/null +++ b/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,5 @@ +D:\zhuangao5\new\bwie-moudels\bwie-new\src\main\java\com\bwie\student\controller\NewController.java +D:\zhuangao5\new\bwie-moudels\bwie-new\src\main\java\com\bwie\student\mapper\NewMapper.java +D:\zhuangao5\new\bwie-moudels\bwie-new\src\main\java\com\bwie\student\service\NewService.java +D:\zhuangao5\new\bwie-moudels\bwie-new\src\main\java\com\bwie\student\NewApp.java +D:\zhuangao5\new\bwie-moudels\bwie-new\src\main\java\com\bwie\student\service\NewServiceimpl.java diff --git a/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/bwie-moudels/bwie-new/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-moudels/bwie-rabbit/pom.xml b/bwie-moudels/bwie-rabbit/pom.xml new file mode 100644 index 0000000..7c65123 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/pom.xml @@ -0,0 +1,37 @@ + + + + bwie-moudels + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-rabbit + + + + + com.bwie + bwie-common + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-amqp + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.9.10 + + + + + diff --git a/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/MqTest.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/MqTest.java new file mode 100644 index 0000000..67136e1 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/MqTest.java @@ -0,0 +1,11 @@ +package com.bwie.rabbit; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class MqTest { + public static void main(String[] args) { + SpringApplication.run(MqTest.class); + } +} diff --git a/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitAdminConfig.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitAdminConfig.java new file mode 100644 index 0000000..dfb03e1 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitAdminConfig.java @@ -0,0 +1,55 @@ +package com.bwie.rabbit.config; + +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * RabbitAdmin RabbitAdmin是Spring-AMQP中的核心基础组件,是我们在Spring中对RabbitMQ进行初始化的必须组件,提供了RabbitMQ中声明交换机、声明队列、绑定交换机和队列,以及绑定路由Key等其他AP + * RabbitAdmin 配置类初始化 RabbitAdmin + */ +@Configuration +public class RabbitAdminConfig { + + @Value("${spring.rabbitmq.host}") + private String host; + + @Value("${spring.rabbitmq.username}") + private String username; + + @Value("${spring.rabbitmq.password}") + private String password; + + @Value("${spring.rabbitmq.virtualhost}") + private String virtualhost; + + /** + * 初始化 rabbit mq 连接工厂 + * @return + */ + @Bean + public ConnectionFactory connectionFactory() { + CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); + connectionFactory.setAddresses(host); + connectionFactory.setUsername(username); + connectionFactory.setPassword(password); + connectionFactory.setVirtualHost(virtualhost); + return connectionFactory; + } + + /** + * 初始化 RabbitAdmin + * @param connectionFactory + * @return + */ + @Bean + public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) { + RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); + // 设置自动启动 + rabbitAdmin.setAutoStartup(true); + return rabbitAdmin; + } +} diff --git a/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitmqConfig.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitmqConfig.java new file mode 100644 index 0000000..7b55a00 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/config/RabbitmqConfig.java @@ -0,0 +1,16 @@ +package com.bwie.rabbit.config; + +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RabbitmqConfig { + // 消息转换配置 + @Bean + public MessageConverter jsonMessageConverter(){ + return new Jackson2JsonMessageConverter(); + } + +} diff --git a/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/consumer/SendSmsConsumer.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/consumer/SendSmsConsumer.java new file mode 100644 index 0000000..2882660 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/consumer/SendSmsConsumer.java @@ -0,0 +1,64 @@ +package com.bwie.rabbit.consumer; + +import cn.hutool.core.util.RandomUtil; +import com.alibaba.fastjson.JSONObject; +import com.aliyun.dysmsapi20170525.models.SendSmsResponseBody; +import com.bwie.common.constants.RabbitMQQueueConstants; +import com.bwie.common.result.Result; +import com.bwie.common.utils.TelSmsUtils; +import com.rabbitmq.client.Channel; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.MessageProperties; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.concurrent.TimeUnit; + +@Component +@Log4j2 +public class SendSmsConsumer { + + @Autowired + RedisTemplate redisTemplate; + + @RabbitListener(queuesToDeclare = {@Queue(RabbitMQQueueConstants.SENS_SMS_QUEUE)}) + public void sendSms(String phone,Message message,Channel channel){ + log.info("开始发送消息"); + String messageId = message.getMessageProperties().getMessageId(); + try { + Long l = redisTemplate.opsForSet().add(RabbitMQQueueConstants.SENS_SMS_QUEUE, messageId); + if (l==1){ + String code = RandomUtil.randomNumbers(4); + HashMap map = new HashMap<>(); + map.put("code",code); + String StringStr = TelSmsUtils.sendSms(phone, new HashMap() {{ + put("code", code); + }}); + SendSmsResponseBody sendSmsResponseBody = JSONObject.parseObject(StringStr, SendSmsResponseBody.class); + if (!"ok".equals(sendSmsResponseBody.getCode())){ + TelSmsUtils.sendSms(phone,new HashMap(){{ + put("code",code); + }}); + } + redisTemplate.opsForValue().set(phone,code,5, TimeUnit.MINUTES); + channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); + log.info("消息发送成功"+code); + }else{ + log.info("消息已发送,请勿重复发送"); + } + }catch (Exception e){ + try { + channel.basicReject(message.getMessageProperties().getDeliveryTag(),true); + redisTemplate.opsForSet().add(RabbitMQQueueConstants.SENS_SMS_QUEUE,messageId); + }catch (Exception e1){ + e1.printStackTrace(); + } + e.printStackTrace(); + } + } +} diff --git a/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DLXQueue.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DLXQueue.java new file mode 100644 index 0000000..c7a8618 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DLXQueue.java @@ -0,0 +1,84 @@ +package com.bwie.rabbit.utils; + +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/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DelayedQueue.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DelayedQueue.java new file mode 100644 index 0000000..bcfe767 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/DelayedQueue.java @@ -0,0 +1,83 @@ +package com.bwie.rabbit.utils; + +import org.springframework.amqp.AmqpException; +import org.springframework.amqp.core.*; +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 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, message -> { + message.getMessageProperties().setDelay(expiration); + return message; + }); + } + + /** + * 构建延迟交换机 + * + * @return + */ + public 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/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/TtlQueue.java b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/TtlQueue.java new file mode 100644 index 0000000..1992b93 --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/java/com/bwie/rabbit/utils/TtlQueue.java @@ -0,0 +1,64 @@ +package com.bwie.rabbit.utils; + +import org.springframework.amqp.core.*; +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"; + /** + * TTL 交换机大的名称 + */ + 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/bwie-moudels/bwie-rabbit/src/main/resources/bootstrap.yml b/bwie-moudels/bwie-rabbit/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..8a7f28a --- /dev/null +++ b/bwie-moudels/bwie-rabbit/src/main/resources/bootstrap.yml @@ -0,0 +1,43 @@ +# Tomcat +server: + port: 9008 +# Spring +spring: + rabbitmq: + host: 111.229.36.192 + port: 5672 + virtualHost: / + username: guest + password: guest + listener: + simple: + prefetch: 1 # 每次取出来一条消息消费 消费完成消费下一条 + acknowledge-mode: manual # 设置消费端手动 ack确认 + retry: + enabled: true # # 是否支持重试 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确认消息已发送到队列(Queue) + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-rabbit + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-moudels/bwie-rabbit/target/bwie-rabbit-1.0-SNAPSHOT.jar b/bwie-moudels/bwie-rabbit/target/bwie-rabbit-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..04611682a28052611ae7fe97f1e62f3b4f36c3be GIT binary patch literal 13468 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 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/bootstrap.yml b/bwie-moudels/bwie-rabbit/target/classes/bootstrap.yml new file mode 100644 index 0000000..8a7f28a --- /dev/null +++ b/bwie-moudels/bwie-rabbit/target/classes/bootstrap.yml @@ -0,0 +1,43 @@ +# Tomcat +server: + port: 9008 +# Spring +spring: + rabbitmq: + host: 111.229.36.192 + port: 5672 + virtualHost: / + username: guest + password: guest + listener: + simple: + prefetch: 1 # 每次取出来一条消息消费 消费完成消费下一条 + acknowledge-mode: manual # 设置消费端手动 ack确认 + retry: + enabled: true # # 是否支持重试 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确认消息已发送到队列(Queue) + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-rabbit + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/MqTest.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/MqTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0f7f2f34b3ae7456f45453a5c4b4d192d5bbff66 GIT binary patch literal 729 zcmZ`%OHbS|5dOTcKz3VTc@+9oZwm)};et{j!Ad=aw(6qop(iJpU`Xu6aiD*zr&g8d z59p6VjI&hTR@+#av1i8LH#44JcRzjt*u$$3ZEOU15@0jL7M=!p#?X1Av~mXw&B6AV zp*1w8l3^)UTE44_MA{RPya6@K33YPLXK6bD8)mqjT258P1g=$V>4b(JnxxDyD|2XC&oA~DrZuo&s0`f z$wzg_5jhSglU$`WK-5DA0aY=-OiJ|M+5$Z9;RRm)<$9l7$kZ|H{5O{=`wTNZi>;`C z$zY~^!(5bQG^bG)_iHeq+ix^)(fp3qr#}!OIemCouir3TEMb}K VEA+Q%6iGGEujMM%NPFgW;2r~Ax7Ppw literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/config/RabbitAdminConfig.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/config/RabbitAdminConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..7c9c706113a8f3f39ca6c6285e1ceb5007d7fefb GIT binary patch literal 1911 zcmbtVX-`u@6g^XxLR+Ek`;J-)@(^*wg^Hpd>Jrf=`fb_{@U(po=S@*#{7;$~NHp;W z_@j*HzQ<--BgPQky)*aDId{&?-2V9a^*ew`+|MA7@iZ=EkivLB1~DPtMe!!ZyCmLa z@vew>RlI9yT+bkfDf!$;<7OJS6uK9~$SLe9ztYRvYv^FXn{(C=7N!&qK5YfgZ<>l9 z`PGIg1wrVv^TQxgm@J2O!Hbq8b>8Zxc^lf-Ue)Lz^5%8Th4#ItHx_sm-Dnv?_AHB| zuz%=7vUbesYSnkmH)B%BM}@vtWNbh{g~RPh>p@9e(osa#ddI}|AQQ98zI83#NOpRx z9dt{a>Ag4nz;~3Ut1w)lKr>;TwG5X1z&vU-tHwUl6hkBnYr0X<)|c_xWVc)NsZOz6 z3!7f`t#7_TE1M=-MJrvJ=kvjySB@nRjmM8Q|YCkX|#)N3A!y$5jh<(J%6Y&7flKC78 z{1aB$Gm+O=`)G%lkw_!eonw^u1jF2r)Ka1CqRoFp?#0L|c03$qB?F_Ij016e0{#45 t9KfZRDkxe5$m38VA&T}S(v5i>|_yuq3{+s{+ literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/config/RabbitmqConfig.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/config/RabbitmqConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..e996f859ef4490f4a17d1b62a6b646492d9828c1 GIT binary patch literal 705 zcmb7C%Sr<=6g{c6t@Tm0K9?@U2WUXVjiRWaAXP!7;4(ADF}0J_Ovd_Ix)K!p06$8+ zllsPm&f-4KoO?L;lINF)CjiTsD5D!AMU0k_%ko$e;|zs0rIlM}=$f6YGvv3;nPjNc zl$Hl+97ua2f+iuuH4}ZPx>?IfRRf{KSt7WX$?C|+d0TP}( zO0`q5tgA$kzfG-;6HXaT_7;BCCW}tqI4(Y@d`k*VTIFMt+EDJOZ13v#9TpqnS}?5q zRkE{rYQ2}$J`_-7*!{<@dm_A~n=S4AdbsI79iCw@v(1}ANBl5o$k1U5d3p}nmjk^5 z6e*Ud_ycke=MDFw+UAKhg@HyZA WWxn(_Um;GWKIpkaJ`Up@tpcySv%6UU literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer$1.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer$1.class new file mode 100644 index 0000000000000000000000000000000000000000..9e53af782ca03870b227f2c9ae613a72fafb364d GIT binary patch literal 963 zcma)5OK;Oa5dPK)abir9hIe@t2-GnZOC=7VROJwXKuQ29D2U_QS&}V&q-(pq@|Tb( zNF4Y9{3yh%(?diqvE`k|?#z5U-}ukpU%vr7MYn+(Zkpwm0~@#NxZ{wqZR4(udkpns z5p}|JA{p9)Lvbv4B$6o~V^CkxV9| zIP0I;CTd?LDnDR&;jJIGTE07GsP;>6&4Ehf+aeC6{vd*=gqwyU8VjwAedeqhxD4)_ zB$2uwi7b<3?ye1@vq$J#Lz&Og$$OziEOV(TLt~_-iO360g`Y2g7P*S}Ymv={V!pqM zebsY7shv?;=uo~=<_4GkYusbge}?AEB#hFG`oF+o$20?W7sT-UcLZ>w{8LkJ6jOW@X1@f<{;Hmp3Tktd^Qa{N%a>l;-fhYjFx;T zvrJ57ucTx#N%0X6BPElZ_h*8Li+YCmidU}lB4>EET<2YID8szBRQb%)U3FobhTWz= z!D_Wk=Kzw_M)ENFTwH*K4bsM_&W$zjp)tEId~2|(U0+(4T&heB#3 G>G=miHUB37 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer$2.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer$2.class new file mode 100644 index 0000000000000000000000000000000000000000..e3ff8b1f3e69f26ca1a181e47dca67ecd2dc040c GIT binary patch literal 963 zcma)5OK;Oa5dPK)abir9hIe@t2#}c2MHL57s&a@xASDGUD2U_QS&}V&q-(pq@|Tb( zNF4Y9{3yh%(?diqvE`k|?#z5U-}ukpU%vr7L#KucZkpwm0~@!ixZ{wqZR4(udkocM z5w?P4A{m;4Lvbv4DB>v}Wm?749z!LYskHT!!5aig#QhT`xfZ^!G9DyxnnzOek&Gv! zDD9uwCTdT`D%)px*H`(agFN!3{viCYfSUv&91E?Ceda71xD4*w zIF`B}iZqpEcGm{c+9mXjq0DB<v;^Gt>OjYwxhG2dIo zzUtYh)Xpf$bs%3WbAwC&HEzfBpP~LL4#Fg*{x5LYxbLEc2QD0(cTq*ng^P#O8pE55 zM`#m0>$20@W!Nl;UcLZBd))*KcDf*(;Zu9{nuA17c{(@q^Vu};B+*~Eh>qqoFk14V zOj9wHy@Ha(Bt=I&2$hU8-k%8~F6DLm6bfrOIcX&Z-OBH0(D0 z309+FItP%XHj;+laiC$pKdwdG!bx&b=KT-0UW$!zzA2|2%8|_-C)4EZd z?2>$f>)1hqd{=0XqOpmKB#maO5XYp~EI41OJe4lvGC3?dezlO-C;`a3g&Sy+=1@q5 HBt8ECO3VK^ literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/consumer/SendSmsConsumer.class new file mode 100644 index 0000000000000000000000000000000000000000..d76a9748c151c0d71cbf73e776fc483f03887467 GIT binary patch literal 4520 zcmb7I33t@i75-$8M`KxrWXzHYC4?=QEn+hyV}}F`Bv6~hHc+4q)yzC>;TdU=G=S43 z&*+n+cklh~ z_U`k$H(q-az$*Mlg8{1=OK~uP?i%D#&|t&SP{bj*>}v4ft0*OqQ*pQkM{ra_51!EQ z8GKg7=QK=)mB4yAeqP0s8tQON!*P5;#TPYv313d&D;lQZgoYZNRPj{}GbDwFQ&rSK z{;H~R8egly8GKy|eyRpf;~5p-&@fN({-zwCm5=8V_?C)q%kSUOun6B(aaP0k@Vtue zE6_LFws4#CrsoMyL1o_QR4}{6aXSsOXlA>F!Ie(S?v&%IgGLKy!fjMg>x!J^b%;VS zZ~8*P%3zOIbV+-_H4Ea1<8~W4(>INP(#SflFxtvDkxO;E)oGi4$t8z9x6h%e<)C@k zH1a0(Yxkw-#?dQlDJRudvVE%{c3Ga4$%}Qi?f9l|IW{prFs9s$Fm2B`U}k;C?J>;3 z4aT~X?;Np+iEQIdmTmcKX}9`?yA;Hlog9HoZn12!wN%Imx5K0~1<4jCYvy;Et|jNu zV$AQdD1K2()+rd7BbG2+Gn27=TFUlH1>qX)!p^l9yyj?5fvOiS(OUJRk&X$(EF3C^ z#%~p#XLgFlKwv1VaLCB!En)jca~Cm+d}Dwk8{kNemO!Khv#6jh{8aL-yz!Xnb+wws zz?*>&=m}CpnzjkANd3inC)XowEy0?3tEXfexgM|JnMG^GvgK=*HLPeb3KX0724I)( zBy%ON;EpnlS{!;?L4{bZU~1X=#-mwLl&+O~X#1*Smt%8O3n6?33npkM?#YH$Q805{ zqcM;p?wfN8rVaOYPjSHG5019l_z}DNyf!~I(~n^S3#nQ5g2BX*6x(ttk`79oS8Br`tO&iF4INU zrjd1q+PcE=X=FLnG1zox5noX2leT+ne5uPC@PAT7@$9k1fI#5pK7^3koT!o1}YXRnGr9gpCW zg4J^8?WdTE%Q{}e6{eKat>blRh&S-&?P#(>$6I(?#qV_d9)D2rM;(8{J39U>5x=10 zFSx2;`bgufFIoAVV97{^eu;c^^6CCl-19E}s^f2XNx_`xbKk{~V#$Bc_w}EC>w^<# z`d>T~F0t$kaUU!MI{uEUI{tyQg8GS?RmDGb{0sjc=FKo470e$i21gZI1v8|y(0`*U zEmL7gS6R#y%=(C9mnV#6A8=Uj#wh->a8KzJepKbRyG~KKz9mofmGuk9%$iXe4{c(` z8WRFJw1v&Yka$@Kr%>z=#OQohuzW1O<2DK`uTIh1tKVrlP4kjj@HdvcXn)SXGtit)fl7<>y;Bprx7YJusxYdkCr

`ml#!w)*64%f`GYnVG;32ilP_P;!7s;O;wlTom$ zT$zC|8IOy+|6n%nc?Pdx6}VeA7{Qf{Z3E{G!Rl(P;TQ)qlw&1F_9A>Xa%ON;I94s{ zgK~i{6=>p95(9VPAwKnx0Bi9uX9^GYb!5WL70;1QNZsM%AQinU*cUWs&7ir;IsXV3B`cnOoz@hh0Trw@0e)s&jNGZpVea`)mZ zsN1tB74O58OPHEYq!P(#moWWpOiNcM?@CqoBGrq#&mu{}86n}vNVq$cIdgF;J_Yw& z#J!g>JC3EHN^_{++!!03iYu5$f%B91^7ihyeyodLB!M%nX3cD7>0;?WCiWZzjo83!_Iaq?ZSj}s36Xs(h z?!z`Lzj^Bw^K|LUbm}|o1h3Mm@6iwMbJsOG^Ew@Q15K2WR_GBWfrpe@ zdP#ci3Hq%Gr?4K)^wLHg#|A!C^6$hZuJPXm*oQ~)7^*4h95!PMs>r1ZA4dy!Tx0OG z@{MmN85?}thV4Wu-*%vl5mAT#p`Bl2=!l{wl)95rcX6c?>P2j)o9}*)Ur|GeOq{|Vqj{Gj3>#>2Rw zq6Om-+-$=HZbdK|##98iBe)a6bQm)#+AteM7IRK){4RPhLp zBlt{(fs|CIrBy~+2^EXThOwleb98KI^zro6-P!TUYmaY^%`1paJTX=bJ!e>1ea3T4 zE1Oi%K4M$0XIS2xkt+%XZFMH?zL&B4BiDx}uZ<~)RF@r&kxH4~tjHH~hDXbR3ERo) zZb3R;bd0=MwVh?%$UiOUrLB6}c7#4%XT}WT(?!cO^J30)%~VbdS(fb?p2@TnoNwqe zB@D~e7mc)MJL|f!WuOlgJ$u!3M22qLNqOvVuTQ@0^0*h@Bw{yCzIaOcwJg;mjH=N5XEWjoh5!m{Kk)gWi(K`VLQ| z?Yy2^HAMxZqG#q@eRSgfouVkpFq$i@Ohr~O(X+jaZ`4eso`|%Utl2Yec_J&Eq|7?{ zREC*kw@8JIFfxAFk{l`+Y$LO*B~IC$0#&RPOvi7Of;|n~6PUbFkcjxSlZENGi~>t) z^@A#Sf9Iz7RH;DFkzr5M-q>1tiQHwT{Y?x<>-IBZIAvNH@>0QxCZ@xsjS_eXM>S@2 z3mtMxuD4uv*Ee{*P-*f&edQNxKq{ZV8ciA4%Z%K4OL$9m=C*`ic*0=|)ES?4S53*N z_6i;PC9(?o8rI~}QrI5T(MRlj!M23uB{lS-Pr>eLORgL465B$rYl*yYT_YB|cmc=?*B4hNIRlerfj^m_C z4p~l4!v{DKMqYyjTfwO}+tqV}fmub~wzkrgE(;o-!U@CG;9)h4H4W?df?cTQ7si(w zzQWfUzQMQB=9z}0I2Oit8lK~OHnBQvORXgyRn&dN1BIf;8CQFvx1ZLsrguA4NakA8 zGNl$47V2r|pYzi@g0g)!mq#Y~pUxSM@K2$F3q1{4=8w>7Lz1<5Zarl7HOy1aAGX~O zQaxuUo5iVY_3LWV?DA}A6|U^Et=V)BX4WtmL;5#oZ-5H zhiJoP`jWP?{tk8eN8284Ud0+?1unUrP7IbfS%Ro>}Sa({!^Jd~2{=XR`j z`zfrxSaqarYehKTkd>L?yMTWbtHWjclVrQ5GDGHYgl~xl`AQnX0lb5Eq2Lgu7O0fp ztC71XAFh!jl#kTNowVY(qy2H;8z1KUhn&PUx*lp;DD#=a>q$yF{}ukX_H9D>)xUj; z*O0H=iv-tNX#@JX8C;*n89Je{@{-AG)V+R%mibKt23zB;v0yy-8(IUn$8{(c*;+?q zYH9rnZSyCCfk3=<6WU;??*-c9p$&B0dxc%|vCd#%6T1h)zB;^tSUmI+d*WQ}jdg9H zdobePiELn>zdusiAN93S?w9UQ(fua&530UamCoa;bi)mMW0boG+x%N?bi+kF)*0(c zY~X-IAOMNL4a9iW5oNVqI7hGth{ngbi1WD0>kKaO<$nly3}c0w=eUL+F^->U`3t7- z0=Mx8rtvp-N)$gYAyr0^nBlD7KDj!_RSWmL=9kF;njM_&mxQIAEa~`mq_`ipo&CLJ+ literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/DelayedQueue.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/DelayedQueue.class new file mode 100644 index 0000000000000000000000000000000000000000..64a164376f08539faafd80e86e864b13f1eff605 GIT binary patch literal 4652 zcmbVQ=~LV29exA`8KD5{WYZ;kv`fe?M~Kr+(@h{v*Bk*FAS@8Fq)k)Veq$7D$&us$ z?e^|&@B6;*yC2$_4rwGPWo5of*%BZNY(y%o=g{p>oa5T8^RMZq4ot|09ZOlyHUb%LCZGLI?_SKmU z1(}7r#(g7OHmp*1)pJa%G@;lgul|*q<(U<+Zn|c^EOM4* zdxmFH00kFX(##9Pa$#w@!bH$2jDR`+Rp#y~TaY*86 z-!waM4lBa7YfeG%w)2u{ncigu?L))s3Q|*ckyhwkFfFlEtK@~VW>6hzV7p+H*A2&% z`|vR3ZJN|?aG_vVviWUOL^i5(byY5NCOY{-ds2X$@Wr+tuh^{~rJ5|&1-N68AK~6!3PfWq7gH7x^ zK2oNqP;))IGP6_IWXw^5GYN=O4e&IFnm4T?qfEhz38<3+pfus4@HXw@vQ$=h!lA;) z3XWjpHj-Cxc4#<(Y9j`TcNtEpRuPs*s=a}cq#v`3MwPe68v|gs8U?}mM$k(!^M;ui zI|*HKnFRaGMkQY~1|N-z!Lteq@wkY5o}ka7a9yJ$CX)1y;OK!$fRgNiI*vwja4 zD(*A1R{c!6V#*|WA|BmmWJOXi(o$@f&J(srD`uzcO4YV#_6Z%s7*TNYzzS54Knc37 z;|08^Vn@d=KCI(1-mBvycwNOub$kq;RPiYtpT-*s29ooWnNtkX^^9ZF?N(_^?5cQE z$7k_*6<^TtMSMxem+=)H131Z0jKIZy3iM6dw&!||Q4PY>?d`-@`|veBzOLgN_@;_) z>G(FjLreMP+7GWe!`)))g*3;cVVKlKR>1-Qqb~L45d^4$7Y<~VV=veb0tHXTLp2O|S)I-vNT9iogymf? zibC0NgkNJ6TpVf{I)1sYM*`!$F8zM%>kUcO>(giwwFuO&tqGP6E7D}mEEk2twjpa7 zZ80rehK^ro*?aGprJ5tJ^?Az@&Q#fOUBTkAl_W|~WRnuPQHa5oyjf=^4|IfY#KTZg z(B|1p%vnJ-%tB1`@F5d!C; zHWAnQR;x5fh~L)wwIENmX8#|xT99H@v1~RvhT(8xiwp%M`<^hL!V{MDBriv}!yJWw zj$hC*Nf=R+Ns9XjPEOpvWZkaXuD9&i1vazrO2K^G9Z>^4B;n;cJ=>w~=MFS|b0w<} z(me&+x-T3rXBAgD_bI5vMQWZ5nopwX??Co`{)Q?y3M~upk$Q{q+e>@3=5ZE}OA&FX z7trt|UQ@%PM^Kx^4Nq>~Y@CPua(e1eI&hdP2`^H}v8yznDGTPg#7J#IqTjNIV#>(b z=aY7Y=Z`QP_u_Wi51@4wztZt*{7%O-W;j^XEoWNy?JbdA@P|6~eU z56r*?+uo|Nz4^0MXrH_K=9uJ4-ncL6u1v!Nicn)uef_HG&hHmbkkL~+-%5jYMgIsm; zd5TZS!7z3<#FG^F954Al%3YREh0l(W2T=aPMH^1@UlIT^7~{Vl0N@OP!Sz|ZlTZ@* z-{^qK=jubWZHzuZ`*>>PuSoT$_Rw)-WDlL=9sa&!4{CqvZ%FrZ)s^YqgT99&}AWashX@@Z!Bl8nvf0ExHUdDO6f(ux|C11?BK$K8S z3Wb+^`^eQf!na95iSur>lh!=(FZfoyh>IAfA}`|^OpsP5-b2VE?L-F=K@_Pqhid*y zt*c}ti48o&(TxWDY1;UiQOPCnn*0(2s*|Qd z(sKa^%~zURs(l5sq&&y941;-J)vh+2@9V=AhENLc<5e53?nluA_n+WzfOj|eJ?G=- h=U1HT_za)7`1~BY@EiOdzvVtpI4O96q81@g{4WDrfFA$= literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/TtlQueue.class b/bwie-moudels/bwie-rabbit/target/classes/com/bwie/rabbit/utils/TtlQueue.class new file mode 100644 index 0000000000000000000000000000000000000000..d157c099e479949f57277b84d84d25bb655b4e05 GIT binary patch literal 2956 zcmb_eYgZFj6x}xu2I7DaUyZibX9WbtYHc-9T8Q|l2pUopT5BiCB@84pab_a$u|KJ6 zb%CvG^#}Avb#>p##3U=h*tPm0Gjq?q=bU}^dF1~6&!2w*_zHdkCo!wx+XNz*9mID> zFo$^!*#rh~ZwN=QkidOB(C|>hqd|P1Kmw1IXfc5&SV~|SPY3ZVfgDzpIInbmNMIGu zHM|he^7+MAj~CVil8amB8`G$mcG+0*UCSGtkx=~&;6T=j$1aono{3z&8pmS+-<|GzOEUKqejtjrIG7Uqn}i+Zu?eM zu3DZ|sK`0nc6`&f=v?4dPn!j4+Mcmt7JbLvGtBo2#$4TZb}UzxX!c0M>0GI5*#g&l z8af1AphFX90$O(4J>;b4)ZL=w?!X<(w)|Ov==j8{KrHK&$imS@%a%*^YC*brli?_G zouXM;HC;=sLt)I{v>4yH#iCO+3Okl;a#Z)Nif82g%CowxD>u3)?NW0skRI>ORhwkF zuqBIrrcLt5_GMYR8HI7^wKBTI+z@`vWRi%XJ^7)!Ktk@;EH_Alz_A|Y77#hB<2*fT1IAOzQJrrb zq|V9CtnAgAnYq~+(4Dr}!`5h%gnZ4?;OGdKI)9UVYReGLTmeamp(Xggt9X|?O zJhT^E+$*y`>G&MyG`!UDGhPWyeORxPdV#YaE?-tJQO(FOwaVcyI!qKa6m^tP*08C= z!Zyc=I_NsABfGpU_cT;=RAK9IP}6Y+pK5rm!v$#_Z4Iji|D>TsO+ZVuR`)qQ+IywD zGeXHkcRpE2?W$qk*VorOYa{5XYlkw{J@vw2q?cr|V!ATu0D;@%Jxd`NPOWTZ+Ht-g z(x-ajRK0#QbkgdptNr{mj|Oq|sf4hT=Id6aBwda_)q?^j?n#d+3uwr9r>7CP?>8@0K(N#VXG826d9Rvlvd}6g~lOFI+`1#`Wp8 zwN5E#7WY5n*8tyV`G%UcZL;%}M7ZX3=kpR*2H%43_~Ze^Z^8CuK9vE`$rpU;jRUxX zajpa=Fi9g+7NgKGNZHmqMAi-vO~+EPWNi8m#G`or4g+gfW6@|Tb^t9MpZpzzsrWvI zxRF>(>apknhSLLqcwiqRsrXwQP4R0qIkt~vS_^ixeH`P*@uZ#{o7%?-g)j<*aFTaV z^&G+!j$?)a8JNZmq*MGLvUQzQ#9<{T6i;JB{ + + + bwie-moudels + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-user + + + + + com.bwie + bwie-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + diff --git a/bwie-moudels/bwie-user/src/main/java/com/bwie/user/UserApp.java b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/UserApp.java new file mode 100644 index 0000000..49424c5 --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/UserApp.java @@ -0,0 +1,11 @@ +package com.bwie.user; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserApp { + public static void main(String[] args) { + SpringApplication.run(UserApp.class); + } +} diff --git a/bwie-moudels/bwie-user/src/main/java/com/bwie/user/controller/UserController.java b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/controller/UserController.java new file mode 100644 index 0000000..485a763 --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/controller/UserController.java @@ -0,0 +1,35 @@ +package com.bwie.user.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.common.domain.User; +import com.bwie.common.result.Result; +import com.bwie.user.service.UserService; +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.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +@RestController +@Log4j2 +public class UserController { + @Autowired + UserService userService; + @Autowired + HttpServletRequest request; + @GetMapping("/findByPhone/{phone}") + public Result findByPhone(@PathVariable String phone){ + log.info("执行操作:查询手机号,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(phone)); + User user=userService.findByPhone(phone); + log.info("执行操作:查询手机号,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURI(), + request.getMethod(), JSONObject.toJSONString(user)); + return Result.success(user); + } + +} diff --git a/bwie-moudels/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java new file mode 100644 index 0000000..faca87b --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/mapper/UserMapper.java @@ -0,0 +1,10 @@ +package com.bwie.user.mapper; + + +import com.bwie.common.domain.User; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface UserMapper { + User findByPhone(String phone); +} diff --git a/bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserService.java b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserService.java new file mode 100644 index 0000000..63cc995 --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserService.java @@ -0,0 +1,8 @@ +package com.bwie.user.service; + + +import com.bwie.common.domain.User; + +public interface UserService { + User findByPhone(String phone); +} diff --git a/bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserServiceimpl.java b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserServiceimpl.java new file mode 100644 index 0000000..aa83395 --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/java/com/bwie/user/service/UserServiceimpl.java @@ -0,0 +1,17 @@ +package com.bwie.user.service; + +import com.bwie.common.domain.User; +import com.bwie.user.mapper.UserMapper; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class UserServiceimpl implements UserService{ + @Autowired + UserMapper userMapper; + @Override + public User findByPhone(String phone) { + return userMapper.findByPhone(phone); + } +} diff --git a/bwie-moudels/bwie-user/src/main/resources/bootstrap.yml b/bwie-moudels/bwie-user/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..8ddfde6 --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +# Tomcat +server: + port: 9002 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-user + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 111.229.36.192:8848 + config: + # 配置中心地址 + server-addr: 111.229.36.192:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bwie-moudels/bwie-user/src/main/resources/mapper/UserMapper.xml b/bwie-moudels/bwie-user/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..acb3256 --- /dev/null +++ b/bwie-moudels/bwie-user/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/bwie-moudels/bwie-user/target/bwie-user-1.0-SNAPSHOT.jar b/bwie-moudels/bwie-user/target/bwie-user-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..b4516458f2a9758ba4c4f30e3d2ce2e3dc4f8ad5 GIT binary patch literal 6332 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 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-user/target/classes/com/bwie/user/mapper/UserMapper.class b/bwie-moudels/bwie-user/target/classes/com/bwie/user/mapper/UserMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..1244567bec0c2683cff651659940fa9e8d5b27a3 GIT binary patch literal 315 zcmYL_F;BxV5QU#hn?MVKm5B|(f`!D^2?nNAR8+8Ek|S{y+mYjd_-hRO0DctWnn-l< z-T9ur_w1kFuWtZ%I7zWcajdX-Gp>C2T-V;Q!tGVIrFYT|xk_(hFs@o&XN9*q|1hkj zvEJ#@TQW|+bR3onXDg1iFV_^va^%n{%-Rt*-}pWh{Ae0spYHT4YFiFBI}?TT=iWtQ z`PFnLZ}{FhA1NB|1aX=9P-$wZs9Bp_t~*V8fgV9(fAOEL7rwTG!H{i~NWlG*p7Jdh iF;P&M$UgvTs&Ig*%rlv03W<~n(&0SBk<>(%bKnnrBUj=8 literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-user/target/classes/com/bwie/user/service/UserService.class b/bwie-moudels/bwie-user/target/classes/com/bwie/user/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..efa136afa6addb2005abf571809c5b8da07b4bdd GIT binary patch literal 237 zcmYLEOAY}+5PgL)J{woCW1}Ono1KLfA(=Qpn<=AZrd!$|u4dr?4kc<37FDTN@71fS z$MbdvFhMs&J4A=j-5Q%tudAK2Oc)R5dwtd_*EUme>5a{z;XHAL+FT4PDGFy*>I!YF zS|8a*gx-S7ol95R>w-)6M?!G;*mYue@(IsOF5bOLAG1H3gh$mDLjUJ{5>81}|ySv3(#uA%h;-0eUM literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-user/target/classes/com/bwie/user/service/UserServiceimpl.class b/bwie-moudels/bwie-user/target/classes/com/bwie/user/service/UserServiceimpl.class new file mode 100644 index 0000000000000000000000000000000000000000..50015790f36656f3ed61e88940de8133840380cd GIT binary patch literal 825 zcmah{U2oGc6g|#b!qP%VHwNQtD-xm`5*887?ghhId%w?6d2I%gq0v=ZzAe&N z+7E)NF*Lg-5tF{K%IAy2iW@5`|L`CCWcySlvh?4Z?^T*js9J5P^x)O(cx*IjK52JP z#HrvDp+~&uy!+1nN{f1u8qEhL6-t+4q)^S~+~#>I!^V+xV>37wz6VZP@)q?>VH5dA z`Acm1j{fE7u`kcizOa2c2}t8+ndA#fr;Zxxb%eMaqE$x|n+y-mj*bdkba(Q$y6U_5 zL?({L{$DD??pe&amw^_&t}1Ad^ub%BxK2BtM-&5!0X|b2U?tHgCAR0Vg#;0>h3h1>P3S6( Op(NcX*PBbTJHQ{~#m@Ht literal 0 HcmV?d00001 diff --git a/bwie-moudels/bwie-user/target/classes/mapper/UserMapper.xml b/bwie-moudels/bwie-user/target/classes/mapper/UserMapper.xml new file mode 100644 index 0000000..acb3256 --- /dev/null +++ b/bwie-moudels/bwie-user/target/classes/mapper/UserMapper.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/bwie-moudels/bwie-user/target/maven-archiver/pom.properties b/bwie-moudels/bwie-user/target/maven-archiver/pom.properties new file mode 100644 index 0000000..bff4d91 --- /dev/null +++ b/bwie-moudels/bwie-user/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=bwie-user +groupId=com.bwie +version=1.0-SNAPSHOT diff --git a/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..c6831c5 --- /dev/null +++ b/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,5 @@ +com\bwie\user\UserApp.class +com\bwie\user\service\UserService.class +com\bwie\user\mapper\UserMapper.class +com\bwie\user\controller\UserController.class +com\bwie\user\service\UserServiceimpl.class diff --git a/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..f1a0df9 --- /dev/null +++ b/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,5 @@ +D:\zhuangao5\new\bwie-moudels\bwie-user\src\main\java\com\bwie\user\controller\UserController.java +D:\zhuangao5\new\bwie-moudels\bwie-user\src\main\java\com\bwie\user\service\UserService.java +D:\zhuangao5\new\bwie-moudels\bwie-user\src\main\java\com\bwie\user\service\UserServiceimpl.java +D:\zhuangao5\new\bwie-moudels\bwie-user\src\main\java\com\bwie\user\UserApp.java +D:\zhuangao5\new\bwie-moudels\bwie-user\src\main\java\com\bwie\user\mapper\UserMapper.java diff --git a/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/bwie-moudels/bwie-user/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/bwie-moudels/pom.xml b/bwie-moudels/pom.xml new file mode 100644 index 0000000..9dc22fb --- /dev/null +++ b/bwie-moudels/pom.xml @@ -0,0 +1,92 @@ + + + + day4-zy + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + bwie-moudels + pom + + bwie-es + bwie-new + bwie-user + bwie-rabbit + + + + + + + + com.bwie + bwie-common + + + + + org.springframework.boot + spring-boot-starter-web + + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + + mysql + mysql-connector-java + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + + com.github.tobato + fastdfs-client + 1.26.5 + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + 2.0.9 + + + + + org.springframework.boot + spring-boot-starter-amqp + + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.9.10 + + + + + diff --git a/day4-zy.iml b/day4-zy.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/day4-zy.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..91340c9 --- /dev/null +++ b/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + com.bwie + day4-zy + pom + 1.0-SNAPSHOT + + bwie-auth + bwie-common + bwie-gateway + bwie-moudels + + + + 8 + 8 + UTF-8 + 2021.0.0 + 0.9.1 + + + + + + spring-boot-starter-parent + org.springframework.boot + 2.6.2 + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + 2021.0.0 + pom + import + + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + 2021.1 + pom + import + + + + com.alibaba.nacos + nacos-client + 2.0.4 + + + + + com.bwie + bwie-common + 1.0-SNAPSHOT + + + + + +