src/main/java/com/xcong/excoin/common/listener/RedisKeyExpirationListener.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/common/listener/RedisListenerConfig.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java | ●●●●● patch | view | raw | blame | history |
src/main/java/com/xcong/excoin/common/listener/RedisKeyExpirationListener.java
New file @@ -0,0 +1,31 @@ package com.xcong.excoin.common.listener; import com.xcong.excoin.utils.mail.ZzSmsSend; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.listener.KeyExpirationEventMessageListener; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.stereotype.Component; /** * @author wzy * @date 2021-04-16 **/ @Slf4j @Component @ConditionalOnProperty(prefix = "app", name = "newest-price-update-job", havingValue = "true") public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) { super(listenerContainer); } @Override public void onMessage(Message message, byte[] pattern) { String expireKey = message.toString(); if (expireKey.equalsIgnoreCase("whole_bomb_execute")) { ZzSmsSend.sendVerifyCode("15773002834", "123456", 2); } } } src/main/java/com/xcong/excoin/common/listener/RedisListenerConfig.java
New file @@ -0,0 +1,25 @@ package com.xcong.excoin.common.listener; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.listener.RedisMessageListenerContainer; /** * @author wzy * @date 2021-04-16 **/ @Configuration @ConditionalOnProperty(prefix = "app", name = "newest-price-update-job", havingValue = "true") public class RedisListenerConfig { @Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); // container.addMessageListener(new RedisExpiredListener(), new PatternTopic("__keyevent@0__:expired")); return container; } } src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
@@ -288,6 +288,7 @@ } public void wholeBomb() { redisUtils.set("whole_bomb_execute", 1, 120); Map<String, WholePriceDataModel> dataModelMap = WholeDataQueue.MAP; if (CollUtil.isEmpty(dataModelMap)) { return; src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
@@ -21,11 +21,11 @@ @Slf4j public class DingTalkUtils { private static final String SECRET = "SECc0b73559742b950f07eabbd050c406a6abb3b67d112d3735289e90f58884c543"; private static final String SECRET = "SECbc84fd6c2edb9f2f440f9f969981ca310ba553e7c7994cf68cf26e4607cc5943"; public static void sendActionCard(int type) { log.info("send dingtalk"); String url = "https://oapi.dingtalk.com/robot/send?access_token=161d5e5b60ae5d6b4c80f2a9c35f9f212961a7c7154aa7e94b99503eca3886b0"; String url = "https://oapi.dingtalk.com/robot/send?access_token=54a0d627111f3667f7e98691c15becadb742c4da895e60f6d77392389e49658a"; Long timestamp = System.currentTimeMillis(); try { String sign = generateSign(timestamp);