订阅
合集id:订阅后在收藏-我追的合集中
订阅活动
- 转换成 LR5921
- 添加 activity 订阅 (后续在 help_activity 中通知所有此订阅的用户)
订阅早上好
- 转换成 LR5921
- 添加 morning 订阅
订阅晚安
- 转换成 LR5921
- 添加 evening 订阅
订阅 up
- 转换成 LR5921
- 使用 re 分割 up 主名称
- 搜索 up 信息
- 返回信息值
- 设置 up 状态,包含订阅信息
订阅 up 确认
- 删除 up 状态
- 确认:通过订阅信息订阅用户、id、姓名作为 订阅用户、订阅项(up_xxx)、订阅信息(up 昵称)
- 插入数据库
- 更新所有其他订阅此 up 的名称(只有其他人订阅了同一 up,才会更新 up 的昵称)
- 如果此 up 不在 up 轮询表中,添加
- 取消:直接取消
订阅删除
- 转换为 LR5921
- 使用 re 分割
- 若可以分割
- 转换,并删除对应 id 的用户订阅
- 查找,若无则删除失败
- 删除
- 若不可以分割
- 查找用户订阅
- 返回 id:信息
- 若可以分割
订阅活动提醒
- 对于所有包含 activity 状态的用户,发送'活动更新\n\nxxx'
订阅轮询
- 早上好及晚上好
- 若不在时间区间(早:6-15,晚:21-23),返回
- 获取 system_data 中的 subscribe_morning 和 subscribe_evening 的值,若为今天,则发过,返回
- 获取对应合集(合集 id 为点入合集后 url 中的后一项)中第一项
- 若发布时间不在今天或不在时间段内
- 使用倒序查询合集,继续判断发布时间不在今天或不在时间段内
- 若不存在
- 返回
- 若存在
- 删除 morning_xx 或者 evening_xx 历史的所有失败
- 下载视频
- 对于订阅用户发送语音
- up 轮询
- 查找 up 开头的订阅,加入 up 列表,并开始轮询:
- 查询 up 视频
- 获取 bv 与 system_data 中的比较
- 若不同,推送
- 查找 up 开头的订阅,加入 up 列表,并开始轮询:
一个小问题
- 视频可能会晚一点加入合集,即可能先收到视频消息,10 分钟后再收到早上好/晚安
关于合集订阅为什么要正序倒序各查一次的原因
- 顺序包括:A 默认排序(使用接口);B 升序排序(使用接口)、C 最新添加(用户空间合集的排序顺序)、D 最早添加(用户空间合集的排序顺序)、E 合集默认顺序(播放合集视频时右侧的视频顺序)
- X 为添加顺序(在编辑页面选择视频添加进合集的顺序),最新发布的视频在 A 默认排序、C 最新添加、E 合集默认顺序的第一个
- 故 X添加顺序(默认,最新视频在第一个)=A默认排序=C最新添加=E合集默认顺序≠B升序排序=D最早添加
- 手动调整了上传顺序后,X添加顺序=A默认排序= C最新添加≠B升序排序=D最早添加
- 解释为:由于合集默认的添加顺序,日期新的在前面,所以合集中的“最新添加”排序方式与默认的相同(此点有点反直觉,特别是当排序故意相反时,最新添加的第一条反而是最早的)
- 合集标题可以与视频标题不同
- 这几日的现象:
- 早上好的视频中,A 默认排序中最早发布的在第一个,与 X 添加顺序的默认顺序完全相反,可以推测经过了手动排序,每次把最新的视频拖到最后面
- 爱哥 9.11 日前,E 合集默认顺序中,最新发布的视频在最前面,可能是 X 添加顺序采用了默认顺序
- 但 9.11,爱哥上传了合集标题为 9-12 的视频;9.12 视频的合集标题与视频标题相同,且 E 合集默认顺序中跑到最后面去了
- 推测为:爱哥的 X 添加顺序不是使用默认顺序,而是手动排序中,使用合集标题进行时间倒序(向下箭头)
- 9.12 上传视频时,由于该标题(9-12)已经用过了,更改标题未成功(可能没有注意到错误显示),导致合集标题=视频标题
- 经过排序就到了最下面
- 9.14,爱哥把 9.12-14 的视频的合集标题更改为对应日期
- 其中 9.13 日视频命名成了 9-03 但是也能正常排序,推测为:直接更改合集标题,然后从最后拖到最前面来的,没有点击按时间倒序排序
- 9.15 的视频晚了 21 分钟,推测是更改排序后,视频合集定时发布的逻辑错误,仍然按照默认排序发布,导致 9.15 排在最后(晚发难道是第一次由于合集更改顺序发送失败了?)