Helius
2021-04-16 94ca168e684512f57313cdc0b137660be46a0de6
modify
2 files modified
2 files added
61 ■■■■■ changed files
src/main/java/com/xcong/excoin/common/listener/RedisKeyExpirationListener.java 31 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/listener/RedisListenerConfig.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java 4 ●●●● 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);