diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 8b1e38a..7b24095 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -8,12 +8,17 @@ - + + + + + + \ No newline at end of file diff --git a/src/main/java/com/ossez/wechat/demo/common/enums/HttpClientType.java b/src/main/java/com/ossez/wechat/demo/common/enums/HttpClientCategory.java similarity index 65% rename from src/main/java/com/ossez/wechat/demo/common/enums/HttpClientType.java rename to src/main/java/com/ossez/wechat/demo/common/enums/HttpClientCategory.java index 80dd96c..fb1d0f9 100644 --- a/src/main/java/com/ossez/wechat/demo/common/enums/HttpClientType.java +++ b/src/main/java/com/ossez/wechat/demo/common/enums/HttpClientCategory.java @@ -3,8 +3,10 @@ package com.ossez.wechat.demo.common.enums; /** * User different http client to make api call. * We should only keep OK_HTTP, this enough for package + * + * @author YuCheng Hu */ -public enum HttpClientType { - HTTP_CLIENT, OK_HTTP +public enum HttpClientCategory { + OK_HTTP, HTTP_CLIENT } diff --git a/src/main/java/com/ossez/wechat/demo/common/enums/StorageCategory.java b/src/main/java/com/ossez/wechat/demo/common/enums/StorageCategory.java new file mode 100644 index 0000000..331dc4b --- /dev/null +++ b/src/main/java/com/ossez/wechat/demo/common/enums/StorageCategory.java @@ -0,0 +1,12 @@ +package com.ossez.wechat.demo.common.enums; + +/** + * WeChat's Storage Category + * + * We provide implement for MEM(RAM) and REDIS + * + * @author YuCheng Hu + */ +public enum StorageCategory { + MEM, REDIS +} diff --git a/src/main/java/com/ossez/wechat/demo/common/enums/StorageType.java b/src/main/java/com/ossez/wechat/demo/common/enums/StorageType.java deleted file mode 100644 index 438d3bf..0000000 --- a/src/main/java/com/ossez/wechat/demo/common/enums/StorageType.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.ossez.wechat.demo.common.enums; - -/** - * storage类型. - * - * @author Binary Wang - * created on 2020-08-30 - */ -public enum StorageType { - /** - * 内存. - */ - Memory, - /** - * redis(JedisClient). - */ - Jedis, - /** - * redis(Redisson). - */ - Redisson, - /** - * redis(RedisTemplate). - */ - RedisTemplate -} diff --git a/src/main/java/com/ossez/wechat/demo/config/WeChatConfiguration.java b/src/main/java/com/ossez/wechat/demo/config/WeChatConfiguration.java new file mode 100644 index 0000000..7b0b533 --- /dev/null +++ b/src/main/java/com/ossez/wechat/demo/config/WeChatConfiguration.java @@ -0,0 +1,37 @@ +package com.ossez.wechat.demo.config; + +import com.ossez.wechat.demo.common.enums.HttpClientCategory; +import com.ossez.wechat.demo.properties.WeChatOfficialAccountProperties; +import com.ossez.wechat.oa.api.WeChatOfficialAccountService; +import com.ossez.wechat.oa.api.impl.okhttp.WeChatOfficialAccountServiceOkHttp; +import com.ossez.wechat.oa.config.ConfigStorage; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +/** + * . + * + * @author someone + */ +@Configuration +@EnableConfigurationProperties(WeChatOfficialAccountProperties.class) +@Import({WeChatStorageAutoConfiguration.class}) +public class WeChatConfiguration { + + + /** + * weChat Service Inject + */ + @Bean + @ConditionalOnMissingBean + public WeChatOfficialAccountService weChatOfficialAccountService(ConfigStorage configStorage, WeChatOfficialAccountProperties weChatOfficialAccountProperties) { + HttpClientCategory httpClientCategory = weChatOfficialAccountProperties.getConfigStorage().getHttpClientCategory(); + WeChatOfficialAccountService weChatOfficialAccountService = new WeChatOfficialAccountServiceOkHttp(); + + weChatOfficialAccountService.setWxMpConfigStorage(configStorage); + return weChatOfficialAccountService; + } +} diff --git a/src/main/java/com/ossez/wechat/demo/config/WxMpStorageAutoConfiguration.java b/src/main/java/com/ossez/wechat/demo/config/WeChatStorageAutoConfiguration.java similarity index 94% rename from src/main/java/com/ossez/wechat/demo/config/WxMpStorageAutoConfiguration.java rename to src/main/java/com/ossez/wechat/demo/config/WeChatStorageAutoConfiguration.java index 6ec99bd..6fc28e6 100644 --- a/src/main/java/com/ossez/wechat/demo/config/WxMpStorageAutoConfiguration.java +++ b/src/main/java/com/ossez/wechat/demo/config/WeChatStorageAutoConfiguration.java @@ -1,17 +1,15 @@ package com.ossez.wechat.demo.config; -import com.ossez.wechat.demo.common.enums.StorageType; +import com.ossez.wechat.demo.common.enums.StorageCategory; import com.ossez.wechat.demo.properties.RedisProperties; import com.ossez.wechat.demo.properties.WeChatOfficialAccountProperties; import com.google.common.collect.Sets; import com.ossez.wechat.oa.config.ConfigStorage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import com.ossez.wechat.common.redis.JedisWxRedisOps; import com.ossez.wechat.common.redis.RedisTemplateWxRedisOps; import com.ossez.wechat.common.redis.WxRedisOps; import com.ossez.wechat.oa.config.WxMpHostConfig; -import com.ossez.wechat.oa.config.ConfigStorage; import com.ossez.wechat.oa.config.DefaultConfigStorage; import com.ossez.wechat.oa.config.impl.RedisConfigStorage; import org.apache.commons.lang3.StringUtils; @@ -35,7 +33,7 @@ import java.util.Set; @Slf4j @Configuration @RequiredArgsConstructor -public class WxMpStorageAutoConfiguration { +public class WeChatStorageAutoConfiguration { private final ApplicationContext applicationContext; private final WeChatOfficialAccountProperties wxMpProperties; @@ -43,10 +41,10 @@ public class WxMpStorageAutoConfiguration { @Bean @ConditionalOnMissingBean(ConfigStorage.class) public ConfigStorage wxMpConfigStorage() { - StorageType type = wxMpProperties.getConfigStorage().getType(); + StorageCategory type = wxMpProperties.getConfigStorage().getType(); ConfigStorage config; switch (type) { - case RedisTemplate: + case REDIS: config = redisTemplateConfigStorage(); break; default: diff --git a/src/main/java/com/ossez/wechat/demo/config/WxMpAutoConfiguration.java b/src/main/java/com/ossez/wechat/demo/config/WxMpAutoConfiguration.java deleted file mode 100644 index 0f82eb8..0000000 --- a/src/main/java/com/ossez/wechat/demo/config/WxMpAutoConfiguration.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.ossez.wechat.demo.config; - -import com.ossez.wechat.demo.properties.WeChatOfficialAccountProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -/** - * . - * - * @author someone - */ -@Configuration -@EnableConfigurationProperties(WeChatOfficialAccountProperties.class) -@Import({ WxMpStorageAutoConfiguration.class, WxMpServiceAutoConfiguration.class }) -public class WxMpAutoConfiguration { -} diff --git a/src/main/java/com/ossez/wechat/demo/config/WxMpServiceAutoConfiguration.java b/src/main/java/com/ossez/wechat/demo/config/WxMpServiceAutoConfiguration.java deleted file mode 100644 index 877a8e5..0000000 --- a/src/main/java/com/ossez/wechat/demo/config/WxMpServiceAutoConfiguration.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ossez.wechat.demo.config; - -import com.ossez.wechat.demo.common.enums.HttpClientType; -import com.ossez.wechat.demo.properties.WeChatOfficialAccountProperties; -import com.ossez.wechat.oa.api.WeChatOfficialAccountService; -import com.ossez.wechat.oa.api.impl.okhttp.WeChatOfficialAccountServiceOkHttp; -import com.ossez.wechat.oa.config.ConfigStorage; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * 微信公众号相关服务自动注册. - * - * @author someone - */ -@Configuration -public class WxMpServiceAutoConfiguration { - - @Bean - @ConditionalOnMissingBean - public WeChatOfficialAccountService weChatOfficialAccountService(ConfigStorage configStorage, WeChatOfficialAccountProperties wxMpProperties) { - HttpClientType httpClientType = wxMpProperties.getConfigStorage().getHttpClientType(); - WeChatOfficialAccountService weChatOfficialAccountService = new WeChatOfficialAccountServiceOkHttp(); - - weChatOfficialAccountService.setWxMpConfigStorage(configStorage); - return weChatOfficialAccountService; - } - -} diff --git a/src/main/java/com/ossez/wechat/demo/controller/WeChatController.java b/src/main/java/com/ossez/wechat/demo/controller/WeChatController.java index caefe44..0471e6c 100644 --- a/src/main/java/com/ossez/wechat/demo/controller/WeChatController.java +++ b/src/main/java/com/ossez/wechat/demo/controller/WeChatController.java @@ -40,13 +40,7 @@ public class WeChatController { @GetMapping("/token") @ResponseBody public String getAccessToken() throws WxErrorException { - - - weChatOfficialAccountService.getAccessToken(true); - - - - return "ss" ; + return weChatOfficialAccountService.getAccessToken(true); } diff --git a/src/main/java/com/ossez/wechat/demo/properties/WeChatOfficialAccountProperties.java b/src/main/java/com/ossez/wechat/demo/properties/WeChatOfficialAccountProperties.java index caf6ee4..936a424 100644 --- a/src/main/java/com/ossez/wechat/demo/properties/WeChatOfficialAccountProperties.java +++ b/src/main/java/com/ossez/wechat/demo/properties/WeChatOfficialAccountProperties.java @@ -1,8 +1,8 @@ package com.ossez.wechat.demo.properties; -import com.ossez.wechat.demo.common.enums.HttpClientType; -import com.ossez.wechat.demo.common.enums.StorageType; +import com.ossez.wechat.demo.common.enums.HttpClientCategory; +import com.ossez.wechat.demo.common.enums.StorageCategory; import com.ossez.wechat.demo.model.entity.WeChatHost; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -10,7 +10,7 @@ import org.springframework.boot.context.properties.NestedConfigurationProperty; import java.io.Serializable; -import static com.ossez.wechat.demo.common.enums.StorageType.Memory; +import static com.ossez.wechat.demo.common.enums.StorageCategory.MEM; /** * WeChat Official Account Config @@ -37,7 +37,7 @@ public class WeChatOfficialAccountProperties { /** * 存储类型. */ - private StorageType type = Memory; + private StorageCategory type = MEM; /** * 指定key前缀. @@ -53,7 +53,7 @@ public class WeChatOfficialAccountProperties { /** * http客户端类型. */ - private HttpClientType httpClientType = HttpClientType.OK_HTTP; + private HttpClientCategory httpClientCategory = HttpClientCategory.OK_HTTP; /** * http代理主机. diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8baa436..627bd9e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -48,7 +48,7 @@ spring.redis.port=6379 # KEY wechat.official-account.app-id = wx637b82a7f94123ef -wechat.official-account.secret = 343cecbc44d69e45367a65cc9b4d3925+ +wechat.official-account.secret = 343cecbc44d69e45367a65cc9b4d3925 wechat.official-account.token = 0b01a700891d4a2f93a4323771c32455 wechat.official-account.aes-key = aesKey