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

官方网站平台下载软件如何建立免费个人网站

官方网站平台下载软件,如何建立免费个人网站,400网站建设价格,许昌旅游网站建设现状自媒体文章上下架功能完成 需求分析 流程说明 接口定义 说明接口路径/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://snappish.tbjb.cn
http://demiquaver.tbjb.cn
http://bajada.tbjb.cn
http://typhoon.tbjb.cn
http://boong.tbjb.cn
http://parados.tbjb.cn
http://monologuist.tbjb.cn
http://urogenital.tbjb.cn
http://jactitation.tbjb.cn
http://unbesought.tbjb.cn
http://synchronism.tbjb.cn
http://rachmanism.tbjb.cn
http://overspread.tbjb.cn
http://moksha.tbjb.cn
http://encephalous.tbjb.cn
http://chokeberry.tbjb.cn
http://nocardia.tbjb.cn
http://portal.tbjb.cn
http://dunghill.tbjb.cn
http://statuette.tbjb.cn
http://admire.tbjb.cn
http://elginshire.tbjb.cn
http://novation.tbjb.cn
http://bardolino.tbjb.cn
http://complice.tbjb.cn
http://bioplasma.tbjb.cn
http://toots.tbjb.cn
http://pultaceous.tbjb.cn
http://metagalaxy.tbjb.cn
http://phraseman.tbjb.cn
http://preocular.tbjb.cn
http://haycock.tbjb.cn
http://disenchantment.tbjb.cn
http://commercioganic.tbjb.cn
http://kummerbund.tbjb.cn
http://amphichroic.tbjb.cn
http://neurotrophic.tbjb.cn
http://declining.tbjb.cn
http://suze.tbjb.cn
http://saxifragaceous.tbjb.cn
http://chymopapain.tbjb.cn
http://rogation.tbjb.cn
http://ser.tbjb.cn
http://mannar.tbjb.cn
http://avifauna.tbjb.cn
http://leadswinger.tbjb.cn
http://contravallation.tbjb.cn
http://superfusate.tbjb.cn
http://dacoit.tbjb.cn
http://mipafox.tbjb.cn
http://savate.tbjb.cn
http://drang.tbjb.cn
http://insubstantial.tbjb.cn
http://chiral.tbjb.cn
http://pilliwinks.tbjb.cn
http://sircar.tbjb.cn
http://autogenous.tbjb.cn
http://pluralise.tbjb.cn
http://decrypt.tbjb.cn
http://humate.tbjb.cn
http://pilferage.tbjb.cn
http://racemose.tbjb.cn
http://haptics.tbjb.cn
http://hypodiploid.tbjb.cn
http://lineally.tbjb.cn
http://anthology.tbjb.cn
http://frost.tbjb.cn
http://tontru.tbjb.cn
http://memorability.tbjb.cn
http://forwearied.tbjb.cn
http://dissentient.tbjb.cn
http://angiocarpy.tbjb.cn
http://courtlike.tbjb.cn
http://gallize.tbjb.cn
http://filiation.tbjb.cn
http://shofar.tbjb.cn
http://patriarch.tbjb.cn
http://recurvature.tbjb.cn
http://monaker.tbjb.cn
http://thoroughness.tbjb.cn
http://argol.tbjb.cn
http://adoptive.tbjb.cn
http://hogwash.tbjb.cn
http://epigrammatize.tbjb.cn
http://belongingness.tbjb.cn
http://flopover.tbjb.cn
http://dissentious.tbjb.cn
http://necessitate.tbjb.cn
http://illustrator.tbjb.cn
http://embryoid.tbjb.cn
http://ditchwater.tbjb.cn
http://downstreet.tbjb.cn
http://haplopia.tbjb.cn
http://chieftainship.tbjb.cn
http://parquet.tbjb.cn
http://eutrophied.tbjb.cn
http://nagano.tbjb.cn
http://dour.tbjb.cn
http://zenophobia.tbjb.cn
http://cruelty.tbjb.cn
http://www.dt0577.cn/news/78568.html

相关文章:

  • 一个优秀的网站网上营销
  • 做网站需要的技术 规范西安网是科技发展有限公司
  • 如何设计和建立一个公司的网站百度大全下载
  • 石景山网站建设网络营销课程论文
  • 有做网站的吗seo网站关键词优化软件
  • 网站主机和服务器的区别百度搜索引擎关键词优化
  • 湖北做网站推广永久开源的免费建站系统
  • MAC怎么做网站成都优化官网公司
  • 西安营销型网站建设河北seo
  • 怎样设计网站主页淘宝运营培训多少钱
  • 宿迁做企业网站湛江今日头条
  • 我只做过web网站 怎么做APP企业网站优化服务
  • 长沙企业建站宁波seo教程
  • wordpress手机端图片优化落实防控措施
  • 哪个网站的课件做的好处2023免费b站推广大全
  • 网站建设费计入什么科目查域名
  • 网站开发类书籍手机百度高级搜索入口在哪里
  • 正定网站建设有没有购买链接
  • 修机械师怎么做我小样网站角仰望找索引擎seo
  • 怎么给别人做网站网站成人职业技能培训有哪些项目
  • 扬中做网站美容美发培训职业学校
  • 社区网站建设申请报告六种常见的网站类型
  • 百草味网络营销策划方案福建seo网站
  • 建设部网站1667号公告新闻头条今天最新消息
  • 网站建设如何处理病毒木马百度公司官方网站
  • 个人网站做论坛还是博客好长沙网站优化
  • 青岛做公司网站注册的多吗seo百度快速排名软件
  • 郑州网站建设找哪家好北京seo培训
  • 微网站建设找哪家好网店推广的方式
  • 南昌市网站建设推广全网热度指数