chao 4 éve
szülő
commit
d7e9fc72b7

+ 46 - 0
pom.xml

@@ -38,6 +38,14 @@
 			<groupId>org.springframework.cloud</groupId>
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter</artifactId>
 			<artifactId>spring-cloud-starter</artifactId>
 		</dependency>
 		</dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
 		<dependency>
 		<dependency>
             <groupId>org.springframework.cloud</groupId>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
@@ -121,7 +129,45 @@
 		</dependency>
 		</dependency>
     </dependencies>
     </dependencies>
 
 
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <properties>
+                <!-- 环境标识,需要与配置文件的名称相对应 -->
+                <activatedProperties>dev</activatedProperties>
+            </properties>
+            <activation>
+                <!-- 默认环境 -->
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <id>beta</id>
+            <properties>
+                <activatedProperties>beta</activatedProperties>
+            </properties>
+        </profile>
+        <profile>
+            <id>prod</id>
+            <properties>
+                <activatedProperties>prod</activatedProperties>
+            </properties>
+        </profile>
+    </profiles>
+
     <build>
     <build>
+        <finalName>${project.artifactId}</finalName>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <!--可以在此配置过滤文件  -->
+                <includes>
+                    <include>**/*.yml</include>
+                </includes>
+                <!--开启filtering功能  -->
+                <filtering>true</filtering>
+            </resource>
+        </resources>
         <plugins>
         <plugins>
             <plugin>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <groupId>org.springframework.boot</groupId>

+ 8 - 21
src/main/java/com/caimei365/user/components/WeChatService.java

@@ -10,9 +10,7 @@ import org.apache.commons.lang.StringUtils;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpHeaders;
-import org.springframework.http.server.reactive.ServerHttpRequest;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
-import org.springframework.web.server.ServerWebExchange;
 
 
 import javax.crypto.Cipher;
 import javax.crypto.Cipher;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.IvParameterSpec;
@@ -31,45 +29,40 @@ import java.util.Map;
 @Slf4j
 @Slf4j
 @Component
 @Component
 public class WeChatService {
 public class WeChatService {
+
+    @Value("${wx.redirect-uri}")
     private String redirectUri;
     private String redirectUri;
+    @Value("${wx.app-id}")
     private String appId;
     private String appId;
+    @Value("${wx.app-secret}")
     private String appSecret;
     private String appSecret;
+    @Value("${wx.mini-app-id}")
     private String miniAppId;
     private String miniAppId;
+    @Value("${wx.mini-app-secret}")
     private String miniAppSecret;
     private String miniAppSecret;
+    @Value("${wx.crm-app-id}")
     private String crmAppId;
     private String crmAppId;
+    @Value("${wx.crm-app-secret}")
     private String crmAppSecret;
     private String crmAppSecret;
 
 
-    @Value("${wx.redirect-uri}")
     public void setRedirectUri(String redirectUri) {
     public void setRedirectUri(String redirectUri) {
         redirectUri = redirectUri;
         redirectUri = redirectUri;
     }
     }
-
-    @Value("${wx.app-id}")
     public void setAppId(String appId) {
     public void setAppId(String appId) {
         appId = appId;
         appId = appId;
     }
     }
-
-    @Value("${wx.app-secret}")
     public void setAppSecret(String appSecret) {
     public void setAppSecret(String appSecret) {
         appSecret = appSecret;
         appSecret = appSecret;
     }
     }
-
-    @Value("${wx.mini-app-id}")
     public void setMiniAppId(String miniAppId) {
     public void setMiniAppId(String miniAppId) {
         miniAppId = miniAppId;
         miniAppId = miniAppId;
     }
     }
-
-    @Value("${wx.mini-app-secret}")
     public void setMiniAppSecret(String miniAppSecret) {
     public void setMiniAppSecret(String miniAppSecret) {
         miniAppSecret = miniAppSecret;
         miniAppSecret = miniAppSecret;
     }
     }
-
-    @Value("${wx.crm-app-id}")
     public void setCrmAppId(String crmAppId) {
     public void setCrmAppId(String crmAppId) {
         crmAppId = crmAppId;
         crmAppId = crmAppId;
     }
     }
-
-    @Value("${wx.crm-app-secret}")
     public void setCrmAppSecret(String crmAppSecret) {
     public void setCrmAppSecret(String crmAppSecret) {
         crmAppSecret = crmAppSecret;
         crmAppSecret = crmAppSecret;
     }
     }
@@ -77,27 +70,21 @@ public class WeChatService {
     public String getRedirectUri() {
     public String getRedirectUri() {
         return redirectUri;
         return redirectUri;
     }
     }
-
     public String getAppId() {
     public String getAppId() {
         return appId;
         return appId;
     }
     }
-
     public String getAppSecret() {
     public String getAppSecret() {
         return appSecret;
         return appSecret;
     }
     }
-
     public String getMiniAppId() {
     public String getMiniAppId() {
         return miniAppId;
         return miniAppId;
     }
     }
-
     public String getMiniAppSecret() {
     public String getMiniAppSecret() {
         return miniAppSecret;
         return miniAppSecret;
     }
     }
-
     public String getCrmAppId() {
     public String getCrmAppId() {
         return crmAppId;
         return crmAppId;
     }
     }
-
     public String getCrmAppSecret() {
     public String getCrmAppSecret() {
         return crmAppSecret;
         return crmAppSecret;
     }
     }

+ 1 - 2
src/main/java/com/caimei365/user/controller/LoginApi.java

@@ -1,7 +1,6 @@
 package com.caimei365.user.controller;
 package com.caimei365.user.controller;
 
 
 import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.model.ResponseJson;
-import com.caimei365.user.model.po.OperationPo;
 import com.caimei365.user.model.vo.UserLoginVo;
 import com.caimei365.user.model.vo.UserLoginVo;
 import com.caimei365.user.service.LoginService;
 import com.caimei365.user.service.LoginService;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
@@ -108,7 +107,7 @@ public class LoginApi {
      * @param code      微信code
      * @param code      微信code
      * @param state     安全认证key(第一步获取参数时自定义生成的uuid)
      * @param state     安全认证key(第一步获取参数时自定义生成的uuid)
      */
      */
