279 lines
15 KiB
Protocol Buffer
279 lines
15 KiB
Protocol Buffer
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 语音的url(amr格式);6小程序的xml;
|
||
string share_title = 3; // 5链接的标题;
|
||
string share_desc = 4; // 5链接的描述;
|
||
string share_url = 5; // 5链接的URL;
|
||
string file_url = 6; // 3图片的url;4视频的Url;5链接的分享图;8表情的url(gif);9文件的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; // 个性签名
|
||
}
|