mdbc/mdbc.proto
2022-02-23 16:59:45 +08:00

279 lines
15 KiB
Protocol Buffer
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
import "google/protobuf/timestamp.proto";
package mdbc;
option go_package = "./;mdbc";
// @table_name: tb_friends_info
message ModelFriendInfo {
string id = 1; // 主键ID wxid md5
string wechat_id = 2; // 用户微信ID
// @bson: nick_name
string nickname = 3; // 用户暱称
string wechat_alias = 4; // 用户微信号
string avatar_url = 5; // 用户头像
string phone = 6; // 手机号码
string country = 7; // 国家
string province = 8; // 省份
string city = 9; // 城市
int32 sex = 10; // 0未知 1男 2女
int64 create_time = 12; // 创建时间
int64 update_time = 13; // 更新时间
}
enum AdminType {
// @desc: 普通用户
AdminTypeNil = 0;
// @desc: 管理员
AdminTypeAdmin = 1;
// @desc: 群主
AdminTypeOwner = 2;
}
// @table_name: tb_crm_group_chat
message ModelGroupChat {
string id = 1; // 主键ID
int64 created_at = 2; // 创建时间
int64 updated_at = 3; // 更新时间
int64 deleted_at = 4; // 删除时间【记: 此表正常情况下 只进行软删除】非零 历史群 0正常群
string robot_wx_id = 6; // 机器人id
string group_wx_id = 7; // 群id
string owner_wx_id = 8; // 群主id
string group_name = 9; // 群名称
uint32 member_count = 10; // 群成员数量
string owner_name = 11; // 群主名称
string group_avatar_url = 12; // 群头像
bool is_watch = 13; // 是否关注群
bool has_been_watch = 14; // 以前有关注过
bool is_default_group_name = 15; // 是否是默认的群名称
bool in_contact = 16; // 是否在通讯录中
bool disable_invite = 17; // 是否开启了群聊邀请确认 true 开启了 false 关闭了
int64 last_sync_at = 20; // 最后更新群信息时间 【通过这里 指定规则 去拉群基本信息】
int64 last_sync_member_at = 21; // 最后更新群成员时间 【通过这里 指定规则 去拉群成员信息】
string notice = 22; // 群公告
int64 qrcode_updated_at = 23; // 群聊二维码更新时间
string qrcode_url = 24; // 群聊二维码
AdminType admin_type = 25; // 机器人权限类型
}
// @table_name: tb_crm_group_chat_member
message ModelGroupChatMember {
string id = 1; // id
int64 created_at = 2; // 创建时间
int64 updated_at = 3; // 更新时间
int64 deleted_at = 4; // 删除时间 这个表一般直接硬删除
string group_chat_id = 5; // 群 ModelGroupChat 的ID
string member_wx_id = 6; // 群成员微信id
string member_name = 7; // 群成员名称
string member_avatar = 8; // 群成员头像
string member_alias = 9; // 群昵称
uint32 member_sex = 10; // 性别
bool is_robot = 11; // 是否是机器人
AdminType admin_type = 12; // 权限类型 群主 管理员 普通成员
int64 last_sync_at = 13; // 该群该成员 最后更新时间
}
// @table_name: tb_crm_private_msg_session
message ModelTbPrivateMsgSession {
string id = 1; //会话ID (md5(机器人id+好友id))
int32 all = 2; //消息最大游标(消息总数:只算有效的消息)
int32 read = 3; //已读游标
int32 unread = 4; //未读消息游标
int64 last_msg_at = 5; //最后一条消息时间
int64 last_friend_msg_at = 6; //接受到最后一条好友消息时间
string robot_wx_id = 7; //机器人id
string user_wx_id = 8; //好友微信id
string last_msg_id = 9; //最后一条消息id
string last_friend_msg_id = 10; //接收的最后一条好友消息id
}
// @table_name: tb_crm_group_msg_session
message ModelTbGroupMsgSession {
string id = 1; //会话ID (md5(机器人id+好友id))
int32 all = 2; //消息最大游标(消息总数:只算有效的消息)
int32 read = 3; //已读游标
int32 unread = 4; //未读消息游标
int64 last_msg_at = 5; //最后一条消息时间
int64 last_friend_msg_at = 6; //接受到最后一条好友消息时间
string robot_wx_id = 7; //机器人id
string user_wx_id = 8; //群微信id
string last_msg_id = 9; //最后一条消息id
string last_friend_msg_id = 10; //接收的最后一条好友消息id
string last_member_wx_id = 11; //最后发送消息的群成员id
}
// @table_name: tb_crm_robot_private_msg
message ModelTbRobotPrivateMsg {
string id = 1; // 主键ID
string bind_id = 3; // 前端消息id
string robot_wx_id = 4; // 机器人id
string user_wx_id = 5; // 好友id
string msg_id = 6; // 服务端自己生成一个消息id来对应客户端的发送结果id
int32 msg_type = 7; // 消息类型
int32 send_status = 8; // 发送状态0发送中1发送请求成功2发送请求失败3发送成功4发送失败仅机器人发送。接收到用户消息的默认3
int32 direct = 9; // 用于区分机器人是接收方还是发送方。1机器人接收2机器人发送
int32 send_error_code = 10; // 发送错误码:用户告诉对应的是什么错误:-1 通用错误码; -2 被拉黑; -3
// 被删除; -4 好友找不到;
bool content_read = 12; // 是否内容被浏览(像语音之类的,需要浏览)
int64 created_at = 13; // 创建时间
int64 updated_at = 14; // 更新时间
string fail_reason = 15; // 失败原因
int64 call_back_at = 16; // 消息返回时间
int64 cursor = 17; // 消息游标对应session的all
int64 send_at = 18; // 发送时间(消息实际生效时间)
int64 expire_at = 19; // 失效时间(用于消息的失效)
ContentData content_data = 20; // 消息内容
}
// @table_name: tb_crm_robot_group_msg
message ModelTbRobotGroupMsg {
string id = 1; // 主键ID
string bind_id = 3; // 前端消息id
string robot_wx_id = 4; // 机器人id
string user_wx_id = 5; // 群聊id
string msg_id = 6; // 服务端自己生成一个消息id来对应客户端的发送结果id
int32 msg_type = 7; // 消息类型
int32 send_status = 8; // 发送状态0发送中1发送请求成功2发送请求失败3发送成功4发送失败仅机器人发送。接收到用户消息的默认3
int32 direct = 9; // 用于区分机器人是接收方还是发送方。1机器人接收2机器人发送
int32 send_error_code = 10; // 发送错误码:用户告诉对应的是什么错误:-1 通用错误码; -2 被拉黑; -3
// 被删除; -4 好友找不到;
bool content_read = 12; // 是否内容被浏览(像语音之类的,需要浏览)
int64 created_at = 13; // 创建时间
int64 updated_at = 14; // 更新时间
string fail_reason = 15; // 失败原因
int64 call_back_at = 16; // 消息返回时间
int64 cursor = 17; // 消息游标对应session的all
int64 send_at = 18; // 发送时间(消息实际生效时间)
int64 expire_at = 19; // 失效时间(用于消息的失效)
ContentData content_data = 20; // 消息内容
string sender_wx_id = 21; // 发送者id
}
message ContentData {
string raw_content = 1; // 元始的xml数据 做数据转发时用;
string content = 2; // 1文本的内容2 语音的urlamr格式6小程序的xml
string share_title = 3; // 5链接的标题
string share_desc = 4; // 5链接的描述
string share_url = 5; // 5链接的URL
string file_url = 6; // 3图片的url4视频的Url5链接的分享图8表情的urlgif9文件的url
string share_user_name = 7; // 7名片的被分享名片好友id
string share_nick_name = 8; // 7名片的被分享名片的昵称
repeated AtMsgItem at_msg_item = 9; // 发送群@部分人消息的数据
int32 wx_msg_type = 10; // 消息类型: 1 文本2 语音3 图片4 视频5 链接6 小程序7
// 名片8 表情9 文件10 验证消息如好友申请11 视频号消息12
// 视频号直播间13 视频号名片;
double file_size = 11; // 文件大小KB单位
int32 resource_duration = 12; // 媒体时长 统一单位s
repeated string at_user_name = 13; // 群聊at消息
bool is_at_myself = 14; // 是否有at我自己 单独一个字段 方便维护和查询
}
message AtMsgItem {
int32 SubType = 1; // 0文本内容1@某人
string Content = 2; // 文本内容
string UserName = 3; // @的用户(wx_id)
string NickName = 4; // @的昵称
}
enum TaskState {
TaskStateNil = 0; //已初始化
TaskStateRunning = 1; //运行中
TaskStateFailed = 2; //失败退出
TaskStateCompleted = 3; //完成
}
// 异步任务
// @table_name: tb_crm_sched_task
message ModelSchedTask {
string id = 1; //任务id
int64 created_at = 2; //创建时间
int64 updated_at = 3; //更新时间
uint32 task_state = 4; //执行状态 TaskState
string task_type = 5; //任务类型 自定义的名称 用来区别是哪个模块发起的任务
string req_id = 6; //便于查询该任务 指定的id[作用:有些情况 无法直接通过id来查询该记录]
string req_json = 7; //请求内容
string rsp_json = 8; //完成后的内容 [成功或者失败的返回]
string robot_wx_id = 9; //机器人id
google.protobuf.Timestamp expired_at = 10; //过期时间
}
// @table_name: tb_robot_friend
message ModelRobotFriend {
string id = 1; // 主键ID 机器人id+朋友id md5
string robot_wechat_id = 2; // 机器人编号:微信ID
string user_wechat_id = 3; // 用户微信ID,
int64 deleted = 4; // 是否被删除 0双方未删除 1被好友删除 2删除了好友 3互相删除
int64 offline_add = 5; // 是否为离线添加
string remark_name = 6; // 微信好友备注名称
string pinyin = 7; // 用户备注或者暱称的拼音
string pinyin_head = 8; // 拼音首字母
int64 delete_time = 9; // 删除好友的时间
int64 create_time = 10; // 创建时间:入库时间
int64 update_time = 11; // 更新时间
int64 add_at = 12; // 添加好友时间只有主动添加好友才有
string crm_phone = 13; // CRM自己设置的好友手机号不同于微信手机号
}
// @table_name: tb_ws_connect_record
message ModelWsConnectRecord {
string id = 1; // 主键ID wxid md5
string user_id = 2; // 机器人所属用户id
int64 created_at = 3; // 记录创建时间
int64 login_at = 4; // 登录时间
int64 logout_at = 5; // 登出时间
string bind_id = 6; // 该ws绑定的id
google.protobuf.Timestamp expired_at = 10; // 过期时间
}
// @table_name: tb_robot
message ModelRobot {
// @json: _id
string id = 1; // 主键ID wxid md5
string user_id = 2; // 机器人所属用户id
string crm_shop_id = 3; // 机器人所属商户id
string alias_name = 4; // 微信号
string nick_name = 5; // 机器人暱称
string wechat_id = 6; // 微信唯一ID (wxidxxxxxx)
string wechat_alias = 7; // 微信ID (用户自己定义的微信号)
string avatar_url = 8; // 机器人头像
int32 sex = 9; // 性别 0 未知 1 男生 2 女生
string mobile = 10; // 手机号码
string qrcode = 11; // 机器人二维码
int64 status = 12; // 机器人PC是否在线 10在线 11离线 (兼容之前的pc登录流程和其他接口这个登录状态不变,补多一个字段代表安卓登录状态)
int64 limited = 13; // 机器人是否被封号 0未封号 1已封号
int64 ability_limit = 14; // 机器人是否功能受限
int64 init_friend = 15; // 机器人初始好友人数
int64 now_friend = 16; // 机器人当前好友数量
int64 auto_add_friend = 17; // 机器人是否自动通过好友请求 0否 1是
int64 last_login_time = 18; // 最后登录时间
int64 last_log_out_time = 19; // 最后登出时间
string last_region_code = 20; // 最后登录的扫码设备的地区编码
string last_city = 21; // 最后登录的城市名称
int64 today_require_time = 22; // 当天请求次数
int64 last_require_add_friend_time = 23; // 上一次请求添加好友的时间
int64 crm_auto_add_friend = 24; // crm系统自动通过好友 1自动通过 0不自动通过
int64 delete_time = 25; // 删除时间
int64 create_time = 26; // 创建时间
int64 update_time = 27; // 更新时间
int64 log_and_out_time = 28; // 登入或者登出都要记录一下
int64 android_status = 29; // 机器人Android是否在线 10在线 11离线
string greet_id = 30; // 打招呼模板id
string android_wechat_version = 31; // 微信版本
uint32 risk_control_group = 33; // 风控分组
int64 last_pc_login_at = 34; // 最近PC登录时间
int64 last_pc_logout_at = 35; // 最近PC登出时间
int64 last_android_login_at = 36; // 最近安卓登录时间
int64 last_android_logout_at = 37; // 最近安卓登出时间
string risk_control_task = 38; // 风控任务 0是全部1是回复2是发消息3是看朋友圈4是发朋友圈5是点赞6是评论 7是群聊 可组合1,2,3
bool open_for_stranger = 39; // 是否允许陌生人查看十条朋友圈
int32 moment_privacy_type = 40; // 朋友圈隐私选项类型
string cover_url = 41; // 朋友圈封面url
string country = 42; // 国家
string province = 43; // 省份
string city = 44; // 城市
string signature = 45; // 个性签名
}