-    @GetMapping("/auth/scan")
+    @GetMapping("/auth/callback")
     public void qrCodeAuthScan(String code, String state) {
     public void qrCodeAuthScan(String code, String state) {
         loginService.qrCodeAuthScan(code, state);
         loginService.qrCodeAuthScan(code, state);
     }
     }

+ 0 - 85
src/main/resources/application.yml

@@ -1,85 +0,0 @@
-server:
-  port: 18001
-
-# 指定当前服务的名称,这个名称会注册到注册中心
-spring:
-  application:
-    name: @artifactId@
-
-  datasource:
-    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
-    username: developer
-    password: 05bZ/OxTB:X+yd%1
-    type: com.zaxxer.hikari.HikariDataSource
-    hikari:
-      minimum-idle: 5
-      maximum-pool-size: 15
-      auto-commit: true
-      idle-timeout: 30000
-      pool-name: DatebookHikariCP
-      max-lifetime: 1800000
-      connection-timeout: 30000
-      connection-test-query: SELECT 1
-  redis:
-    host: 119.29.0.46
-    port: 6380
-    password: 6#xsI%b4o@5c3RoE
-    #Redis数据库索引(默认为0)
-    database: 0
-    jedis:
-      pool:
-        max-active: 50
-        #连接池最大阻塞等待时间(使用负值表示没有限制)
-        max-wait: -1
-        #连接池中的最大空闲连接
-        max-idle: 20
-        #连接池中的最小空闲连接
-        min-idle: 2
-    #连接超时时间(毫秒)
-    timeout: 5000
-
-#整合mybatis
-mybatis:
-  #加载Mybatis映射文件
-  mapper-locations:
-    - classpath:mapper/*.xml
-
-# 指定服务注册中心的地址
-eureka:
-  instance:
-    prefer-ip-address: true       # 是否使用 ip 地址注册
-    instance-id: ${spring.cloud.client.ip-address}:${server.port} # ip:port
-  client:
-    service-url:                  # 设置服务注册中心地址
-      defaultZone: http://localhost:18000/eureka/
-
-
-# 日志配置
-logging:
-  level:
-    root: info
-    com.caimei365.user.mapper: debug
-
-# 微信配置
-wx:
-  #pcwx信息
-  app-id: wx22be9ab1a6aa4715
-  app-secret: ebf8cfc4dbadae3431a8b0267c4fd09f
-  redirect-uri: https://www.caimei365.com/user/wechatLogin
-  #小程序wx信息
-  mini-app-id: wxf3cd4ae0cdd11c36
-  mini-app-secret: f5707c40c07adf0e2110c58ce6a4f4b3
-  #crm公众号信息
-  crm-app-id: wxea43a0f9ebce9e66
-  crm-app-secret: 1c3cd60908e72dd280840bee9e15f7f6
-
-# swagger配置
-swagger:
-  # swagger开启状态,true开启,false关闭
-  enabled: true
-  ui-config:
-    operations-sorter: method
-
-caimei:
-  # 小程序邀请码过期天数
-  validTime: 7

+ 13 - 0
src/main/resources/bootstrap.yml

@@ -0,0 +1,13 @@
+server:
+  port: 18011
+
+# 指定当前服务的名称,这个名称会注册到注册中心
+spring:
+  application:
+    name: @artifactId@
+  cloud:
+    config:                             # Config客户端配置
+      profile: @activatedProperties@    # 启用配置后缀名称
+      label: master                     # 分支名称
+      uri: http://localhost:18001       # 配置中心地址
+      name: application                 # 配置文件名称

+ 0 - 30
src/test/java/com/caimei365/user/ReactiveRedisTest.java

@@ -1,30 +0,0 @@
-package com.caimei365.user;
-
-import com.caimei365.user.components.RedisService;
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-import javax.annotation.Resource;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2021/3/4
- */
-@SpringBootTest
-class ReactiveRedisTest {
-
-    @Resource
-    private RedisService redisService;
-
-    @Test
-    void test1() {
-        // 保存5分钟
-        redisService.set("test1", "test1_value", 5 * 60L);
-        Object test1 = redisService.get("test1");
-        System.out.println(test1);
-    }
-
-}
-

