瀏覽代碼

🔨 规范代码

master
Binary Wang 6 年之前
父節點
當前提交
3a1fae639a
共有 5 個檔案被更改,包括 148 行新增126 行删除
  1. +5
    -0
      starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpAutoConfiguration.java
  2. +34
    -32
      starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java
  3. +58
    -56
      starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpStorageAutoConfiguration.java
  4. +34
    -31
      starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/RedisProperties.java
  5. +17
    -7
      starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java

+ 5
- 0
starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpAutoConfiguration.java 查看文件

@@ -5,6 +5,11 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

/**
* .
*
* @author someone
*/
@Configuration
@EnableConfigurationProperties(WxMpProperties.class)
@Import({WxMpStorageAutoConfiguration.class, WxMpServiceAutoConfiguration.class})


+ 34
- 32
starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java 查看文件

@@ -12,42 +12,44 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
* 微信公众号相关服务自动注册
* 微信公众号相关服务自动注册.
*
* @author someone
*/
@Configuration
public class WxMpServiceAutoConfiguration {
@Autowired
private ApplicationContext ctx;
@Autowired
private ApplicationContext ctx;

@Bean
@ConditionalOnMissingBean
public WxMpService wxMpService(WxMpConfigStorage configStorage) {
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(configStorage);
registerWxMpSubService(wxMpService);
return wxMpService;
}
@Bean
@ConditionalOnMissingBean
public WxMpService wxMpService(WxMpConfigStorage configStorage) {
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(configStorage);
registerWxMpSubService(wxMpService);
return wxMpService;
}

@ConditionalOnBean(WxMpService.class)
public Object registerWxMpSubService(WxMpService wxMpService) {
ConfigurableListableBeanFactory factory = (ConfigurableListableBeanFactory) ctx.getAutowireCapableBeanFactory();
factory.registerSingleton("wxMpKefuService", wxMpService.getKefuService());
factory.registerSingleton("wxMpMaterialService", wxMpService.getMaterialService());
factory.registerSingleton("wxMpMenuService", wxMpService.getMenuService());
factory.registerSingleton("wxMpUserService", wxMpService.getUserService());
factory.registerSingleton("wxMpUserTagService", wxMpService.getUserTagService());
factory.registerSingleton("wxMpQrcodeService", wxMpService.getQrcodeService());
factory.registerSingleton("wxMpCardService", wxMpService.getCardService());
factory.registerSingleton("wxMpDataCubeService", wxMpService.getDataCubeService());
factory.registerSingleton("wxMpUserBlacklistService", wxMpService.getBlackListService());
factory.registerSingleton("wxMpStoreService", wxMpService.getStoreService());
factory.registerSingleton("wxMpTemplateMsgService", wxMpService.getTemplateMsgService());
factory.registerSingleton("wxMpSubscribeMsgService", wxMpService.getSubscribeMsgService());
factory.registerSingleton("wxMpDeviceService", wxMpService.getDeviceService());
factory.registerSingleton("wxMpShakeService", wxMpService.getShakeService());
factory.registerSingleton("wxMpMemberCardService", wxMpService.getMemberCardService());
factory.registerSingleton("wxMpMassMessageService", wxMpService.getMassMessageService());
return Boolean.TRUE;
}
@ConditionalOnBean(WxMpService.class)
public Object registerWxMpSubService(WxMpService wxMpService) {
ConfigurableListableBeanFactory factory = (ConfigurableListableBeanFactory) ctx.getAutowireCapableBeanFactory();
factory.registerSingleton("wxMpKefuService", wxMpService.getKefuService());
factory.registerSingleton("wxMpMaterialService", wxMpService.getMaterialService());
factory.registerSingleton("wxMpMenuService", wxMpService.getMenuService());
factory.registerSingleton("wxMpUserService", wxMpService.getUserService());
factory.registerSingleton("wxMpUserTagService", wxMpService.getUserTagService());
factory.registerSingleton("wxMpQrcodeService", wxMpService.getQrcodeService());
factory.registerSingleton("wxMpCardService", wxMpService.getCardService());
factory.registerSingleton("wxMpDataCubeService", wxMpService.getDataCubeService());
factory.registerSingleton("wxMpUserBlacklistService", wxMpService.getBlackListService());
factory.registerSingleton("wxMpStoreService", wxMpService.getStoreService());
factory.registerSingleton("wxMpTemplateMsgService", wxMpService.getTemplateMsgService());
factory.registerSingleton("wxMpSubscribeMsgService", wxMpService.getSubscribeMsgService());
factory.registerSingleton("wxMpDeviceService", wxMpService.getDeviceService());
factory.registerSingleton("wxMpShakeService", wxMpService.getShakeService());
factory.registerSingleton("wxMpMemberCardService", wxMpService.getMemberCardService());
factory.registerSingleton("wxMpMassMessageService", wxMpService.getMassMessageService());
return Boolean.TRUE;
}

}

