当前位置: 首页 > news >正文

网站策划网站怎么做友链

网站策划,网站怎么做友链,高端品牌网站建设图片,网站运营维护自媒体文章上下架功能完成 需求分析 流程说明 接口定义 说明接口路径/api/v1/news/down_or_up请求方式POST参数DTO响应结果ResponseResult DTO Data public class WmNewsDto {private Integer id;/*** 是否上架 0 下架 1 上架*/private Short enable;}ResponseResult 自媒…

自媒体文章上下架功能完成

需求分析

在这里插入图片描述

流程说明

在这里插入图片描述

接口定义
说明
接口路径/api/v1/news/down_or_up
请求方式POST
参数DTO
响应结果ResponseResult

DTO

@Data
public class WmNewsDto {private Integer id;/*** 是否上架  0 下架  1 上架*/private Short enable;}

ResponseResult

image-20230218212711969

自媒体文章上下架-功能实现

接口定义

在heima-leadnews-wemedia工程下的WmNewsController新增方法

@PostMapping("/down_or_up")
public ResponseResult downOrUp(@RequestBody WmNewsDto dto){return null;
}

在WmNewsDto中新增enable属性 ,完整的代码如下:

package com.heima.model.wemedia.dtos;import lombok.Data;import java.util.Date;
import java.util.List;@Data
public class WmNewsDto {private Integer id;/*** 标题*/private String title;/*** 频道id*/private Integer channelId;/*** 标签*/private String labels;/*** 发布时间*/private Date publishTime;/*** 文章内容*/private String content;/*** 文章封面类型  0 无图 1 单图 3 多图 -1 自动*/private Short type;/*** 提交时间*/private Date submitedTime; /*** 状态 提交为1  草稿为0*/private Short status;/*** 封面图片列表 多张图以逗号隔开*/private List<String> images;/*** 上下架 0 下架  1 上架*/private Short enable;
}

9.4.2)业务层编写

在WmNewsService新增方法

/*** 文章的上下架* @param dto* @return*/
public ResponseResult downOrUp(WmNewsDto dto);

实现方法

/*** 文章的上下架* @param dto* @return*/
@Override
public ResponseResult downOrUp(WmNewsDto dto) {//1.检查参数if(dto.getId() == null){return ResponseResult.errorResult(AppHttpCodeEnum.PARAM_INVALID);}//2.查询文章WmNews wmNews = getById(dto.getId());if(wmNews == null){return ResponseResult.errorResult(AppHttpCodeEnum.DATA_NOT_EXIST,"文章不存在");}//3.判断文章是否已发布if(!wmNews.getStatus().equals(WmNews.Status.PUBLISHED.getCode())){return ResponseResult.errorResult(AppHttpCodeEnum.PARAM_INVALID,"当前文章不是发布状态,不能上下架");}//4.修改文章enableif(dto.getEnable() != null && dto.getEnable() > -1 && dto.getEnable() < 2){update(Wrappers.<WmNews>lambdaUpdate().set(WmNews::getEnable,dto.getEnable()).eq(WmNews::getId,wmNews.getId()));}return ResponseResult.okResult(AppHttpCodeEnum.SUCCESS);
}

9.4.3)控制器

@PostMapping("/down_or_up")
public ResponseResult downOrUp(@RequestBody WmNewsDto dto){return wmNewsService.downOrUp(dto);
}

9.4.4)测试

消息通知article端文章上下架

在heima-leadnews-common模块下导入kafka依赖

<!-- kafkfa -->
<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>
</dependency>
<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId>
</dependency>

9.5.2)在自媒体端的nacos配置中心配置kafka的生产者

spring:kafka:bootstrap-servers: 172.20.10.2:9092producer:retries: 10key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializer

9.5.3)在自媒体端文章上下架后发送消息

//发送消息,通知article端修改文章配置
if(wmNews.getArticleId() != null){Map<String,Object> map = new HashMap<>();map.put("articleId",wmNews.getArticleId());map.put("enable",dto.getEnable());kafkaTemplate.send(WmNewsMessageConstants.WM_NEWS_UP_OR_DOWN_TOPIC,JSON.toJSONString(map));
}