+ 0 - 93
src/test/java/com/caimei365/user/TestReactive.java

@@ -1,93 +0,0 @@
-package com.caimei365.user;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-import reactor.core.Disposable;
-import reactor.core.publisher.Flux;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2021/3/1
- */
-@SpringBootTest
-class TestReactive {
-    @Test
-    void test1() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .subscribe(System.out::println);
-    }
-
-    @Test
-    void test2() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .subscribe(System.out::println,
-                error -> System.err.println("Error: " + error));
-    }
-
-    @Test
-    void test3() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .onErrorReturn("Divided by zero :(")
-            .subscribe(System.out::println);
-    }
-
-    @Test
-    void test4() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .onErrorResume(e -> System.out::println)
-            .subscribe(System.out::println);
-    }
-    @Test
-    void test5() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .doOnError(error -> System.out.println("we got the error: "+ error))
-            .subscribe(System.out::println);
-    }
-
-    @Test
-    void test6() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .doFinally(error -> System.out.println("Finally,I will make sure to do something:"+error))
-            .subscribe(System.out::println);
-    }
-
-    @Test
-    void test7() {
-        AtomicBoolean isDisposed = new AtomicBoolean();
-        Disposable disposableInstance = new Disposable() {
-            @Override
-            public void dispose() {
-                isDisposed.set(true);
-            }
-            @Override
-            public String toString() {
-                return "DISPOSABLE";
-            }
-        };
-        Flux.using(
-            () -> disposableInstance,
-            disposable -> Flux.just(disposable.toString()),
-            Disposable::dispose)
-            .subscribe(System.out::println);
-    }
-
-    @Test
-    void test8() {
-        Flux.just(10, 5, 0)
-            .map(i -> "100 / " + i + " = " + (10 / i))
-            .retry(1)
-            .elapsed()
-            .subscribe(System.out::println);
-    }
-
-}