从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

这篇具有很好参考价值的文章主要介绍了从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目持续更新中:

仿抖音短视频APP专栏

目录

保存系统消息到MongoDB

系统消息入库保存-关注

系统消息入库保存-点赞短视频

系统消息入库保存-评论与回复


保存系统消息到MongoDB

我们把mongoDB整合到Springboot之后,我们需要把映射层面做好。

首先在model创建一个新的对象层面,也就是一个新的包:

我们这里简写为mo

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 随后创建一个class,与我们当前业务对象保持一致:

package com.imooc.mo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.Date;
import java.util.Map;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Document("message")
public class MessageMO {

    @Id
    private String id;//消息主键id

    @Field("fromUserId")
    private String fromUserId;//消息来自的用户id

    @Field("fromNickId")
    private String fromNickId;//消息来自的用户昵称

    @Field("fromFace")
    private String fromFace;//消息来自的用户头像

    @Field("toUserId")
    private String toUserId;//消息来自的用户id

    @Field("msgType")
    private Integer msgType;//消息类型 枚举

    @Field("msgContent")
    private Map msgContent;//消息内容

    @Field("createTime")
    private Date createTime;//消息创建时间
}

有了对象之后,就要争对对象进行操作,也就是我们的业务层:

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 接着就要实现:
从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 我们以前使用的通用的mapper,在这里我们要和mongoDB做交互,我们这里使用的repository也是需要接口去构建的,我们在数据层中新建一个包,再添加一个:

我们可以把MessageRepository当成一个通用Mapper,因为它集成了很多的方法

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

import com.imooc.pojo.Users;
import com.imooc.repository.MessageRepository;
import com.imooc.service.MsgService;
import com.imooc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.Map;

@Service
public class MsgServiceImpl implements MsgService {

    @Autowired
    private MessageRepository messageRepository;

    @Autowired
    private UserService userService;

    @Override
    public void createMsg(String fromUserId,
                          String toUserId,
                          Integer type,
                          Map msgContent){

        Users fromUser = userService.getUser(fromUserId);
        MessageMO messageMO = new MessageMO();
        messageMO.setFromUserId(fromUserId);
        messageMO.setFromNickId(fromUser.getNickname());
        messageMO.setFromFace(fromUser.getFace());

        messageMO.setToUserId(toUserId);

        messageMO.setMsgType(type);
        if(msgContent != null){
            messageMO.setMsgContent(msgContent);
        }

        messageMO.setCreateTime(new Date());

        messageRepository.save(messageMO);
    }

}

 这里就完成了我们业务层的编写。

系统消息入库保存-关注

接下来我们需要把调用的地方做一个完善,基于以下五种我们就要做一个消息的入库

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 在我们的doFollow关注结束之后,我们要去提示对方用户某某人关注了你

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 //系统消息:关注 msgService.createMsg(myId,vlogerId, MessageEnum.FOLLOW_YOU.type,  null );

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 我们这里关注的内容是不需要进行展示的,所以在这里只需要传入一个null

随后我们重新启动一下,做一个关注,

刷新一下打开mongoDB 

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 这个就是我们的数据从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 mongoDB当字段为null时,该数据是不会存在的

系统消息入库保存-点赞短视频

当我们插入数据完成之后,系统也需要发送一条点赞短视频的消息

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 点赞短视频我们是需要把短视频的封面给得到的

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

所以我们在设置的时候要传入vlogCover

        //系统消息:点赞短视频
        Vlog vlog = this.getVlog(vlogId);
        Map msgContent = new HashMap();
        msgContent.put("vlogId",vlogId);
        msgContent.put("vlogCover",vlog.getCover());
        msgService.createMsg(userId,
                    vlog.getVlogerId(),
                    MessageEnum.LIKE_VLOG.type,
                    msgContent);
    }
private  Vlog getVlog(String id){
        return vlogMapper.selectByPrimaryKey(id);
}

 重新启动,测试:

点赞这个视频

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 随后我们到数据库中看一下

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 主要是看后方,此时是多了一个数据

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

系统消息入库保存-评论与回复

这里我们可以将评论和回复评论放在一起去处理 

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 这里我们需要对public Vlog getVlog(String id)扩展 重新,写入接口

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

在这里就可以查询

     //系统消息:评论/回复
        Vlog vlog = vlogService.getVlog(commentBO.getVlogId());
        Map msgContent = new HashMap();
        msgContent.put("vlogId",vlog.getId());
        msgContent.put("vlogCover",vlog.getCover());
        msgContent.put("commentId",commentId);
        msgContent.put("commentContent",commentBO.getContent());
        Integer type= MessageEnum.COMMENT_VLOG.type;
        if(StringUtils.isNotBlank(commentBO.getFatherCommentId()) && !commentBO.getFatherCommentId().equalsIgnoreCase("0")){
            type = MessageEnum.REPLY_YOU.type;
        }

        msgService.createMsg(commentBO.getCommentUserId(),
                commentBO.getVlogerId(),
                type,
                msgContent);
        return commentVO;