常量类:

public class WmNewsMessageConstants {public static final String WM_NEWS_UP_OR_DOWN_TOPIC="wm.news.up.or.down.topic";
}

9.5.4)在article端的nacos配置中心配置kafka的消费者

spring:kafka:bootstrap-servers: 172.20.10.2:9092consumer:group-id: ${spring.application.name}key-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializer

9.5.5)在article端编写监听,接收数据

package com.heima.article.listener;import com.alibaba.fastjson.JSON;
import com.heima.article.service.ApArticleConfigService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;import java.util.Map;@Component
@Slf4j
public class ArtilceIsDownListener {@Autowiredprivate ApArticleConfigService apArticleConfigService;@KafkaListener(topics = WmNewsMessageConstants.WM_NEWS_UP_OR_DOWN_TOPIC)public void onMessage(String message){if(StringUtils.isNotBlank(message)){Map map = JSON.parseObject(message, Map.class);apArticleConfigService.updateByMap(map);log.info("article端文章配置修改,articleId={}",map.get("articleId"));}}
}

9.5.6)修改ap_article_config表的数据

新建ApArticleConfigService

package com.heima.article.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.pojos.ApArticleConfig;import java.util.Map;public interface ApArticleConfigService extends IService<ApArticleConfig> {/*** 修改文章配置* @param map*/public void updateByMap(Map map);
}

实现类:

package com.heima.article.service.impl;import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.heima.article.mapper.ApArticleConfigMapper;
import com.heima.article.service.ApArticleConfigService;
import com.heima.model.article.pojos.ApArticleConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.Map;@Service
@Slf4j
@Transactional
public class ApArticleConfigServiceImpl extends ServiceImpl<ApArticleConfigMapper, ApArticleConfig> implements ApArticleConfigService {/*** 修改文章配置* @param map*/@Overridepublic void updateByMap(Map map) {//0 下架 1 上架Object enable = map.get("enable");boolean isDown = true;if(enable.equals(1)){isDown = false;}//修改文章配置update(Wrappers.<ApArticleConfig>lambdaUpdate().eq(ApArticleConfig::getArticleId,map.get("articleId")).set(ApArticleConfig::getIsDown,isDown));}
}
http://www.yayakq.cn/news/241887/

相关文章:

  • 简述电子商务网站的内容设计与开发公司网站放哪些内容
  • 多语言网站(如何实现网站的多语言版本 )上海发布最新情况
  • 商丘微网站下沙做网站的
  • 网站降权多久恢复程序员和网站建设
  • 为什么要做外贸网站珠海网站专业制作
  • 番禺建设局网站首页建设有限公司网站
  • 重庆seo整站优化外包服务免费网站模板的制作方法
  • 公司网站设计图网站建设与网页设计课程设计
  • 天津市中小企业局网站wordpress 注册码授权
  • 大学做视频网站设计微信游戏网站源码怎么做
  • 网站统计帮哪个好吉林网站备案
  • 建立网站服务的公司网站网站建设的基本条件
  • 网站项目在哪接网络服务器租用价格
  • 大连企业网站建设公司杭州网站建设的公司
  • 青阳做网站微信网站cms
  • 网站建设及维护成本金坛做网站公司
  • 海南省做购房合同网站wordpress缩略图幻灯展现
  • 网站开发的任务要求免费企业建站cms
  • 石家庄进入应急状态手机优化助手怎么样
  • 厦门建站程序网站让女友做网站模特
  • 广州网站制作建设wordpress获取指定图片大小
  • 做母婴用品的网站有哪些增城电子商务网站建设
  • seo资源网站 排名制作网页最简单的方法
  • 南城网站建设公司策划城市建设协会网站
  • jsp开源网站网站平台免费
  • 用花生壳免费域名做公司网站申请域名需要多久
  • 网站数据库怎么做同步网店装修的流程是什么
  • 东莞网网站公司简介黑马程序员学费多少
  • 京东联盟怎么做网站农家乐网站 建设
  • 网站开发人员岗位分布说明广东人社厅网上服务平台