code收

71 阅读1分钟
@Data
public class WmNewsDto {
    
    private Integer id;
    /**
    * 是否上架  0 下架  1 上架
    */
    private Integer enable;
                       
}
 topic名称常量类:
package com.heima.common.constans.message; 
public class WmNewsUpDownConstants { 
    public static final String WM_NEWS_UP_OR_DOWN_TOPIC="wm.news.up.or.down.topic";
}
<!-- kafkfa -->在heima-leadnews-article的pom.xml添加依赖
<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
</dependency>
spring:
    kafka:
        bootstrap-servers: 192.168.137.136:9092
        consumer:
          group-id: ${spring.application.name}-kafka-group
          key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
          value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
        listener:
          missing-topics-fatal: false 
package com.heima.article.listener;

import com.heima.article.service.ApArticleService;
import com.heima.common.util.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;

import java.util.Map;
import java.util.Optional;

import static com.heima.common.constants.message.WmNewsUpDownConstants.WM_NEWS_UP_OR_DOWN_TOPIC;

/**
 * 监听自媒体文章上下架操作
 */
@Slf4j
@Component
public class WmNewsUpDownListener {

    @Autowired
    private ApArticleService apArticleService;

    @KafkaListener(topics = WM_NEWS_UP_OR_DOWN_TOPIC)
    public void receiveMsg(ConsumerRecord<String,String> record){

        Optional<ConsumerRecord<String, String>> optional = Optional.ofNullable(record);
        if(optional.isPresent()){
            String value = record.value();
            log.info("接收到自媒体上下架消息,value={}",value);
//            把字符串转map
            Map<String, Long> map = JsonUtils.toMap(value, String.class, Long.class);
            apArticleService.downOrUp(map);
        }

    }
}   
 在ApArticleService中添加方法
    void upOrDown(Map<String, Long> map);
    1上架0下架 怎么变成文档的1下架 2 没下架
    

image.png