+ 58
- 56
starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpStorageAutoConfiguration.java 查看文件

@@ -2,6 +2,7 @@ package com.binarywang.spring.starter.wxjava.mp.config;

import com.binarywang.spring.starter.wxjava.mp.properties.RedisProperties;
import com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties;
import lombok.RequiredArgsConstructor;
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl;
@@ -13,74 +14,75 @@ import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
* 微信公众号存储策略自动配置
* 微信公众号存储策略自动配置.
*
* @author someone
*/
@Configuration
@RequiredArgsConstructor
public class WxMpStorageAutoConfiguration {
private final WxMpProperties properties;

@Autowired
private WxMpProperties properties;
@Autowired(required = false)
private JedisPool jedisPool;

@Autowired(required = false)
private JedisPool jedisPool;
@Bean
@ConditionalOnMissingBean(WxMpConfigStorage.class)
public WxMpConfigStorage wxMpInMemoryConfigStorage() {
WxMpProperties.ConfigStorage storage = properties.getConfigStorage();
WxMpProperties.StorageType type = storage.getType();

@Bean
@ConditionalOnMissingBean(WxMpConfigStorage.class)
public WxMpConfigStorage wxMpInMemoryConfigStorage() {
WxMpProperties.ConfigStorage storage = properties.getConfigStorage();
WxMpProperties.StorageType type = storage.getType();

if (type == WxMpProperties.StorageType.redis) {
return getWxMpInRedisConfigStorage();
}
return getWxMpInMemoryConfigStorage();
}

private WxMpDefaultConfigImpl getWxMpInMemoryConfigStorage() {
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
setWxMpInfo(config);
return config;
if (type == WxMpProperties.StorageType.redis) {
return getWxMpInRedisConfigStorage();
}
return getWxMpInMemoryConfigStorage();
}

private WxMpRedisConfigImpl getWxMpInRedisConfigStorage() {
JedisPool poolToUse = jedisPool;
if (poolToUse == null) {
poolToUse = getJedisPool();
}
WxMpRedisConfigImpl config = new WxMpRedisConfigImpl(poolToUse);
setWxMpInfo(config);
return config;
}
private WxMpDefaultConfigImpl getWxMpInMemoryConfigStorage() {
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
setWxMpInfo(config);
return config;
}

private void setWxMpInfo(WxMpDefaultConfigImpl config) {
config.setAppId(properties.getAppId());
config.setSecret(properties.getSecret());
config.setToken(properties.getToken());
config.setAesKey(properties.getAesKey());
private WxMpRedisConfigImpl getWxMpInRedisConfigStorage() {
JedisPool poolToUse = jedisPool;
if (poolToUse == null) {
poolToUse = getJedisPool();
}
WxMpRedisConfigImpl config = new WxMpRedisConfigImpl(poolToUse);
setWxMpInfo(config);
return config;
}

private JedisPool getJedisPool() {
WxMpProperties.ConfigStorage storage = properties.getConfigStorage();
RedisProperties redis = storage.getRedis();
private void setWxMpInfo(WxMpDefaultConfigImpl config) {
config.setAppId(properties.getAppId());
config.setSecret(properties.getSecret());
config.setToken(properties.getToken());
config.setAesKey(properties.getAesKey());
}

JedisPoolConfig config = new JedisPoolConfig();
if (redis.getMaxActive() != null) {
config.setMaxTotal(redis.getMaxActive());
}
if (redis.getMaxIdle() != null) {
config.setMaxIdle(redis.getMaxIdle());
}
if (redis.getMaxWaitMillis() != null) {
config.setMaxWaitMillis(redis.getMaxWaitMillis());
}
if (redis.getMinIdle() != null) {
config.setMinIdle(redis.getMinIdle());
}
config.setTestOnBorrow(true);
config.setTestWhileIdle(true);
private JedisPool getJedisPool() {
WxMpProperties.ConfigStorage storage = properties.getConfigStorage();
RedisProperties redis = storage.getRedis();

JedisPool pool = new JedisPool(config, redis.getHost(), redis.getPort(),
redis.getTimeout(), redis.getPassword(), redis.getDatabase());
return pool;
JedisPoolConfig config = new JedisPoolConfig();
if (redis.getMaxActive() != null) {
config.setMaxTotal(redis.getMaxActive());
}
if (redis.getMaxIdle() != null) {
config.setMaxIdle(redis.getMaxIdle());
}
if (redis.getMaxWaitMillis() != null) {
config.setMaxWaitMillis(redis.getMaxWaitMillis());
}
if (redis.getMinIdle() != null) {
config.setMinIdle(redis.getMinIdle());
}
config.setTestOnBorrow(true);
config.setTestWhileIdle(true);

JedisPool pool = new JedisPool(config, redis.getHost(), redis.getPort(),
redis.getTimeout(), redis.getPassword(), redis.getDatabase());
return pool;
}
}

+ 34
- 31
starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/RedisProperties.java 查看文件

@@ -5,38 +5,41 @@ import lombok.Data;
import java.io.Serializable;

/**
* Redis配置
* Redis配置.
*
* @author someone
*/
@Data
public class RedisProperties implements Serializable {

/**
* 主机地址
*/
private String host = "127.0.0.1";

/**
* 端口号
*/
private int port = 6379;

/**
* 密码
*/
private String password;

/**
* 超时
*/
private int timeout = 2000;

/**
* 数据库
*/
private int database = 0;

private Integer maxActive;
private Integer maxIdle;
private Integer maxWaitMillis;
private Integer minIdle;
private static final long serialVersionUID = -5924815351660074401L;

/**
* 主机地址.
*/
private String host = "127.0.0.1";

/**
* 端口号.
*/
private int port = 6379;

/**
* 密码.
*/
private String password;

/**
* 超时.
*/
private int timeout = 2000;

/**
* 数据库.
*/
private int database = 0;

private Integer maxActive;
private Integer maxIdle;
private Integer maxWaitMillis;
private Integer minIdle;
}

+ 17
- 7
starters/wx-java-mp-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java 查看文件

@@ -10,7 +10,9 @@ import static com.binarywang.spring.starter.wxjava.mp.properties.WxMpProperties.


/**
* 微信接入相关配置属性
* 微信接入相关配置属性.
*
* @author someone
*/
@Data
@ConfigurationProperties(PREFIX)
@@ -18,33 +20,34 @@ public class WxMpProperties {
public static final String PREFIX = "wx.mp";

/**
* 设置微信公众号的appid
* 设置微信公众号的appid.
*/
private String appId;

/**
* 设置微信公众号的app secret
* 设置微信公众号的app secret.
*/
private String secret;

/**
* 设置微信公众号的token
* 设置微信公众号的token.
*/
private String token;

/**
* 设置微信公众号的EncodingAESKey
* 设置微信公众号的EncodingAESKey.
*/
private String aesKey;

/**
* 存储策略, memory, redis
* 存储策略, memory, redis.
*/
private ConfigStorage configStorage = new ConfigStorage();


@Data
public static class ConfigStorage implements Serializable {
private static final long serialVersionUID = 4815731027000065434L;

private StorageType type = memory;

@@ -53,6 +56,13 @@ public class WxMpProperties {
}

public enum StorageType {
memory, redis
/**
* 内存.
*/
memory,
/**
* redis.
*/
redis
}
}

Loading…
取消
儲存