|
|
|
@ -11,7 +11,6 @@ package com.epmet.redis; |
|
|
|
import cn.binarywang.wx.miniapp.api.WxMaService; |
|
|
|
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; |
|
|
|
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.epmet.commons.tools.redis.RedisKeys; |
|
|
|
import com.epmet.commons.tools.redis.RedisUtils; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
@ -23,10 +22,11 @@ import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.logging.log4j.LogManager; |
|
|
|
import org.apache.logging.log4j.Logger; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.boot.ApplicationArguments; |
|
|
|
import org.springframework.boot.ApplicationRunner; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
|
import javax.annotation.PostConstruct; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
@ -38,7 +38,7 @@ import java.util.stream.Collectors; |
|
|
|
* @since 1.0.0 |
|
|
|
*/ |
|
|
|
@Component |
|
|
|
public class CustomerAppWxServiceUtil { |
|
|
|
public class CustomerAppWxServiceUtil implements ApplicationRunner { |
|
|
|
private Logger logger = LogManager.getLogger(CustomerAppWxServiceUtil.class); |
|
|
|
|
|
|
|
/** |
|
|
|
@ -53,23 +53,9 @@ public class CustomerAppWxServiceUtil { |
|
|
|
private OperCrmOpenFeignClient operCrmOpenFeignClient; |
|
|
|
|
|
|
|
private static Map<String, WxMaService> maServices = Maps.newHashMap(); |
|
|
|
@PostConstruct |
|
|
|
|
|
|
|
private void initWxMa() { |
|
|
|
Result<List<CustomerAppDTO>> configAllAppResult = operCrmOpenFeignClient.getConfigAllApp(); |
|
|
|
if (configAllAppResult != null && configAllAppResult.success() && CollectionUtils.isEmpty(configAllAppResult.getData())) { |
|
|
|
maServices = configAllAppResult.getData().stream() |
|
|
|
.map(a -> { |
|
|
|
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); |
|
|
|
config.setAppid(a.getAppId()); |
|
|
|
config.setSecret(a.getSecret()); |
|
|
|
config.setMsgDataFormat(JSON_STR); |
|
|
|
|
|
|
|
WxMaService service = new WxMaServiceImpl(); |
|
|
|
service.setWxMaConfig(config); |
|
|
|
return service; |
|
|
|
}).collect(Collectors.toMap(s -> s.getWxMaConfig().getAppid(), a -> a)); |
|
|
|
} |
|
|
|
logger.info("initWxMa success:{}", JSON.toJSONString(maServices)); |
|
|
|
} |
|
|
|
public WxMaService getWxMaService(String appId) { |
|
|
|
WxMaService wxMaService = maServices.get(appId); |
|
|
|
@ -95,4 +81,22 @@ public class CustomerAppWxServiceUtil { |
|
|
|
return secret; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void run(ApplicationArguments args) throws Exception { |
|
|
|
Result<List<CustomerAppDTO>> configAllAppResult = operCrmOpenFeignClient.getConfigAllApp(); |
|
|
|
if (configAllAppResult != null && configAllAppResult.success() && !CollectionUtils.isEmpty(configAllAppResult.getData())) { |
|
|
|
maServices = configAllAppResult.getData().stream() |
|
|
|
.map(a -> { |
|
|
|
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); |
|
|
|
config.setAppid(a.getAppId()); |
|
|
|
config.setSecret(a.getSecret()); |
|
|
|
config.setMsgDataFormat(JSON_STR); |
|
|
|
|
|
|
|
WxMaService service = new WxMaServiceImpl(); |
|
|
|
service.setWxMaConfig(config); |
|
|
|
return service; |
|
|
|
}).collect(Collectors.toMap(s -> s.getWxMaConfig().getAppid(), a -> a)); |
|
|
|
} |
|
|
|
logger.info("initWxMa success"); |
|
|
|
} |
|
|
|
} |
|
|
|
|