给自己复盘的tjxt笔记的day5第一部分

问答系统

开发流程

首先需求分析,其次接口统计和设计,得到下列表格

综上,与问答系统有关的接口有:

编号

接口简述

互动问题相关接口

1

新增互动问题

2

修改互动问题

3

分页查询问题(用户端)

4

根据id查询问题详情(用户端)

5

删除我的问题

6

分页查询问题(管理端)

7

根据id查询问题详情(管理端)

8

隐藏或显示指定问题(管理端)

回答及评论相关接口

1

新增回答或评论

2

分页查询回答或评论列表

4

隐藏或显示指定回答或评论(管理端)

构建数据库

根据需求和接口分析,找到问题字段

基本属性

  • 标题

  • 描述

关联信息:

  • 用户id:也就是提问的人

  • 课程id

  • 章id

  • 节id

功能字段:

  • 是否是匿名

      回复评论字段

首先是基本属性

  • 回答的内容

功能字段

  • 是否是匿名

  • 点赞数量

然后是关联信息

  • 用户id:也就是回答的人

  • 问题id:无论是回答、评论,都属于某个问题

接下来是评论的特有属性

  • 回答id:一个回答下会有很多评论,评论之间也会相互评论,但我们把回答下所有评论作为一层来展示。因此该回答下的所有评论都应记住所属的回答的id

  • 目标用户id:评论针对的目标用户,页面显示为 张三评论了李四

  • 目标评论id:评论针对的目标评论的id

根据对字段的分析构造两张表格,一张问题表格,一张评论回复表格

构建分支,利用MP生成代码,对状态量引入枚举简化代码

问题相关接口

新增问题

  @Override
    @Transactional
    public void saveQuestion(QuestionFormDTO questionDTO) {
        // 1.获取登录用户
        Long userId = UserContext.getUser();
        // 2.数据转换
        InteractionQuestion question = BeanUtils.toBean(questionDTO, InteractionQuestion.class);
        // 3.补充数据
        question.setUserId(userId);
        question.setCreateTime(LocalDateTime.now());
        question.setUpdateTime(LocalDateTime.now());
        // 4.保存问题
        save(question);
    }

修改问题(练习)

@Override
    public v
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值