From 553964bd33b9c926573738e97344b8b9f70bb250 Mon Sep 17 00:00:00 2001 From: tangmingyou <234767776@qq.com> Date: Fri, 27 May 2022 17:43:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E5=88=97=E8=A1=A8=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- README.md | 3 +- ...n => so-im-backup-2022527172256.pdma.json} | 867 +++++++++++++++++- ...n => so-im-backup-2022527172300.pdma.json} | 867 +++++++++++++++++- ...n => so-im-backup-2022527174221.pdma.json} | 867 +++++++++++++++++- doc/db/so-im.chnr.json | 867 +++++++++++++++++- .../handler/msg/ResFriendListHandler.java | 2 +- .../handlers/user/ReqFriendListHandler.java | 1 + .../net/sopod/soim/data/msg/user/UserMsg.java | 81 +- .../main/resources/proto/user/UserMsg.proto | 1 + .../soim/logic/common/model/UserInfo.java | 2 + .../router/api/service/UserRouteService.java | 2 + .../logic/user/service/FriendServiceImpl.java | 27 +- .../router/config/ImRouterAppOnReady.java | 2 +- .../router/service/UserRouteServiceImpl.java | 13 + 15 files changed, 3587 insertions(+), 17 deletions(-) rename doc/db/.back_so-im/{so-im-backup-2022523162225.pdma.json => so-im-backup-2022527172256.pdma.json} (88%) rename doc/db/.back_so-im/{so-im-backup-2022523173150.pdma.json => so-im-backup-2022527172300.pdma.json} (88%) rename doc/db/.back_so-im/{so-im-backup-2022523173156.pdma.json => so-im-backup-2022527174221.pdma.json} (88%) diff --git a/.gitignore b/.gitignore index 4bd2418..b60e3f0 100644 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,4 @@ yarn-debug.log* yarn-error.log* /log -*/.back_so-im +*/.back_so-im/ diff --git a/README.md b/README.md index 2ef8c26..9aa3e7d 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ - 用户查询 - 添加好友 - 好友在线状态列表 - - (05-15~05-15) 消息群发(im-router 群消息路由,批量uid一致性哈希路由) + - (05-15~05-15) 消息群发(im-router群消息路由,批量uid一致性哈希路由) - 创群: - 加群:发送申请,推送申请,推送回复 - 删群 @@ -28,6 +28,7 @@ - (05-21~05-21) prometheus 服务发现,exporter(服务发现) 开发 - (05-22~05-22) 容器监控,主机监控,数据库监控,日志收集 - (05-23~05-24) 应用监控 + - (Dubbo线程池监控)[https://cloud.tencent.com/developer/article/1800906] - 通讯指标监控,请求量,吞吐量,延时,请求节点分布,链路追踪 - 数据库连接池监控 - (05-25~05-25) 压测:压测开发 diff --git a/doc/db/.back_so-im/so-im-backup-2022523162225.pdma.json b/doc/db/.back_so-im/so-im-backup-2022527172256.pdma.json similarity index 88% rename from doc/db/.back_so-im/so-im-backup-2022523162225.pdma.json rename to doc/db/.back_so-im/so-im-backup-2022527172256.pdma.json index f365a36..1e43f0d 100644 --- a/doc/db/.back_so-im/so-im-backup-2022523162225.pdma.json +++ b/doc/db/.back_so-im/so-im-backup-2022527172256.pdma.json @@ -4,7 +4,7 @@ "avatar": "", "version": "4.1.1", "createdTime": "2022-3-7 15:11:08", - "updatedTime": "2022-5-23 16:22:23", + "updatedTime": "2022-5-27 17:22:49", "profile": { "default": { "db": "8FE7C65E-40EB-41B6-B60E-79063AFF6273", @@ -1884,6 +1884,851 @@ ], "correlations": [], "indexes": [] + }, + { + "id": "B1ED08AE-B919-4FED-B29D-B55ED6AC5E8B", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group", + "defName": "群聊", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "群聊id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "2C9A9472-C178-4CB2-A106-854E4A34EB33" + }, + { + "defKey": "master_uid", + "defName": "群主id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "41EA492A-EF92-425A-A5D3-DC68EB912E4C" + }, + { + "defKey": "group_name", + "defName": "群聊名称", + "comment": "", + "domain": "", + "type": "VARCHAR", + "len": 128, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "170A4BD4-E0A1-4096-981D-93C0A7E781D2" + }, + { + "defKey": "user_limit", + "defName": "群聊人数限制", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6641EA6E-E954-4891-B53B-C835DEA73658" + }, + { + "defKey": "user_num", + "defName": "当前群聊人数", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "8A5245A6-B7FE-4E9F-8DE3-A59F233395FD" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "0B211C29-062B-4127-9F74-FA955C1A033F" + }, + { + "defKey": "update_time", + "defName": "更新时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "3EB0D741-1686-4F63-AD33-0BA8AF31ED7A" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "88057B50-B0B5-4A2D-B3D3-E60638224625", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group_users", + "defName": "群聊用户列表", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "uid", + "defName": "创建人", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "853E9034-1796-44AD-9AE8-18434821ECAC", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message", + "defName": "聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "sender", + "defName": "发送人id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + }, + { + "defKey": "content", + "defName": "消息内容", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "86D1DF8C-CA19-44F2-9F72-14BE303DD752", + "id": "CFAD1896-0DCE-4882-B78D-48EE72A009D3" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D1CEE40B-58CE-49B5-A460-139C263B1698", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "sender", + "defName": "发送者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D8AC27A7-7ACB-4124-BE03-DC211D8AA53C", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group_receive", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "460016F6-627D-4610-96E2-7F3A292C6E9B" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "group_msg_id", + "defName": "群聊消息id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "9FF9A1B4-6751-449E-AA2F-C734743AC0A2" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] } ], "views": [], @@ -2015,6 +2860,17 @@ "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "", "B91D99E0-9B7C-416C-8737-B760957DAF09": "int32" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "id": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "8FE7C65E-40EB-41B6-B60E-79063AFF6273": "MEDIUMTEXT", + "7A6E0A3E-F850-47CF-B50A-3E4E905E5F3A": "", + "1E385761-67B3-4B80-A194-E302E590E54E": "String", + "797A1496-D649-4261-89B4-544132EC3F36": "String", + "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String", + "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String" } ] }, @@ -2144,6 +3000,15 @@ "scale": "", "uiHint": "", "id": "09839FE6-4295-489C-9A58-7B2FF7817DC5" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "applyFor": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "len": "", + "scale": "", + "uiHint": "", + "id": "86D1DF8C-CA19-44F2-9F72-14BE303DD752" } ], "diagrams": [ diff --git a/doc/db/.back_so-im/so-im-backup-2022523173150.pdma.json b/doc/db/.back_so-im/so-im-backup-2022527172300.pdma.json similarity index 88% rename from doc/db/.back_so-im/so-im-backup-2022523173150.pdma.json rename to doc/db/.back_so-im/so-im-backup-2022527172300.pdma.json index dd8ce7a..92248d1 100644 --- a/doc/db/.back_so-im/so-im-backup-2022523173150.pdma.json +++ b/doc/db/.back_so-im/so-im-backup-2022527172300.pdma.json @@ -4,7 +4,7 @@ "avatar": "", "version": "4.1.1", "createdTime": "2022-3-7 15:11:08", - "updatedTime": "2022-5-23 16:22:25", + "updatedTime": "2022-5-27 17:22:56", "profile": { "default": { "db": "8FE7C65E-40EB-41B6-B60E-79063AFF6273", @@ -1884,6 +1884,851 @@ ], "correlations": [], "indexes": [] + }, + { + "id": "B1ED08AE-B919-4FED-B29D-B55ED6AC5E8B", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group", + "defName": "群聊", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "群聊id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "2C9A9472-C178-4CB2-A106-854E4A34EB33" + }, + { + "defKey": "master_uid", + "defName": "群主id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "41EA492A-EF92-425A-A5D3-DC68EB912E4C" + }, + { + "defKey": "group_name", + "defName": "群聊名称", + "comment": "", + "domain": "", + "type": "VARCHAR", + "len": 128, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "170A4BD4-E0A1-4096-981D-93C0A7E781D2" + }, + { + "defKey": "user_limit", + "defName": "群聊人数限制", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6641EA6E-E954-4891-B53B-C835DEA73658" + }, + { + "defKey": "user_num", + "defName": "当前群聊人数", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "8A5245A6-B7FE-4E9F-8DE3-A59F233395FD" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "0B211C29-062B-4127-9F74-FA955C1A033F" + }, + { + "defKey": "update_time", + "defName": "更新时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "3EB0D741-1686-4F63-AD33-0BA8AF31ED7A" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "88057B50-B0B5-4A2D-B3D3-E60638224625", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group_users", + "defName": "群聊用户列表", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "uid", + "defName": "创建人", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "853E9034-1796-44AD-9AE8-18434821ECAC", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message", + "defName": "聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "sender", + "defName": "发送人id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + }, + { + "defKey": "content", + "defName": "消息内容", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "86D1DF8C-CA19-44F2-9F72-14BE303DD752", + "id": "CFAD1896-0DCE-4882-B78D-48EE72A009D3" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D1CEE40B-58CE-49B5-A460-139C263B1698", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "sender", + "defName": "发送者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D8AC27A7-7ACB-4124-BE03-DC211D8AA53C", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group_receive", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "460016F6-627D-4610-96E2-7F3A292C6E9B" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "group_msg_id", + "defName": "群聊消息id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "9FF9A1B4-6751-449E-AA2F-C734743AC0A2" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] } ], "views": [], @@ -2015,6 +2860,17 @@ "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "", "B91D99E0-9B7C-416C-8737-B760957DAF09": "int32" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "id": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "8FE7C65E-40EB-41B6-B60E-79063AFF6273": "MEDIUMTEXT", + "7A6E0A3E-F850-47CF-B50A-3E4E905E5F3A": "", + "1E385761-67B3-4B80-A194-E302E590E54E": "String", + "797A1496-D649-4261-89B4-544132EC3F36": "String", + "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String", + "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String" } ] }, @@ -2144,6 +3000,15 @@ "scale": "", "uiHint": "", "id": "09839FE6-4295-489C-9A58-7B2FF7817DC5" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "applyFor": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "len": "", + "scale": "", + "uiHint": "", + "id": "86D1DF8C-CA19-44F2-9F72-14BE303DD752" } ], "diagrams": [ diff --git a/doc/db/.back_so-im/so-im-backup-2022523173156.pdma.json b/doc/db/.back_so-im/so-im-backup-2022527174221.pdma.json similarity index 88% rename from doc/db/.back_so-im/so-im-backup-2022523173156.pdma.json rename to doc/db/.back_so-im/so-im-backup-2022527174221.pdma.json index b62a7ac..7b61443 100644 --- a/doc/db/.back_so-im/so-im-backup-2022523173156.pdma.json +++ b/doc/db/.back_so-im/so-im-backup-2022527174221.pdma.json @@ -4,7 +4,7 @@ "avatar": "", "version": "4.1.1", "createdTime": "2022-3-7 15:11:08", - "updatedTime": "2022-5-23 17:31:50", + "updatedTime": "2022-5-27 17:23:00", "profile": { "default": { "db": "8FE7C65E-40EB-41B6-B60E-79063AFF6273", @@ -1884,6 +1884,851 @@ ], "correlations": [], "indexes": [] + }, + { + "id": "B1ED08AE-B919-4FED-B29D-B55ED6AC5E8B", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group", + "defName": "群聊", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "群聊id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "2C9A9472-C178-4CB2-A106-854E4A34EB33" + }, + { + "defKey": "master_uid", + "defName": "群主id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "41EA492A-EF92-425A-A5D3-DC68EB912E4C" + }, + { + "defKey": "group_name", + "defName": "群聊名称", + "comment": "", + "domain": "", + "type": "VARCHAR", + "len": 128, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "170A4BD4-E0A1-4096-981D-93C0A7E781D2" + }, + { + "defKey": "user_limit", + "defName": "群聊人数限制", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6641EA6E-E954-4891-B53B-C835DEA73658" + }, + { + "defKey": "user_num", + "defName": "当前群聊人数", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "8A5245A6-B7FE-4E9F-8DE3-A59F233395FD" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "0B211C29-062B-4127-9F74-FA955C1A033F" + }, + { + "defKey": "update_time", + "defName": "更新时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "3EB0D741-1686-4F63-AD33-0BA8AF31ED7A" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "88057B50-B0B5-4A2D-B3D3-E60638224625", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group_users", + "defName": "群聊用户列表", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "uid", + "defName": "创建人", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "853E9034-1796-44AD-9AE8-18434821ECAC", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message", + "defName": "聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "sender", + "defName": "发送人id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + }, + { + "defKey": "content", + "defName": "消息内容", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "86D1DF8C-CA19-44F2-9F72-14BE303DD752", + "id": "CFAD1896-0DCE-4882-B78D-48EE72A009D3" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D1CEE40B-58CE-49B5-A460-139C263B1698", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "sender", + "defName": "发送者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D8AC27A7-7ACB-4124-BE03-DC211D8AA53C", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group_receive", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "460016F6-627D-4610-96E2-7F3A292C6E9B" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "group_msg_id", + "defName": "群聊消息id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "9FF9A1B4-6751-449E-AA2F-C734743AC0A2" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] } ], "views": [], @@ -2015,6 +2860,17 @@ "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "", "B91D99E0-9B7C-416C-8737-B760957DAF09": "int32" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "id": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "8FE7C65E-40EB-41B6-B60E-79063AFF6273": "MEDIUMTEXT", + "7A6E0A3E-F850-47CF-B50A-3E4E905E5F3A": "", + "1E385761-67B3-4B80-A194-E302E590E54E": "String", + "797A1496-D649-4261-89B4-544132EC3F36": "String", + "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String", + "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String" } ] }, @@ -2144,6 +3000,15 @@ "scale": "", "uiHint": "", "id": "09839FE6-4295-489C-9A58-7B2FF7817DC5" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "applyFor": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "len": "", + "scale": "", + "uiHint": "", + "id": "86D1DF8C-CA19-44F2-9F72-14BE303DD752" } ], "diagrams": [ diff --git a/doc/db/so-im.chnr.json b/doc/db/so-im.chnr.json index 561643c..9bf441f 100644 --- a/doc/db/so-im.chnr.json +++ b/doc/db/so-im.chnr.json @@ -4,7 +4,7 @@ "avatar": "", "version": "4.1.1", "createdTime": "2022-3-7 15:11:08", - "updatedTime": "2022-5-23 17:31:56", + "updatedTime": "2022-5-27 17:42:21", "profile": { "default": { "db": "8FE7C65E-40EB-41B6-B60E-79063AFF6273", @@ -1884,6 +1884,851 @@ ], "correlations": [], "indexes": [] + }, + { + "id": "B1ED08AE-B919-4FED-B29D-B55ED6AC5E8B", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group", + "defName": "群聊", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "群聊id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "2C9A9472-C178-4CB2-A106-854E4A34EB33" + }, + { + "defKey": "master_uid", + "defName": "群主id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "41EA492A-EF92-425A-A5D3-DC68EB912E4C" + }, + { + "defKey": "group_name", + "defName": "群聊名称", + "comment": "", + "domain": "", + "type": "VARCHAR", + "len": 128, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "170A4BD4-E0A1-4096-981D-93C0A7E781D2" + }, + { + "defKey": "user_limit", + "defName": "群聊人数限制", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6641EA6E-E954-4891-B53B-C835DEA73658" + }, + { + "defKey": "user_num", + "defName": "当前群聊人数", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "8A5245A6-B7FE-4E9F-8DE3-A59F233395FD" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "0B211C29-062B-4127-9F74-FA955C1A033F" + }, + { + "defKey": "update_time", + "defName": "更新时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "3EB0D741-1686-4F63-AD33-0BA8AF31ED7A" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "88057B50-B0B5-4A2D-B3D3-E60638224625", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_group_users", + "defName": "群聊用户列表", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "uid", + "defName": "创建人", + "comment": "", + "domain": "4159ACB8-2488-4350-9C3B-797336F7246E", + "type": "", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "853E9034-1796-44AD-9AE8-18434821ECAC", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message", + "defName": "聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "sender", + "defName": "发送人id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "C0C455D3-95F9-46D4-836C-C52F426D16EC" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + }, + { + "defKey": "content", + "defName": "消息内容", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "86D1DF8C-CA19-44F2-9F72-14BE303DD752", + "id": "CFAD1896-0DCE-4882-B78D-48EE72A009D3" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D1CEE40B-58CE-49B5-A460-139C263B1698", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "sender", + "defName": "发送者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "72DD10F8-60AE-4F2A-89E1-D69C51B30849", + "id": "3D1C2864-026A-4C9D-A655-1208B4A4AAF5" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] + }, + { + "id": "D8AC27A7-7ACB-4124-BE03-DC211D8AA53C", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "im_message_group_receive", + "defName": "群聊天消息", + "comment": "", + "properties": {}, + "nameTemplate": "{defKey}[{defName}]", + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "hideInGraph": false + }, + { + "refKey": "defName", + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "hideInGraph": false + }, + { + "refKey": "notNull", + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "hideInGraph": true + }, + { + "refKey": "domain", + "hideInGraph": true + }, + { + "refKey": "type", + "hideInGraph": false + }, + { + "refKey": "len", + "hideInGraph": false + }, + { + "refKey": "scale", + "hideInGraph": false + }, + { + "refKey": "comment", + "hideInGraph": true + }, + { + "refKey": "refDict", + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "hideInGraph": true + }, + { + "refKey": "isStandard", + "hideInGraph": false + }, + { + "refKey": "uiHint", + "hideInGraph": true + }, + { + "refKey": "extProps", + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "refDict": "", + "uiHint": "", + "id": "5F41F42F-AC11-49D2-A266-A060D98F2288" + }, + { + "defKey": "receiver", + "defName": "接受者id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "460016F6-627D-4610-96E2-7F3A292C6E9B" + }, + { + "defKey": "group_id", + "defName": "群聊id", + "comment": "", + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "506450D7-9074-4078-9D42-5F9186672193" + }, + { + "defKey": "group_msg_id", + "defName": "群聊消息id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "extProps": {}, + "domain": "1E5537DF-B204-49BC-AC1D-457BC6DEE707", + "id": "9FF9A1B4-6751-449E-AA2F-C734743AC0A2" + }, + { + "defKey": "create_time", + "defName": "创建时间", + "comment": "", + "domain": "4E3ADE61-41F4-4E74-8068-C1E543F9095C", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "305FC7FE-4303-4363-8FA9-58344D3786DE" + } + ], + "correlations": [], + "indexes": [] } ], "views": [], @@ -2015,6 +2860,17 @@ "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "", "B91D99E0-9B7C-416C-8737-B760957DAF09": "int32" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "id": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "8FE7C65E-40EB-41B6-B60E-79063AFF6273": "MEDIUMTEXT", + "7A6E0A3E-F850-47CF-B50A-3E4E905E5F3A": "", + "1E385761-67B3-4B80-A194-E302E590E54E": "String", + "797A1496-D649-4261-89B4-544132EC3F36": "String", + "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String", + "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String" } ] }, @@ -2144,6 +3000,15 @@ "scale": "", "uiHint": "", "id": "09839FE6-4295-489C-9A58-7B2FF7817DC5" + }, + { + "defKey": "MEDIUMTEXT", + "defName": "中型文本", + "applyFor": "0FE6297E-AA29-4784-8C6C-05E28939BFDB", + "len": "", + "scale": "", + "uiHint": "", + "id": "86D1DF8C-CA19-44F2-9F72-14BE303DD752" } ], "diagrams": [ diff --git a/im-client/src/main/java/net/sopod/soim/client/handler/msg/ResFriendListHandler.java b/im-client/src/main/java/net/sopod/soim/client/handler/msg/ResFriendListHandler.java index 5aede26..db7fd95 100644 --- a/im-client/src/main/java/net/sopod/soim/client/handler/msg/ResFriendListHandler.java +++ b/im-client/src/main/java/net/sopod/soim/client/handler/msg/ResFriendListHandler.java @@ -22,7 +22,7 @@ public class ResFriendListHandler implements MessageHandler friendsList = res.getFriendsList(); List userLines = friendsList.stream() - .map(u -> u.getUid() + "|" + u.getAccount() + "|" + u.getNickname()) + .map(u -> u.getUid() + "|" + u.getAccount() + "|" + u.getNickname() + "|" + u.getOnline()) .collect(Collectors.toList()); Logger.logList("好友列表", userLines); } diff --git a/im-entry/src/main/java/net/sopod/soim/entry/handlers/user/ReqFriendListHandler.java b/im-entry/src/main/java/net/sopod/soim/entry/handlers/user/ReqFriendListHandler.java index 06d1503..f05cd5d 100644 --- a/im-entry/src/main/java/net/sopod/soim/entry/handlers/user/ReqFriendListHandler.java +++ b/im-entry/src/main/java/net/sopod/soim/entry/handlers/user/ReqFriendListHandler.java @@ -38,6 +38,7 @@ public class ReqFriendListHandler extends AccountMessageHandlerbool online = 4; + * @return The online. + */ + boolean getOnline(); } /** * Protobuf type {@code net.sopod.soim.data.msg.user.UserInfo} @@ -112,6 +118,11 @@ public final class UserMsg { nickname_ = s; break; } + case 32: { + + online_ = input.readBool(); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -231,6 +242,17 @@ public final class UserMsg { } } + public static final int ONLINE_FIELD_NUMBER = 4; + private boolean online_; + /** + * bool online = 4; + * @return The online. + */ + @java.lang.Override + public boolean getOnline() { + return online_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -254,6 +276,9 @@ public final class UserMsg { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nickname_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, nickname_); } + if (online_ != false) { + output.writeBool(4, online_); + } unknownFields.writeTo(output); } @@ -273,6 +298,10 @@ public final class UserMsg { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nickname_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, nickname_); } + if (online_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, online_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -294,6 +323,8 @@ public final class UserMsg { .equals(other.getAccount())) return false; if (!getNickname() .equals(other.getNickname())) return false; + if (getOnline() + != other.getOnline()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -312,6 +343,9 @@ public final class UserMsg { hash = (53 * hash) + getAccount().hashCode(); hash = (37 * hash) + NICKNAME_FIELD_NUMBER; hash = (53 * hash) + getNickname().hashCode(); + hash = (37 * hash) + ONLINE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getOnline()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -451,6 +485,8 @@ public final class UserMsg { nickname_ = ""; + online_ = false; + return this; } @@ -480,6 +516,7 @@ public final class UserMsg { result.uid_ = uid_; result.account_ = account_; result.nickname_ = nickname_; + result.online_ = online_; onBuilt(); return result; } @@ -539,6 +576,9 @@ public final class UserMsg { nickname_ = other.nickname_; onChanged(); } + if (other.getOnline() != false) { + setOnline(other.getOnline()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -750,6 +790,37 @@ public final class UserMsg { onChanged(); return this; } + + private boolean online_ ; + /** + * bool online = 4; + * @return The online. + */ + @java.lang.Override + public boolean getOnline() { + return online_; + } + /** + * bool online = 4; + * @param value The online to set. + * @return This builder for chaining. + */ + public Builder setOnline(boolean value) { + + online_ = value; + onChanged(); + return this; + } + /** + * bool online = 4; + * @return This builder for chaining. + */ + public Builder clearOnline() { + + online_ = false; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -818,10 +889,10 @@ public final class UserMsg { static { java.lang.String[] descriptorData = { "\n\030proto/user/UserMsg.proto\022\034net.sopod.so" + - "im.data.msg.user\":\n\010UserInfo\022\013\n\003uid\030\001 \001(" + - "\003\022\017\n\007account\030\002 \001(\t\022\020\n\010nickname\030\003 \001(\tB)\n\034" + - "net.sopod.soim.data.msg.userB\007UserMsgP\000b" + - "\006proto3" + "im.data.msg.user\"J\n\010UserInfo\022\013\n\003uid\030\001 \001(" + + "\003\022\017\n\007account\030\002 \001(\t\022\020\n\010nickname\030\003 \001(\t\022\016\n\006" + + "online\030\004 \001(\010B)\n\034net.sopod.soim.data.msg." + + "userB\007UserMsgP\000b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -832,7 +903,7 @@ public final class UserMsg { internal_static_net_sopod_soim_data_msg_user_UserInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_net_sopod_soim_data_msg_user_UserInfo_descriptor, - new java.lang.String[] { "Uid", "Account", "Nickname", }); + new java.lang.String[] { "Uid", "Account", "Nickname", "Online", }); } // @@protoc_insertion_point(outer_class_scope) diff --git a/im-service-api/im-entry-protocol/src/main/resources/proto/user/UserMsg.proto b/im-service-api/im-entry-protocol/src/main/resources/proto/user/UserMsg.proto index b746774..767fddc 100644 --- a/im-service-api/im-entry-protocol/src/main/resources/proto/user/UserMsg.proto +++ b/im-service-api/im-entry-protocol/src/main/resources/proto/user/UserMsg.proto @@ -9,4 +9,5 @@ message UserInfo { int64 uid = 1; string account = 2; string nickname = 3; + bool online = 4; } \ No newline at end of file diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/model/UserInfo.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/model/UserInfo.java index 822b65d..5d80f78 100644 --- a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/model/UserInfo.java +++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/model/UserInfo.java @@ -23,4 +23,6 @@ public class UserInfo implements Serializable { private String nickname; + private Boolean isOnline; + } diff --git a/im-service-api/im-router-api/src/main/java/net/sopod/soim/router/api/service/UserRouteService.java b/im-service-api/im-router-api/src/main/java/net/sopod/soim/router/api/service/UserRouteService.java index a0a3b7b..68cfbc4 100644 --- a/im-service-api/im-router-api/src/main/java/net/sopod/soim/router/api/service/UserRouteService.java +++ b/im-service-api/im-router-api/src/main/java/net/sopod/soim/router/api/service/UserRouteService.java @@ -27,4 +27,6 @@ public interface UserRouteService { Boolean routeTextChat(TextChat textChat); + List isOnlineUsers(List userIds); + } diff --git a/im-service/im-logic-user/src/main/java/net/sopod/soim/logic/user/service/FriendServiceImpl.java b/im-service/im-logic-user/src/main/java/net/sopod/soim/logic/user/service/FriendServiceImpl.java index d8fc5f0..23da225 100644 --- a/im-service/im-logic-user/src/main/java/net/sopod/soim/logic/user/service/FriendServiceImpl.java +++ b/im-service/im-logic-user/src/main/java/net/sopod/soim/logic/user/service/FriendServiceImpl.java @@ -9,9 +9,11 @@ import net.sopod.soim.logic.api.user.service.FriendService; import net.sopod.soim.logic.common.model.UserInfo; import net.sopod.soim.logic.common.util.RpcContextUtil; import net.sopod.soim.router.api.route.UidConsistentHashSelector; +import net.sopod.soim.router.api.service.UserRouteService; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; @@ -32,6 +34,9 @@ public class FriendServiceImpl implements FriendService { @DubboReference private UserDas userDas; + @DubboReference + private UserRouteService userRouteService; + /** * TODO 幂等性处理 */ @@ -59,8 +64,13 @@ public class FriendServiceImpl implements FriendService { List imUsers = friendDas.queryAllFriend(uid); // TODO 分组到 im-router 查询在线状态 UidConsistentHashSelector selector = UidConsistentHashSelector.getCurrent(); + List userInfos = new ArrayList<>(imUsers.size()); if (selector == null) { // TODO 单实例 im-router, 直接调用 + // TODO 多个实例变成单个后,selector 不为 null + List userIds = imUsers.stream().map(ImUser::getId).collect(Collectors.toList()); + List onlineUsers = userRouteService.isOnlineUsers(userIds); + mappingUserInfos(imUsers, onlineUsers, userInfos); } else { Map> userRouteGroup = Collects.group(imUsers, imUser -> selector.select(StringUtil.toString(imUser.getId())), imUser -> imUser); @@ -68,15 +78,24 @@ public class FriendServiceImpl implements FriendService { List userIds = users.stream().map(ImUser::getId).collect(Collectors.toList()); RpcContextUtil.setContextUid(userIds.get(0)); // TODO 调用在线状态查询接口,按返回list索引更新在线状态 - + List onlineUsers = userRouteService.isOnlineUsers(userIds); + // TODO 排序 + mappingUserInfos(users, onlineUsers, userInfos); } } - List userInfos = imUsers.stream().map(imUser -> new UserInfo() + return CompletableFuture.completedFuture(userInfos); + } + + private void mappingUserInfos(List imUsers, List onlineUsers, List container) { + for (int i = 0; i < imUsers.size(); i++) { + ImUser imUser = imUsers.get(i); + UserInfo userInfo = new UserInfo() .setUid(imUser.getId()) .setAccount(imUser.getAccount()) .setNickname(imUser.getNickname()) - ).collect(Collectors.toList()); - return CompletableFuture.completedFuture(userInfos); + .setIsOnline(onlineUsers.get(i)); + container.add(userInfo); + } } } diff --git a/im-service/im-router/src/main/java/net/sopod/soim/router/config/ImRouterAppOnReady.java b/im-service/im-router/src/main/java/net/sopod/soim/router/config/ImRouterAppOnReady.java index 90e87c8..b92cbb5 100644 --- a/im-service/im-router/src/main/java/net/sopod/soim/router/config/ImRouterAppOnReady.java +++ b/im-service/im-router/src/main/java/net/sopod/soim/router/config/ImRouterAppOnReady.java @@ -64,7 +64,7 @@ public class ImRouterAppOnReady implements ApplicationListener isOnlineUsers(List userIds) { + int len = userIds.size(); + List isOnlines = new ArrayList<>(len); + RouterUserStorage userStorage = RouterUserStorage.getInstance(); + for (int i = 0; i < len; i++) { + RouterUser routerUser = userStorage.get(userIds.get(i)); + isOnlines.add(routerUser != null && Boolean.TRUE.equals(routerUser.getIsOnline())); + } + return isOnlines; + } + }