mdbc/mdbc.proto

279 lines
15 KiB
Protocol Buffer
Raw Normal View History

2022-02-23 08:59:45 +00:00
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; // 个性签名
}