接着我们重启测试:

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 接着到我们的mongoDB中查看:

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 此时我们可以发现这里的内容,对于前两天数据是空的从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 接着我们回复测试:

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 再来刷新:

从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

 这里就完成了我们系统消息对评论与回复的保存。文章来源地址https://www.toymoban.com/news/detail-429674.html

到了这里,关于从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3 - swiper插件 实现PC端的 视频滑动功能(仿抖音短视频)

     swiper官网 ​​​​​​swiper属性/组件查询 步骤: ① npm install swiper 安装 ② 基础模板:   如图: 属性: direction = \\\" \\\'vertical\\\' \\\" ,滑动方向,vertical 垂直方向。(注:一定要两对引号包裹着,否则不生效,还要给swiper设置实高) modules = \\\"modules\\\" grabCursor=\\\"true\\\" ,鼠标手掌形状

    2024年02月03日
    浏览(76)
  • 【Android App】实战项目之仿抖音的短视频分享App(附源码和演示视频 超详细必看)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 与传统的影视行业相比,诞生于移动互联网时代的短视频是个全新行业,它制作方便又容易传播,一出现就成为大街小巷的时髦潮流。 各行各业的人们均可通过短视频展示自己,短小精悍的视频片段原来能够容纳如此丰富的

    2024年02月03日
    浏览(40)
  • 抖音短视频矩阵系统-源码-系统搭建

    目录  1. 短视频AI智能创作 2. 托管式账号管理: 3. 数据分析  4. 智能营销获客 开发流程 抖音账号矩阵系统开发,抖音账号矩阵系统源码搭建,抖音账号技术系统源码部署 抖音矩阵系统专注于为短视频私域运营达人或企业提供一站式赋能服务平台。具体包括智能触客一键式自

    2024年02月11日
    浏览(61)
  • 抖音短视频矩阵系统/源码/系统搭建

    矩阵推广是一种非常重要的营销思维。玩的都是高手,自然不缺流量。 那么,短视频矩阵系统是什么?我给你介绍一下吧! 我们可以理解为矩阵是多账户操作,每个数之间有一定的相关性。通过布局一定数量的账号,通过工具、技术、运营策略等手段,获取流量。 那么,短

    2024年02月16日
    浏览(48)
  • 抖音短视频矩阵系统源码开发搭建技术开源分享

    抖音短视频矩阵系统源码开发采用模块化设计,包括账号分析、营销活动、数据监控、自动化管理等功能。通过综合分析账号数据,快速发现账号的优势和不足,并提供全面的营销方案,以提高账号曝光率和粉丝数量。同时,系统还支持多账号管理和自动化操作,有效降低账

    2024年02月19日
    浏览(53)
  • 从零开始一套完整的短视频运营方案,想做抖音快手短视频的速来观摩。

    从零开始一套完整的短视频运营方案,想做抖音快手短视频的速来观摩。 你的抖音账号不愠不火的,播放量很低很低,内容都是千篇一律,觉得的自己的不是适合做短视频,这里提供了一篇标准的短视频运营方案,不管你是短视频小白还是运营大神都可以看一下,查缺补漏,

    2024年01月19日
    浏览(47)
  • 从零开始搭建后端信息管理系统(新手小白比如)

    如果你是新手小白,首先我们要进行一些准备工作,安装一些基础软件, 备注一下:这里安装的vue环境的后台管理系统,不同的后台管理系统,需要安装不同的插件 准备工作: 安装 Visual Studio Code nodejs 配置插件    首先安装开发环境Visual Studio Code 打开官网:下载 Visual Stu

    2024年04月11日
    浏览(59)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(55)
  • uniapp 开发之仿抖音,上下滑动切换视频、点击小爱心效果

    效果图:   功能描述: 上下滑动视频,双击暂停,然后第一个视频再往上滑显示”已经滑到顶了“ 开始代码: 首先视频接口使用的公开的视频测试接口 开放API-2.0  官网展示                      Swagger UI  接口文档 一开始编写如下:  注解: autoplay=\\\"true\\\" :设置视频在

    2024年02月09日
    浏览(98)
  • 抖音字幕视频怎么做能滚动 抖音个性字幕怎么做 抖音短视频用什么软件剪辑

    不管是抖音短视频,还是其他影视网站的影视剧,字幕基本都是必不可少的,字幕本身就能加强观众对视频的理解,而且像一些滚动字幕,会更加吸引观众的注意力,那抖音字幕视频怎么做能滚动?抖音个性字幕怎么做?本文将详细说明。 一、抖音字幕视频怎么做能滚动 以

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包