红点系统设计思路

业务需求

  1. 在发布公告和有订单消息通知的时候,首页要出现红点。
  2. 点击到消息列表,查看消息详情,红点要消失。

数据库设计

  1. 红点信息表 red_point_info
字段 类型 备注
id char 主键
type tinyint 红点类型:1公告 2消息
target_key varchar target_ids的规则,比如说,role_dept department_id:2,role_id:3
target_ids varchar id组,根据target_key 去设置
object_id varchar 对象的id,type为公告时,object_id为公告id
  1. 已读红点表red_point_read
字段 类型 备注
id char 主键
employee_id char 已读员工id
red_point_info_id char 红点信息id

业务逻辑

  • 新增:
    服务端:用mq接收,按照数据库字段的规则校验数据。
    客户端:用监听者模式,在Listener类发送mq信息
  • 分页:先查询已读表,拼接red_point_info_id,在查询的时候not in已读表查询出来的信息
    根据target_key和target_ids获取当前用户的信息
  • 已读:在已读表添加一条数据
posted @ 2021-02-20 11:32  那个男孩很坏  阅读(442)  评论(0编辑  收藏  举报