diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core
index 3cf486771..18c0a4485 160000
--- a/cmd/Open-IM-SDK-Core
+++ b/cmd/Open-IM-SDK-Core
@@ -1 +1 @@
-Subproject commit 3cf486771bbe7ecb33f7e7c3cdf733f28b16d8b7
+Subproject commit 18c0a4485c8a3116bca4b782cc3879375d00d937
diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go
index 7ad6a1304..63be3a496 100644
--- a/cmd/open_im_api/main.go
+++ b/cmd/open_im_api/main.go
@@ -3,11 +3,11 @@ package main
import (
_ "Open_IM/cmd/open_im_api/docs"
apiAuth "Open_IM/internal/api/auth"
- apiChat "Open_IM/internal/api/chat"
"Open_IM/internal/api/conversation"
"Open_IM/internal/api/friend"
"Open_IM/internal/api/group"
"Open_IM/internal/api/manage"
+ apiChat "Open_IM/internal/api/msg"
"Open_IM/internal/api/office"
"Open_IM/internal/api/organization"
apiThird "Open_IM/internal/api/third"
@@ -143,12 +143,8 @@ func main() {
chatGroup.POST("/clear_msg", apiChat.ClearMsg)
chatGroup.POST("/manage_send_msg", manage.ManagementSendMsg)
chatGroup.POST("/batch_send_msg", manage.ManagementBatchSendMsg)
+ chatGroup.POST("/set_msg_min_seq", apiChat.SetMsgMinSeq)
}
- //Manager
- //managementGroup := r.Group("/manager")
- //{
- // managementGroup.POST("/delete_user", manage.DeleteUser) //1
- //}
//Conversation
conversationGroup := r.Group("/conversation")
{ //1
diff --git a/cmd/open_im_demo/main.go b/cmd/open_im_demo/main.go
index 71d3e114c..b73fe7676 100644
--- a/cmd/open_im_demo/main.go
+++ b/cmd/open_im_demo/main.go
@@ -50,6 +50,7 @@ func main() {
}
address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort)
fmt.Println("start demo api server address: ", address)
+ go register.OnboardingProcessRoutine()
err := r.Run(address)
if err != nil {
log.Error("", "run failed ", *ginPort, err.Error())
diff --git a/cmd/rpc/open_im_msg/main.go b/cmd/rpc/open_im_msg/main.go
index 8c7948c1a..212d00472 100644
--- a/cmd/rpc/open_im_msg/main.go
+++ b/cmd/rpc/open_im_msg/main.go
@@ -1,7 +1,7 @@
package main
import (
- rpcChat "Open_IM/internal/rpc/msg"
+ "Open_IM/internal/rpc/msg"
"Open_IM/pkg/common/config"
"flag"
"fmt"
@@ -12,6 +12,6 @@ func main() {
rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port")
flag.Parse()
fmt.Println("start msg rpc server, port: ", *rpcPort)
- rpcServer := rpcChat.NewRpcChatServer(*rpcPort)
+ rpcServer := msg.NewRpcChatServer(*rpcPort)
rpcServer.Run()
}
diff --git a/config/config.yaml b/config/config.yaml
index c552a954d..ccb952c04 100644
--- a/config/config.yaml
+++ b/config/config.yaml
@@ -2,7 +2,7 @@
# The class cannot be named by Pascal or camel case.
# If it is not used, the corresponding structure will not be set,
# and it will not be read naturally.
-serverversion: 2.0.0
+serverversion: 2.3.0-rc1
#---------------Infrastructure configuration---------------------#
etcd:
etcdSchema: openim #默认即可
@@ -129,7 +129,8 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申
stsDurationSeconds: 3600
OssRoleArn: "acs:ram::xxx:role/xxx"
-
+dtm:
+ serverURL: 43.128.5.63:10007
rpcport: #rpc服务端口 默认即可
openImUserPort: [ 10110 ]
@@ -159,9 +160,9 @@ rpcport: #rpc服务端口 默认即可
rpcregistername: #rpc注册服务名,默认即可
openImUserName: User
openImFriendName: Friend
- openImOfflineMessageName: OfflineMessage
+ openImMsgName: Msg
openImPushName: Push
- openImOnlineMessageRelayName: OnlineMessageRelay
+ openImRelayName: Relay
openImGroupName: Group
openImAuthName: Auth
openImStatisticsName: Statistics
@@ -230,7 +231,7 @@ secret: tuoyun
# 1:多平台登录:Android、iOS、Windows、Mac 每种平台只能一个在线,web端可以多个同时在线
multiloginpolicy: 1
-#chat log insert to db
+#msg log insert to db
chatpersistencemysql: true
#可靠性存储
reliablestorage: false
@@ -344,7 +345,7 @@ notification:
desc: "memberQuit desc"
ext: "memberQuit ext"
defaultTips:
- tips: "quit group chat" # group info changed by xx
+ tips: "quit group msg" # group info changed by xx
groupApplicationAccepted:
conversation:
diff --git a/deploy_k8s/admin_cms/deployment.yaml b/deploy_k8s/admin_cms/deployment.yaml
index 727a08520..2da7716ff 100644
--- a/deploy_k8s/admin_cms/deployment.yaml
+++ b/deploy_k8s/admin_cms/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: admin-cms
- image: openim/admin_cms:v2.1.0
+ image: openim/admin_cms:v2.2.0
# imagePullPolicy: Always #每次启动都重新拉取镜像
ports:
- containerPort: 10200
diff --git a/deploy_k8s/api/deployment.yaml b/deploy_k8s/api/deployment.yaml
index 1a74ae7a1..9fc6a5111 100644
--- a/deploy_k8s/api/deployment.yaml
+++ b/deploy_k8s/api/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: api
- image: openim/api:v2.1.0
+ image: openim/api:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10002
diff --git a/deploy_k8s/auth/deployment.yaml b/deploy_k8s/auth/deployment.yaml
index 5b60d77f7..19863d6c2 100644
--- a/deploy_k8s/auth/deployment.yaml
+++ b/deploy_k8s/auth/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: auth
- image: openim/auth:v2.1.0
+ image: openim/auth:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10160
diff --git a/deploy_k8s/build_push_all_images.sh b/deploy_k8s/build_push_all_images.sh
index 6f46bf33c..31d6039a2 100644
--- a/deploy_k8s/build_push_all_images.sh
+++ b/deploy_k8s/build_push_all_images.sh
@@ -2,7 +2,7 @@
source ./path_info.cfg
# images version
-version=v2.1.0
+version=v2.2.0
git pull
cd ../script/; ./build_all_service.sh
cd ../deploy_k8s/
diff --git a/deploy_k8s/cache/deployment.yaml b/deploy_k8s/cache/deployment.yaml
index ef41d2bde..1f9a2b046 100644
--- a/deploy_k8s/cache/deployment.yaml
+++ b/deploy_k8s/cache/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: cache
- image: openim/cache:v2.1.0
+ image: openim/cache:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10240
diff --git a/deploy_k8s/cms_api/deployment.yaml b/deploy_k8s/cms_api/deployment.yaml
index 6f3fd5b2d..4c75bc785 100644
--- a/deploy_k8s/cms_api/deployment.yaml
+++ b/deploy_k8s/cms_api/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: cms-api
- image: openim/cms_api:v2.1.0
+ image: openim/cms_api:v2.2.0
imagePullPolicy: Always
ports:
- containerPort: 10006
diff --git a/deploy_k8s/conversation/deployment.yaml b/deploy_k8s/conversation/deployment.yaml
index 90b6bdab1..e5c385e17 100644
--- a/deploy_k8s/conversation/deployment.yaml
+++ b/deploy_k8s/conversation/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: conversation
- image: openim/conversation:v2.1.0
+ image: openim/conversation:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10230
diff --git a/deploy_k8s/demo/deployment.yaml b/deploy_k8s/demo/deployment.yaml
index 8c612d153..e4594191e 100644
--- a/deploy_k8s/demo/deployment.yaml
+++ b/deploy_k8s/demo/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: demo
- image: openim/demo:v2.1.0
+ image: openim/demo:v2.2.0
imagePullPolicy: Always
ports:
- containerPort: 10004
diff --git a/deploy_k8s/friend/deployment.yaml b/deploy_k8s/friend/deployment.yaml
index c521c7a3e..5a92a95fc 100644
--- a/deploy_k8s/friend/deployment.yaml
+++ b/deploy_k8s/friend/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: friend
- image: openim/friend:v2.1.0
+ image: openim/friend:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10120
diff --git a/deploy_k8s/group/deployment.yaml b/deploy_k8s/group/deployment.yaml
index a27dc2547..02553d979 100644
--- a/deploy_k8s/group/deployment.yaml
+++ b/deploy_k8s/group/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: group
- image: openim/group:v2.1.0
+ image: openim/group:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10150
diff --git a/deploy_k8s/ingress.yaml b/deploy_k8s/ingress.yaml
index 6d7fbda6d..88212c2a2 100644
--- a/deploy_k8s/ingress.yaml
+++ b/deploy_k8s/ingress.yaml
@@ -48,6 +48,12 @@ kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/Access-Control-Allow-Origin: '*'
+ nginx.ingress.kubernetes.io/cors-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token,Pagination
+ nginx.ingress.kubernetes.io/cors-allow-methods: 'PUT, GET, POST, OPTIONS'
+ nginx.ingress.kubernetes.io/cors-allow-origin: '*'
+ nginx.ingress.kubernetes.io/enable-cors: 'true'
+ nginx.ingress.kubernetes.io/service-weight: ''
name: api-ingress
spec:
rules:
@@ -67,6 +73,12 @@ kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/Access-Control-Allow-Origin: '*'
+ nginx.ingress.kubernetes.io/cors-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token,Pagination
+ nginx.ingress.kubernetes.io/cors-allow-methods: 'PUT, GET, POST, OPTIONS'
+ nginx.ingress.kubernetes.io/cors-allow-origin: '*'
+ nginx.ingress.kubernetes.io/enable-cors: 'true'
+ nginx.ingress.kubernetes.io/service-weight: ''
name: demo-ingress
spec:
rules:
@@ -86,6 +98,12 @@ kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/Access-Control-Allow-Origin: '*'
+ nginx.ingress.kubernetes.io/cors-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token,Pagination
+ nginx.ingress.kubernetes.io/cors-allow-methods: 'PUT, GET, POST, OPTIONS'
+ nginx.ingress.kubernetes.io/cors-allow-origin: '*'
+ nginx.ingress.kubernetes.io/enable-cors: 'true'
+ nginx.ingress.kubernetes.io/service-weight: ''
name: cms-api-ingress
spec:
rules:
diff --git a/deploy_k8s/message_cms/deployment.yaml b/deploy_k8s/message_cms/deployment.yaml
index 8c5e3e83d..d3f6b1c2a 100644
--- a/deploy_k8s/message_cms/deployment.yaml
+++ b/deploy_k8s/message_cms/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: message-cms
- image: openim/message_cms:v2.1.0
+ image: openim/message_cms:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10190
diff --git a/deploy_k8s/msg/deployment.yaml b/deploy_k8s/msg/deployment.yaml
index 4e6873699..5a33c17af 100644
--- a/deploy_k8s/msg/deployment.yaml
+++ b/deploy_k8s/msg/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: msg
- image: openim/msg:v2.1.0
+ image: openim/msg:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10130
diff --git a/deploy_k8s/msg_gateway/deployment.yaml b/deploy_k8s/msg_gateway/deployment.yaml
index 604af28dd..0f6b9c798 100644
--- a/deploy_k8s/msg_gateway/deployment.yaml
+++ b/deploy_k8s/msg_gateway/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: msg-gateway
- image: openim/msg_gateway:v2.1.0
+ image: openim/msg_gateway:v2.2.0
# imagePullPolicy: Always
ports:
- name: rpc-port
diff --git a/deploy_k8s/msg_transfer/deployment.yaml b/deploy_k8s/msg_transfer/deployment.yaml
index 459a93410..b94d9b277 100644
--- a/deploy_k8s/msg_transfer/deployment.yaml
+++ b/deploy_k8s/msg_transfer/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: msg-transfer
- image: openim/msg_transfer:v2.1.0
+ image: openim/msg_transfer:v2.2.0
# imagePullPolicy: Always
volumeMounts:
- name: config
diff --git a/deploy_k8s/office/deployment.yaml b/deploy_k8s/office/deployment.yaml
index c7a6c1da5..c6a7bf813 100644
--- a/deploy_k8s/office/deployment.yaml
+++ b/deploy_k8s/office/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: office
- image: openim/office:v2.1.0
+ image: openim/office:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10210
diff --git a/deploy_k8s/organization/deployment.yaml b/deploy_k8s/organization/deployment.yaml
index fce6fde5a..b2ec03443 100644
--- a/deploy_k8s/organization/deployment.yaml
+++ b/deploy_k8s/organization/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: organization
- image: openim/organization:v2.1.0
+ image: openim/organization:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10220
diff --git a/deploy_k8s/push/deployment.yaml b/deploy_k8s/push/deployment.yaml
index 14ba13fdd..aaabe9e68 100644
--- a/deploy_k8s/push/deployment.yaml
+++ b/deploy_k8s/push/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: push
- image: openim/push:v2.1.0
+ image: openim/push:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10170
diff --git a/deploy_k8s/sdk_server/deployment.yaml b/deploy_k8s/sdk_server/deployment.yaml
index f99e67006..ff3aa0e44 100644
--- a/deploy_k8s/sdk_server/deployment.yaml
+++ b/deploy_k8s/sdk_server/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: sdk-server
- image: openim/sdk_server:v2.1.0
+ image: openim/sdk_server:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10003
diff --git a/deploy_k8s/statistics/deployment.yaml b/deploy_k8s/statistics/deployment.yaml
index d7cc5e15b..10c182da7 100644
--- a/deploy_k8s/statistics/deployment.yaml
+++ b/deploy_k8s/statistics/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: statistics
- image: openim/statistics:v2.1.0
+ image: openim/statistics:v2.2.0
# imagePullPolicy: Always
ports:
- containerPort: 10180
diff --git a/deploy_k8s/user/deployment.yaml b/deploy_k8s/user/deployment.yaml
index 6473094f0..4278c78e1 100644
--- a/deploy_k8s/user/deployment.yaml
+++ b/deploy_k8s/user/deployment.yaml
@@ -15,7 +15,7 @@ spec:
spec:
containers:
- name: user
- image: openim/user:v2.1.0
+ image: openim/user:v2.2.0
# imagePullPolicy: Always
volumeMounts:
- name: config
diff --git a/docker-compose-mongos.yaml b/docker-compose-mongos.yaml
index 1ad89204d..e9710f11c 100644
--- a/docker-compose-mongos.yaml
+++ b/docker-compose-mongos.yaml
@@ -116,7 +116,7 @@ services:
command: minio server /data --console-address ':9090'
open_im_server:
- image: openim/open_im_server:v2.2.0
+ image: openim/open_im_server:v2.3.0-rc1
container_name: open_im_server
volumes:
- ./logs:/Open-IM-Server/logs
diff --git a/docker-compose.yaml b/docker-compose.yaml
index f679c0cbe..33c9edab9 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -93,6 +93,18 @@ services:
MINIO_ROOT_PASSWORD: key12345
restart: always
command: minio server /data --console-address ':9090'
+#
+# dtm:
+# image: yedf/dtm
+# ports:
+# - 36789:36789
+# - 36790:36790
+# environment:
+# STORE_DRIVER: mysql
+# STORE_HOST: localhost
+# STORE_USER: root
+# STORE_PASSWORD: ''
+# STORE_PORT: 3306
etcd:
image: quay.io/coreos/etcd
@@ -109,7 +121,7 @@ services:
command: /usr/local/bin/etcd --name etcd0 --data-dir /etcd-data --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-advertise-peer-urls http://0.0.0.0:2380 --initial-cluster etcd0=http://0.0.0.0:2380 --initial-cluster-token tkn --initial-cluster-state new
open_im_server:
- image: openim/open_im_server:v2.3.0-rc0
+ image: openim/open_im_server:v2.3.0-rc1
container_name: open_im_server
volumes:
- ./logs:/Open-IM-Server/logs
diff --git a/go.mod b/go.mod
index 5fefcb9d6..64bdb5476 100644
--- a/go.mod
+++ b/go.mod
@@ -10,25 +10,25 @@ require (
github.com/alibabacloud-go/tea v1.1.17
github.com/antonfisher/nested-logrus-formatter v1.3.0
github.com/bwmarrin/snowflake v0.3.0
+ github.com/dtm-labs/dtmcli v1.15.0
+ github.com/dtm-labs/dtmgrpc v1.15.0
+ github.com/dtm-labs/rockscache v0.0.8
github.com/fatih/structs v1.1.0
github.com/gin-gonic/gin v1.8.1
github.com/go-openapi/spec v0.20.6 // indirect
github.com/go-openapi/swag v0.21.1 // indirect
github.com/go-playground/validator/v10 v10.11.0
github.com/go-redis/redis/v8 v8.11.5
- github.com/go-sql-driver/mysql v1.6.0 // indirect
github.com/gogo/protobuf v1.3.2
github.com/golang-jwt/jwt/v4 v4.1.0
github.com/golang/protobuf v1.5.2
github.com/gorilla/websocket v1.4.2
github.com/jinzhu/copier v0.3.4
github.com/jinzhu/gorm v1.9.16
- github.com/jinzhu/now v1.1.3 // indirect
github.com/jonboulle/clockwork v0.2.2 // indirect
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
github.com/lestrrat-go/strftime v1.0.4 // indirect
- github.com/lib/pq v1.2.0 // indirect
- github.com/mattn/go-sqlite3 v1.14.6 // indirect
+ github.com/lithammer/shortuuid v3.0.0+incompatible
github.com/minio/minio-go/v7 v7.0.22
github.com/mitchellh/mapstructure v1.4.2
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
@@ -60,6 +60,8 @@ require (
gopkg.in/ini.v1 v1.66.2 // indirect
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
gopkg.in/yaml.v3 v3.0.1
+ gorm.io/driver/mysql v1.3.5
+ gorm.io/gorm v1.23.8
)
replace github.com/Shopify/sarama => github.com/Shopify/sarama v1.29.0
diff --git a/go.sum b/go.sum
index fea29fb1c..78606c424 100644
--- a/go.sum
+++ b/go.sum
@@ -1,6 +1,8 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v1.0.0 h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=
+github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
@@ -49,6 +51,8 @@ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kd
github.com/antonfisher/nested-logrus-formatter v1.3.0 h1:8zixYquU1Odk+vzAaAQPAdRh1ZjmUXNQ1T+dUBvlhVo=
github.com/antonfisher/nested-logrus-formatter v1.3.0/go.mod h1:6WTfyWFkBc9+zyBaKIqRrg/KwMqBbodBjgbHjDz7zjA=
github.com/aws/aws-sdk-go v1.38.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
+github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
+github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
@@ -80,10 +84,17 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM=
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
+github.com/dtm-labs/dtmcli v1.15.0 h1:kqiV47I9Am/0QuzX11cGTPp/Z2AcOaRDXU7E7SZWYNk=
+github.com/dtm-labs/dtmcli v1.15.0/go.mod h1:otEdxUwM5FIKlCLmg5hL5+Z539DmCK2YJ0G4WNsP6Tw=
+github.com/dtm-labs/dtmdriver v0.0.3 h1:9iAtvXKR3lJXQ7dvS87e4xdtmqkzN+ofek+CF9AvUSY=
+github.com/dtm-labs/dtmdriver v0.0.3/go.mod h1:fLiEeD2BPwM9Yq96TfcP9KpbTwFsn5nTxa/PP0jmFuk=
+github.com/dtm-labs/dtmgrpc v1.15.0 h1:ZLSbCa/83J4LUR2A/h1h68D6EPuFfDkiUTZ5btKlJvg=
+github.com/dtm-labs/dtmgrpc v1.15.0/go.mod h1:fc7Mg6UGrNsHVsPrFNZhAH12/ddNHUP5E84EQY1Fz7w=
+github.com/dtm-labs/rockscache v0.0.8 h1:H6cXO7YhguE9jdvdfK5rrbUUu2MWjgWqsGEA645iFQQ=
+github.com/dtm-labs/rockscache v0.0.8/go.mod h1:vJmJJmuBNxcio03abYk1QPLmmQo/Kg92jB+28QmLcgY=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q=
@@ -100,7 +111,6 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
@@ -151,8 +161,12 @@ github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn
github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
github.com/go-playground/validator/v10 v10.11.0 h1:0W+xRM511GY47Yy3bZUbJVitCNg2BOGlCyvTqsp/xIw=
github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU=
+github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w=
github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
+github.com/go-resty/resty/v2 v2.6.0/go.mod h1:PwvJS6hvaPkjtjNg9ph+VrSD92bi5Zq73w/BIH7cC3Q=
+github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY=
+github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
@@ -167,7 +181,6 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt/v4 v4.1.0 h1:XUgk2Ex5veyVFVeLm0xhusUTQybEbexJXrvPNOKkSY0=
github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
-github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -198,13 +211,15 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
+github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ=
@@ -238,8 +253,9 @@ github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBef
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
-github.com/jinzhu/now v1.1.3 h1:PlHq1bSCSZL9K0wUhbm2pGLoTWs2GwVhsP6emvGV/ZI=
-github.com/jinzhu/now v1.1.3/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
+github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
+github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
+github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
@@ -286,8 +302,8 @@ github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECae
github.com/lestrrat-go/strftime v1.0.4 h1:T1Rb9EPkAhgxKqbcMIPguPq8glqXTA1koF8n9BHElA8=
github.com/lestrrat-go/strftime v1.0.4/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR76fd03sz+Qz4g=
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
-github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=
-github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+github.com/lithammer/shortuuid v3.0.0+incompatible h1:NcD0xWW/MZYXEHa6ITy6kaXN5nwm/V115vj2YXfhS0w=
+github.com/lithammer/shortuuid v3.0.0+incompatible/go.mod h1:FR74pbAuElzOUuenUHTK2Tciko1/vKuIKS9dSkDrA4w=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
@@ -297,8 +313,6 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus=
-github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg=
-github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4=
github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=
@@ -320,6 +334,8 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM=
+github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
@@ -337,6 +353,7 @@ github.com/onsi/ginkgo/v2 v2.0.0 h1:CcuG/HvWNkkaqCUpJifQY8z7qEMBJya6aLPx6ftGyjQ=
github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
+github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
@@ -459,12 +476,17 @@ go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R
go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
-go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
+go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
+go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
+go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4=
+go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
-go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
+go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
+go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
+go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI=
+go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -487,6 +509,8 @@ golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb/go.mod h1:FeLwcggjj3mMvU+o
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -524,7 +548,9 @@ golang.org/x/net v0.0.0-20210427231257-85d9c07bbe3a/go.mod h1:OJAsFXCWl8Ukc7SiCT
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220622184535-263ec571b305 h1:dAgbJ2SP4jD6XYfMNLVj0BF21jo2PjChrtGaAvF5M3I=
golang.org/x/net v0.0.0-20220622184535-263ec571b305/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
@@ -619,6 +645,7 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs=
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -629,7 +656,9 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k=
google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M=
google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -665,6 +694,8 @@ gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI=
gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
+gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
+gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -681,8 +712,10 @@ gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gorm.io/driver/mysql v1.3.5 h1:iWBTVW/8Ij5AG4e0G/zqzaJblYkBI1VIL1LG2HUGsvY=
+gorm.io/driver/mysql v1.3.5/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c=
+gorm.io/gorm v1.23.8 h1:h8sGJ+biDgBA1AD1Ha9gFCx7h8npU7AsLdlkX0n2TpE=
+gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
-
-
diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go
index 540e6cc92..733d9206b 100644
--- a/internal/api/auth/auth.go
+++ b/internal/api/auth/auth.go
@@ -21,7 +21,6 @@ import (
// @Tags 鉴权认证
// @ID UserRegister
// @Accept json
-// @Param token header string true "im token"
// @Param req body api.UserRegisterReq true "secret为openIM密钥, 详细见服务端config.yaml secret字段
platform为平台ID
ex为拓展字段
gender为性别, 0为女, 1为男"
// @Produce json
// @Success 0 {object} api.UserRegisterResp
@@ -90,7 +89,6 @@ func UserRegister(c *gin.Context) {
// @Tags 鉴权认证
// @ID UserToken
// @Accept json
-// @Param token header string true "im token"
// @Param req body api.UserTokenReq true "secret为openIM密钥, 详细见服务端config.yaml secret字段
platform为平台ID"
// @Produce json
// @Success 0 {object} api.UserTokenResp
diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go
index a70cbacf2..50be90c0a 100644
--- a/internal/api/manage/management_chat.go
+++ b/internal/api/manage/management_chat.go
@@ -13,7 +13,7 @@ import (
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
"Open_IM/pkg/proto/sdk_ws"
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
@@ -185,14 +185,14 @@ func ManagementSendMsg(c *gin.Context) {
pbData := newUserSendMsgReq(¶ms)
log.Info(params.OperationID, "", "api ManagementSendMsg call start..., [data: %s]", pbData.String())
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, params.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, params.OperationID)
if etcdConn == nil {
errMsg := params.OperationID + "getcdv3.GetConn == nil"
log.NewError(params.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
log.Info(params.OperationID, "", "api ManagementSendMsg call, api call rpc...")
@@ -294,14 +294,14 @@ func ManagementBatchSendMsg(c *gin.Context) {
pbData := newUserSendMsgReq(req)
pbData.MsgData.RecvID = recvID
log.Info(params.OperationID, "", "api ManagementSendMsg call start..., ", pbData.String())
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, params.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, params.OperationID)
if etcdConn == nil {
errMsg := params.OperationID + "getcdv3.GetConn == nil"
log.NewError(params.OperationID, errMsg)
resp.Data.FailedIDList = append(resp.Data.FailedIDList, recvID)
continue
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
rpcResp, err := client.SendMsg(context.Background(), pbData)
if err != nil {
log.NewError(params.OperationID, "call delete UserSendMsg rpc server failed", err.Error())
diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go
index 3d2c89a65..eb2985258 100644
--- a/internal/api/manage/management_user.go
+++ b/internal/api/manage/management_user.go
@@ -198,9 +198,9 @@ func GetUsersOnlineStatus(c *gin.Context) {
var wsResult []*pbRelay.GetUsersOnlineStatusResp_SuccessResult
var respResult []*pbRelay.GetUsersOnlineStatusResp_SuccessResult
flag := false
- grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOnlineMessageRelayName)
+ grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName)
for _, v := range grpcCons {
- client := pbRelay.NewOnlineMessageRelayServiceClient(v)
+ client := pbRelay.NewRelayClient(v)
reply, err := client.GetUsersOnlineStatus(context.Background(), req)
if err != nil {
log.NewError(params.OperationID, "GetUsersOnlineStatus rpc err", req.String(), err.Error())
diff --git a/internal/api/chat/del_msg.go b/internal/api/msg/del_msg.go
similarity index 77%
rename from internal/api/chat/del_msg.go
rename to internal/api/msg/del_msg.go
index a5131897f..b52990d73 100644
--- a/internal/api/chat/del_msg.go
+++ b/internal/api/msg/del_msg.go
@@ -1,4 +1,4 @@
-package apiChat
+package msg
import (
api "Open_IM/pkg/base_info"
@@ -7,7 +7,7 @@ import (
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- rpc "Open_IM/pkg/proto/chat"
+ rpc "Open_IM/pkg/proto/msg"
pbCommon "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
@@ -54,14 +54,14 @@ func DelMsg(c *gin.Context) {
return
}
- grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, req.OperationID)
+ grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID)
if grpcConn == nil {
errMsg := req.OperationID + " getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
- msgClient := rpc.NewChatClient(grpcConn)
+ msgClient := rpc.NewMsgClient(grpcConn)
respPb, err := msgClient.DelMsgList(context.Background(), &reqPb)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb)
@@ -127,14 +127,14 @@ func DelSuperGroupMsg(c *gin.Context) {
c.JSON(http.StatusOK, resp)
}
log.Info(req.OperationID, "", "api DelSuperGroupMsg call start..., [data: %s]", pbData.String())
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, req.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
- client := rpc.NewChatClient(etcdConn)
+ client := rpc.NewMsgClient(etcdConn)
log.Info(req.OperationID, "", "api DelSuperGroupMsg call, api call rpc...")
@@ -186,14 +186,14 @@ func ClearMsg(c *gin.Context) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " api args ", req.String())
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, req.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + " getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
- client := rpc.NewChatClient(etcdConn)
+ client := rpc.NewMsgClient(etcdConn)
RpcResp, err := client.ClearMsg(context.Background(), req)
if err != nil {
log.NewError(req.OperationID, " CleanUpMsg failed ", err.Error(), req.String(), RpcResp.ErrMsg)
@@ -206,3 +206,51 @@ func ClearMsg(c *gin.Context) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " api return ", resp)
c.JSON(http.StatusOK, resp)
}
+
+// @Summary 设置用户最小seq
+// @Description 设置用户最小seq,以及用户相关读扩散群组最小seq
+// @Tags 消息相关
+// @ID SetMsgMinSeq
+// @Accept json
+// @Param token header string true "im token"
+func SetMsgMinSeq(c *gin.Context) {
+ params := api.SetMsgMinSeqReq{}
+ if err := c.BindJSON(¶ms); err != nil {
+ log.NewError("0", "BindJSON failed ", err.Error())
+ c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
+ return
+ }
+ //
+ req := &rpc.SetMsgMinSeqReq{}
+ utils.CopyStructFields(req, ¶ms)
+
+ var ok bool
+ var errInfo string
+ ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID)
+ if !ok {
+ errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
+ log.NewError(req.OperationID, errMsg)
+ c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
+ return
+ }
+ log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " api args ", req.String())
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID)
+ if etcdConn == nil {
+ errMsg := req.OperationID + " getcdv3.GetConn == nil"
+ log.NewError(req.OperationID, errMsg)
+ c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
+ return
+ }
+ client := rpc.NewMsgClient(etcdConn)
+ RpcResp, err := client.SetMsgMinSeq(context.Background(), req)
+ if err != nil {
+ log.NewError(req.OperationID, " SetMsgMinSeq failed ", err.Error(), req.String(), RpcResp.ErrMsg)
+ c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": RpcResp.ErrMsg})
+ return
+ }
+
+ resp := api.SetMsgMinSeqResp{CommResp: api.CommResp{ErrCode: RpcResp.ErrCode, ErrMsg: RpcResp.ErrMsg}}
+
+ log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " api return ", resp)
+ c.JSON(http.StatusOK, resp)
+}
diff --git a/internal/api/chat/get_max_min_seq.go b/internal/api/msg/get_max_min_seq.go
similarity index 92%
rename from internal/api/chat/get_max_min_seq.go
rename to internal/api/msg/get_max_min_seq.go
index 410a6ffb0..193fc9322 100644
--- a/internal/api/chat/get_max_min_seq.go
+++ b/internal/api/msg/get_max_min_seq.go
@@ -1,11 +1,11 @@
-package apiChat
+package msg
import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
sdk_ws "Open_IM/pkg/proto/sdk_ws"
"context"
"github.com/gin-gonic/gin"
@@ -35,7 +35,7 @@ func GetSeq(c *gin.Context) {
pbData := sdk_ws.GetMaxAndMinSeqReq{}
pbData.UserID = params.SendID
pbData.OperationID = params.OperationID
- grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, pbData.OperationID)
+ grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, pbData.OperationID)
if grpcConn == nil {
errMsg := pbData.OperationID + " getcdv3.GetConn == nil"
log.NewError(pbData.OperationID, errMsg)
@@ -43,7 +43,7 @@ func GetSeq(c *gin.Context) {
return
}
- msgClient := pbChat.NewChatClient(grpcConn)
+ msgClient := pbChat.NewMsgClient(grpcConn)
reply, err := msgClient.GetMaxAndMinSeq(context.Background(), &pbData)
if err != nil {
log.NewError(params.OperationID, "UserGetSeq rpc failed, ", params, err.Error())
diff --git a/internal/api/chat/pull_msg.go b/internal/api/msg/pull_msg.go
similarity index 94%
rename from internal/api/chat/pull_msg.go
rename to internal/api/msg/pull_msg.go
index 3e1a2314f..418c3b708 100644
--- a/internal/api/chat/pull_msg.go
+++ b/internal/api/msg/pull_msg.go
@@ -1,11 +1,11 @@
-package apiChat
+package msg
import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- "Open_IM/pkg/proto/chat"
+ "Open_IM/pkg/proto/msg"
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
@@ -51,14 +51,14 @@ func PullMsgBySeqList(c *gin.Context) {
pbData.OperationID = params.OperationID
pbData.SeqList = params.SeqList
- grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, pbData.OperationID)
+ grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, pbData.OperationID)
if grpcConn == nil {
errMsg := pbData.OperationID + "getcdv3.GetConn == nil"
log.NewError(pbData.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
- msgClient := pbChat.NewChatClient(grpcConn)
+ msgClient := msg.NewMsgClient(grpcConn)
reply, err := msgClient.PullMessageBySeqList(context.Background(), &pbData)
if err != nil {
log.Error(pbData.OperationID, "PullMessageBySeqList error", err.Error())
diff --git a/internal/api/chat/send_msg.go b/internal/api/msg/send_msg.go
similarity index 96%
rename from internal/api/chat/send_msg.go
rename to internal/api/msg/send_msg.go
index af5bf5d7b..7b41d0866 100644
--- a/internal/api/chat/send_msg.go
+++ b/internal/api/msg/send_msg.go
@@ -1,9 +1,9 @@
-package apiChat
+package msg
import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/log"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"context"
@@ -71,14 +71,14 @@ func SendMsg(c *gin.Context) {
pbData := newUserSendMsgReq(token, ¶ms)
log.Info(params.OperationID, "", "api SendMsg call start..., [data: %s]", pbData.String())
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, params.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, params.OperationID)
if etcdConn == nil {
errMsg := params.OperationID + "getcdv3.GetConn == nil"
log.NewError(params.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
log.Info("", "", "api SendMsg call, api call rpc...")
diff --git a/internal/api/user/user.go b/internal/api/user/user.go
index 3047dce46..51919fa42 100644
--- a/internal/api/user/user.go
+++ b/internal/api/user/user.go
@@ -324,8 +324,9 @@ func SetGlobalRecvMessageOpt(c *gin.Context) {
func GetSelfUserInfo(c *gin.Context) {
params := api.GetSelfUserInfoReq{}
if err := c.BindJSON(¶ms); err != nil {
- log.NewError("0", "BindJSON failed ", err.Error())
- c.JSON(http.StatusBadRequest, gin.H{"errCode": http.StatusBadRequest, "errMsg": err.Error()})
+ errMsg := "BindJSON failed " + err.Error()
+ log.NewError("0", "BindJSON failed ", errMsg)
+ c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
req := &rpc.GetUserInfoReq{}
@@ -414,9 +415,9 @@ func GetUsersOnlineStatus(c *gin.Context) {
var wsResult []*pbRelay.GetUsersOnlineStatusResp_SuccessResult
var respResult []*pbRelay.GetUsersOnlineStatusResp_SuccessResult
flag := false
- grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOnlineMessageRelayName)
+ grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName)
for _, v := range grpcCons {
- client := pbRelay.NewOnlineMessageRelayServiceClient(v)
+ client := pbRelay.NewRelayClient(v)
reply, err := client.GetUsersOnlineStatus(context.Background(), req)
if err != nil {
log.NewError(params.OperationID, "GetUsersOnlineStatus rpc err", req.String(), err.Error())
diff --git a/internal/demo/register/onboarding_process.go b/internal/demo/register/onboarding_process.go
index 38a0d44e9..c87074ad9 100644
--- a/internal/demo/register/onboarding_process.go
+++ b/internal/demo/register/onboarding_process.go
@@ -21,6 +21,30 @@ import (
"time"
)
+type OnboardingProcessReq struct {
+ OperationID string
+ UserID string
+ NickName string
+ FaceURL string
+ PhoneNumber string
+ Email string
+}
+
+var Ch chan OnboardingProcessReq
+
+func init() {
+ Ch = make(chan OnboardingProcessReq, 1000)
+}
+
+func OnboardingProcessRoutine() {
+ for {
+ req := <-Ch
+ go func() {
+ onboardingProcess(req.OperationID, req.UserID, req.NickName, req.FaceURL, req.PhoneNumber, req.Email)
+ }()
+ }
+}
+
func onboardingProcess(operationID, userID, userName, faceURL, phoneNumber, email string) {
log.NewInfo(operationID, utils.GetSelfFuncName(), userName, userID, faceURL)
if err := createOrganizationUser(operationID, userID, userName, phoneNumber, email); err != nil {
@@ -208,7 +232,7 @@ func onboardingProcessNotification(operationID, userID, groupID, userName, faceU
Content: []byte(welcomeString),
MsgFrom: constant.UserMsgType,
ContentType: constant.Text,
- SessionType: constant.GroupChatType,
+ SessionType: constant.SuperGroupChatType,
OperationID: operationID,
SenderNickname: userName,
SenderFaceURL: faceURL,
diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go
index c3aab18d2..69a094204 100644
--- a/internal/demo/register/set_password.go
+++ b/internal/demo/register/set_password.go
@@ -108,7 +108,18 @@ func SetPassword(c *gin.Context) {
log.Info(params.OperationID, "end setPassword", account, params.Password)
// demo onboarding
if params.UserID == "" {
- onboardingProcess(params.OperationID, userID, params.Nickname, params.FaceURL, params.AreaCode+params.PhoneNumber, params.Email)
+ select {
+ case Ch <- OnboardingProcessReq{
+ OperationID: params.OperationID,
+ UserID: params.UserID,
+ NickName: params.Nickname,
+ FaceURL: params.FaceURL,
+ PhoneNumber: params.AreaCode + params.PhoneNumber,
+ Email: params.Email,
+ }:
+ case <-time.After(time.Second * 2):
+ log.NewWarn(params.OperationID, utils.GetSelfFuncName(), "to ch timeOut")
+ }
}
c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMRegisterResp.UserToken})
return
diff --git a/internal/msg_gateway/gate/batch_push.go b/internal/msg_gateway/gate/batch_push.go
index 76055d23b..d0154c260 100644
--- a/internal/msg_gateway/gate/batch_push.go
+++ b/internal/msg_gateway/gate/batch_push.go
@@ -5,7 +5,7 @@ import (
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
sdk_ws "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
@@ -89,14 +89,14 @@ func (r *RPCServer) GetSingleUserMsg(operationID string, currentMsgSeq uint32, u
rpcReq.SeqList = seqList
rpcReq.UserID = userID
rpcReq.OperationID = operationID
- grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, rpcReq.OperationID)
+ grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, rpcReq.OperationID)
if grpcConn == nil {
errMsg := "getcdv3.GetConn == nil"
log.NewError(rpcReq.OperationID, errMsg)
return nil
}
- msgClient := pbChat.NewChatClient(grpcConn)
+ msgClient := pbChat.NewMsgClient(grpcConn)
reply, err := msgClient.PullMessageBySeqList(context.Background(), &rpcReq)
if err != nil {
log.Error(operationID, "PullMessageBySeqList failed ", err.Error(), rpcReq.String())
diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go
index 60ba0ab2c..88021c929 100644
--- a/internal/msg_gateway/gate/logic.go
+++ b/internal/msg_gateway/gate/logic.go
@@ -6,7 +6,7 @@ import (
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
pbRtc "Open_IM/pkg/proto/rtc"
sdk_ws "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
@@ -69,7 +69,7 @@ func (ws *WServer) getSeqReq(conn *UserConn, m *Req) {
rpcReq.UserID = m.SendID
rpcReq.OperationID = m.OperationID
log.Debug(m.OperationID, "Ws call success to getMaxAndMinSeq", m.SendID, m.ReqIdentifier, m.MsgIncr, data.(sdk_ws.GetMaxAndMinSeqReq).GroupIDList)
- grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, rpcReq.OperationID)
+ grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, rpcReq.OperationID)
if grpcConn == nil {
errMsg := rpcReq.OperationID + "getcdv3.GetConn == nil"
nReply.ErrCode = 500
@@ -78,7 +78,7 @@ func (ws *WServer) getSeqReq(conn *UserConn, m *Req) {
ws.getSeqResp(conn, m, nReply)
return
}
- msgClient := pbChat.NewChatClient(grpcConn)
+ msgClient := pbChat.NewMsgClient(grpcConn)
rpcReply, err := msgClient.GetMaxAndMinSeq(context.Background(), &rpcReq)
if err != nil {
nReply.ErrCode = 500
@@ -124,7 +124,7 @@ func (ws *WServer) pullMsgBySeqListReq(conn *UserConn, m *Req) {
rpcReq.OperationID = m.OperationID
rpcReq.GroupSeqList = data.(sdk_ws.PullMessageBySeqListReq).GroupSeqList
log.NewInfo(m.OperationID, "Ws call success to pullMsgBySeqListReq middle", m.SendID, m.ReqIdentifier, m.MsgIncr, data.(sdk_ws.PullMessageBySeqListReq).SeqList)
- grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, m.OperationID)
+ grpcConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, m.OperationID)
if grpcConn == nil {
errMsg := rpcReq.OperationID + "getcdv3.GetConn == nil"
nReply.ErrCode = 500
@@ -133,7 +133,7 @@ func (ws *WServer) pullMsgBySeqListReq(conn *UserConn, m *Req) {
ws.pullMsgBySeqListResp(conn, m, nReply)
return
}
- msgClient := pbChat.NewChatClient(grpcConn)
+ msgClient := pbChat.NewMsgClient(grpcConn)
reply, err := msgClient.PullMessageBySeqList(context.Background(), &rpcReq)
if err != nil {
log.NewError(rpcReq.OperationID, "pullMsgBySeqListReq err", err.Error())
@@ -183,7 +183,7 @@ func (ws *WServer) sendMsgReq(conn *UserConn, m *Req) {
MsgData: &data,
}
log.NewInfo(m.OperationID, "Ws call success to sendMsgReq middle", m.ReqIdentifier, m.SendID, m.MsgIncr, data.String())
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, m.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, m.OperationID)
if etcdConn == nil {
errMsg := m.OperationID + "getcdv3.GetConn == nil"
nReply.ErrCode = 500
@@ -192,7 +192,7 @@ func (ws *WServer) sendMsgReq(conn *UserConn, m *Req) {
ws.sendMsgResp(conn, m, nReply)
return
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
reply, err := client.SendMsg(context.Background(), &pbData)
if err != nil {
log.NewError(pbData.OperationID, "UserSendMsg err", err.Error())
@@ -264,14 +264,14 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) {
}
log.NewInfo(m.OperationID, utils.GetSelfFuncName(), "pbData: ", pbData)
log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq middle", m.ReqIdentifier, m.SendID, m.MsgIncr, msgData)
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, m.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, m.OperationID)
if etcdConn == nil {
errMsg := m.OperationID + "getcdv3.GetConn == nil"
log.NewError(m.OperationID, errMsg)
ws.sendSignalMsgResp(conn, 200, errMsg, m, &signalResp)
return
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
reply, err := client.SendMsg(context.Background(), &pbData)
if err != nil {
log.NewError(pbData.OperationID, utils.GetSelfFuncName(), "rpc sendMsg err", err.Error())
diff --git a/internal/msg_gateway/gate/rpc_server.go b/internal/msg_gateway/gate/relay_rpc_server.go
similarity index 98%
rename from internal/msg_gateway/gate/rpc_server.go
rename to internal/msg_gateway/gate/relay_rpc_server.go
index c8eb15538..0f48519c8 100644
--- a/internal/msg_gateway/gate/rpc_server.go
+++ b/internal/msg_gateway/gate/relay_rpc_server.go
@@ -32,7 +32,7 @@ type RPCServer struct {
func (r *RPCServer) onInit(rpcPort int) {
r.rpcPort = rpcPort
- r.rpcRegisterName = config.Config.RpcRegisterName.OpenImOnlineMessageRelayName
+ r.rpcRegisterName = config.Config.RpcRegisterName.OpenImRelayName
r.etcdSchema = config.Config.Etcd.EtcdSchema
r.etcdAddr = config.Config.Etcd.EtcdAddr
r.platformList = genPlatformArray()
@@ -53,7 +53,7 @@ func (r *RPCServer) run() {
defer listener.Close()
srv := grpc.NewServer()
defer srv.GracefulStop()
- pbRelay.RegisterOnlineMessageRelayServiceServer(srv, r)
+ pbRelay.RegisterRelayServer(srv, r)
rpcRegisterIP := config.Config.RpcRegisterIP
if config.Config.RpcRegisterIP == "" {
diff --git a/internal/msg_transfer/logic/db.go b/internal/msg_transfer/logic/db.go
index 579cdedf3..ee6e5ea2c 100644
--- a/internal/msg_transfer/logic/db.go
+++ b/internal/msg_transfer/logic/db.go
@@ -3,7 +3,7 @@ package logic
import (
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
"Open_IM/pkg/utils"
)
diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go
index 908d28b27..35cb2a0e8 100644
--- a/internal/msg_transfer/logic/online_history_msg_handler.go
+++ b/internal/msg_transfer/logic/online_history_msg_handler.go
@@ -7,7 +7,7 @@ import (
kfk "Open_IM/pkg/common/kafka"
"Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
pbPush "Open_IM/pkg/proto/push"
"Open_IM/pkg/utils"
"context"
diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go
index dae6571f8..42efdc428 100644
--- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go
+++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go
@@ -6,7 +6,7 @@ import (
"Open_IM/pkg/common/db"
kfk "Open_IM/pkg/common/kafka"
"Open_IM/pkg/common/log"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
server_api_params "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"github.com/Shopify/sarama"
diff --git a/internal/msg_transfer/logic/persistent_msg_handler.go b/internal/msg_transfer/logic/persistent_msg_handler.go
index 4a313d1ad..4aa004edc 100644
--- a/internal/msg_transfer/logic/persistent_msg_handler.go
+++ b/internal/msg_transfer/logic/persistent_msg_handler.go
@@ -12,7 +12,7 @@ import (
"Open_IM/pkg/common/db/mysql_model/im_mysql_msg_model"
kfk "Open_IM/pkg/common/kafka"
"Open_IM/pkg/common/log"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
"Open_IM/pkg/utils"
"github.com/Shopify/sarama"
"github.com/golang/protobuf/proto"
diff --git a/internal/push/logic/push_handler.go b/internal/push/logic/push_handler.go
index e18f0c136..0bb51b09d 100644
--- a/internal/push/logic/push_handler.go
+++ b/internal/push/logic/push_handler.go
@@ -10,7 +10,7 @@ import (
"Open_IM/pkg/common/config"
kfk "Open_IM/pkg/common/kafka"
"Open_IM/pkg/common/log"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
pbPush "Open_IM/pkg/proto/push"
"github.com/Shopify/sarama"
"github.com/golang/protobuf/proto"
diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go
index 3c5e1b8bc..e6dabe074 100644
--- a/internal/push/logic/push_to_client.go
+++ b/internal/push/logic/push_to_client.go
@@ -45,12 +45,12 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) {
log.Debug(pushMsg.OperationID, "Get msg from msg_transfer And push msg", pushMsg.String())
if len(grpcCons) == 0 {
log.NewWarn(pushMsg.OperationID, "first GetConn4Unique ")
- grpcCons = getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOnlineMessageRelayName)
+ grpcCons = getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName)
}
//Online push message
log.Debug(pushMsg.OperationID, "len grpc", len(grpcCons), "data", pushMsg.String())
for _, v := range grpcCons {
- msgClient := pbRelay.NewOnlineMessageRelayServiceClient(v)
+ msgClient := pbRelay.NewRelayClient(v)
reply, err := msgClient.SuperGroupOnlineBatchPushOneMsg(context.Background(), &pbRelay.OnlineBatchPushOneMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData, PushToUserIDList: []string{pushMsg.PushToUserID}})
if err != nil {
log.NewError("SuperGroupOnlineBatchPushOneMsg push data to client rpc err", pushMsg.OperationID, "err", err)
@@ -167,12 +167,12 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) {
}
if len(grpcCons) == 0 {
log.NewWarn(pushMsg.OperationID, "first GetConn4Unique ")
- grpcCons = getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOnlineMessageRelayName)
+ grpcCons = getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName)
}
//Online push message
log.Debug("test", pushMsg.OperationID, "len grpc", len(grpcCons), "data", pushMsg.String())
for _, v := range grpcCons {
- msgClient := pbRelay.NewOnlineMessageRelayServiceClient(v)
+ msgClient := pbRelay.NewRelayClient(v)
reply, err := msgClient.SuperGroupOnlineBatchPushOneMsg(context.Background(), &pbRelay.OnlineBatchPushOneMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData, PushToUserIDList: cacheResp.UserIDList})
if err != nil {
log.NewError("push data to client rpc err", pushMsg.OperationID, "err", err)
diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go
index 31c0cd62b..7c5aa9168 100644
--- a/internal/rpc/auth/auth.go
+++ b/internal/rpc/auth/auth.go
@@ -83,9 +83,9 @@ func (rpc *rpcAuth) ForceLogout(_ context.Context, req *pbAuth.ForceLogoutReq) (
func (rpc *rpcAuth) forceKickOff(userID string, platformID int32, operationID string) error {
- grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOnlineMessageRelayName)
+ grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName)
for _, v := range grpcCons {
- client := pbRelay.NewOnlineMessageRelayServiceClient(v)
+ client := pbRelay.NewRelayClient(v)
kickReq := &pbRelay.KickUserOfflineReq{OperationID: operationID, KickUserIDList: []string{userID}, PlatformID: platformID}
log.NewInfo(operationID, "KickUserOffline ", client, kickReq.String())
_, err := client.KickUserOffline(context.Background(), kickReq)
diff --git a/internal/rpc/cache/cache.go b/internal/rpc/cache/cache.go
index 79d86f2b8..60cc52d32 100644
--- a/internal/rpc/cache/cache.go
+++ b/internal/rpc/cache/cache.go
@@ -3,20 +3,16 @@ package cache
import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
- "Open_IM/pkg/common/db"
- imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
+ "Open_IM/pkg/common/db/rocks_cache"
"Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
pbCache "Open_IM/pkg/proto/cache"
- commonPb "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
+ "google.golang.org/grpc"
"net"
"strconv"
"strings"
- "sync"
-
- "google.golang.org/grpc"
)
type cacheServer struct {
@@ -54,13 +50,6 @@ func (s *cacheServer) Run() {
defer listener.Close()
//grpc server
- //to cache
- err = SyncDB2Cache()
- if err != nil {
- log.NewError("", err.Error(), "db to cache failed")
- panic(err.Error())
- }
-
srv := grpc.NewServer()
defer srv.GracefulStop()
pbCache.RegisterCacheServer(srv, s)
@@ -86,167 +75,10 @@ func (s *cacheServer) Run() {
log.NewInfo("0", "message cms rpc success")
}
-func SyncDB2Cache() error {
- var err error
- log.NewInfo("0", utils.GetSelfFuncName())
- userList, err := imdb.GetAllUser()
- log.NewDebug("", utils.GetSelfFuncName(), "userList", userList)
- if err != nil {
- return utils.Wrap(err, "")
- }
- //err = updateAllUserToCache(userList)
- wg := &sync.WaitGroup{}
- wg.Add(3)
- go func() {
- defer wg.Done()
- err = updateAllFriendToCache(userList)
- }()
- go func() {
- defer wg.Done()
- err = updateAllBlackListToCache(userList)
- }()
- go func() {
- defer wg.Done()
- err = updateAllGroupMemberListToCache()
- }()
- wg.Wait()
- return utils.Wrap(err, "")
-}
-
-func DelRelationCache() {}
-
-func updateAllUserToCache(userList []db.User) error {
- wg := &sync.WaitGroup{}
- wg.Add(len(userList))
- for _, userInfo := range userList {
- go func() {
- defer wg.Done()
- userInfoPb := &commonPb.UserInfo{
- UserID: userInfo.UserID,
- Nickname: userInfo.Nickname,
- FaceURL: userInfo.FaceURL,
- Gender: userInfo.Gender,
- PhoneNumber: userInfo.PhoneNumber,
- Birth: uint32(userInfo.Birth.Unix()),
- Email: userInfo.Email,
- Ex: userInfo.Ex,
- CreateTime: uint32(userInfo.CreateTime.Unix()),
- AppMangerLevel: userInfo.AppMangerLevel,
- }
- m, err := utils.Pb2Map(userInfoPb)
- if err != nil {
- log.NewWarn("", utils.GetSelfFuncName(), err.Error())
- }
- if err := db.DB.SetUserInfoToCache(userInfo.UserID, m); err != nil {
- log.NewWarn("0", utils.GetSelfFuncName(), "set userInfo to cache failed", err.Error())
- }
- }()
- }
- wg.Wait()
- log.NewInfo("0", utils.GetSelfFuncName(), "ok")
- return nil
-}
-
-func updateAllGroupMemberListToCache() error {
- log.NewInfo("0", utils.GetSelfFuncName())
- groupIDList, err := imdb.GetAllGroupIDList()
- if err != nil {
- log.NewWarn("0", utils.GetSelfFuncName(), "getAllGroupIDList failed", err.Error())
- panic(err.Error())
- }
-
- for _, groupID := range groupIDList {
- groupMemberIDList, err := imdb.GetGroupMemberIDListByGroupID(groupID)
- if err != nil {
- log.NewWarn("", utils.GetSelfFuncName(), "GetGroupMemberIDListByGroupID", err.Error())
- continue
- }
- if len(groupMemberIDList) > 0 {
- if err := db.DB.AddGroupMemberToCache(groupID, groupMemberIDList...); err != nil {
- log.NewWarn("", utils.GetSelfFuncName(), "AddGroupMemberToCache", err.Error())
- }
- }
- }
- log.NewInfo("0", utils.GetSelfFuncName(), "ok")
- return nil
-}
-
-func updateAllFriendToCache(userList []db.User) error {
- log.NewInfo("0", utils.GetSelfFuncName())
- for _, user := range userList {
- friendIDList, err := imdb.GetFriendIDListByUserID(user.UserID)
- if err != nil {
- log.NewWarn("0", utils.GetSelfFuncName(), err.Error())
- continue
- }
- if len(friendIDList) > 0 {
- if err := db.DB.AddFriendToCache(user.UserID, friendIDList...); err != nil {
- log.NewWarn("0", utils.GetSelfFuncName(), err.Error(), friendIDList, user.UserID)
- }
- }
- }
-
- log.NewInfo("0", utils.GetSelfFuncName(), "ok")
- return nil
-}
-
-func updateAllBlackListToCache(userList []db.User) error {
- log.NewInfo("0", utils.GetSelfFuncName())
- for _, user := range userList {
- blackIDList, err := imdb.GetBlackIDListByUserID(user.UserID)
- if err != nil {
- log.NewWarn("", utils.GetSelfFuncName(), err.Error())
- continue
- }
- if len(blackIDList) > 0 {
- if err := db.DB.AddBlackUserToCache(user.UserID, blackIDList...); err != nil {
- log.NewWarn("0", utils.GetSelfFuncName(), err.Error())
- }
- }
- }
- log.NewInfo("0", utils.GetSelfFuncName(), "ok")
- return nil
-}
-
-func (s *cacheServer) GetUserInfoFromCache(_ context.Context, req *pbCache.GetUserInfoFromCacheReq) (resp *pbCache.GetUserInfoFromCacheResp, err error) {
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.GetUserInfoFromCacheResp{
- CommonResp: &pbCache.CommonResp{},
- }
- for _, userID := range req.UserIDList {
- userInfo, err := db.DB.GetUserInfoFromCache(userID)
- if err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), "get userInfo from cache failed", err.Error())
- continue
- }
- resp.UserInfoList = append(resp.UserInfoList, userInfo)
- }
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
- return resp, nil
-}
-
-func (s *cacheServer) UpdateUserInfoToCache(_ context.Context, req *pbCache.UpdateUserInfoToCacheReq) (resp *pbCache.UpdateUserInfoToCacheResp, err error) {
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.UpdateUserInfoToCacheResp{
- CommonResp: &pbCache.CommonResp{},
- }
- for _, userInfo := range req.UserInfoList {
- m, err := utils.Pb2Map(userInfo)
- if err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), *userInfo)
- }
- if err := db.DB.SetUserInfoToCache(userInfo.UserID, m); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), "set userInfo to cache failed", err.Error())
- }
- }
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
- return resp, nil
-}
-
func (s *cacheServer) GetFriendIDListFromCache(_ context.Context, req *pbCache.GetFriendIDListFromCacheReq) (resp *pbCache.GetFriendIDListFromCacheResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbCache.GetFriendIDListFromCacheResp{CommonResp: &pbCache.CommonResp{}}
- friendIDList, err := db.DB.GetFriendIDListFromCache(req.UserID)
+ friendIDList, err := rocksCache.GetFriendIDListFromCache(req.UserID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetFriendIDListFromCache", err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
@@ -259,36 +91,24 @@ func (s *cacheServer) GetFriendIDListFromCache(_ context.Context, req *pbCache.G
return resp, nil
}
-func (s *cacheServer) AddFriendToCache(_ context.Context, req *pbCache.AddFriendToCacheReq) (resp *pbCache.AddFriendToCacheResp, err error) {
+// this is for dtm call
+func (s *cacheServer) DelFriendIDListFromCache(_ context.Context, req *pbCache.DelFriendIDListFromCacheReq) (resp *pbCache.DelFriendIDListFromCacheResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.AddFriendToCacheResp{CommonResp: &pbCache.CommonResp{}}
- if err := db.DB.AddFriendToCache(req.UserID, req.FriendID); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", err.Error())
+ resp = &pbCache.DelFriendIDListFromCacheResp{CommonResp: &pbCache.CommonResp{}}
+ if err := rocksCache.DelFriendIDListFromCache(req.UserID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), "args: ", req.UserID, err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
- resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
+ resp.CommonResp.ErrMsg = err.Error()
return resp, nil
}
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
- return resp, nil
-}
-
-func (s *cacheServer) ReduceFriendFromCache(_ context.Context, req *pbCache.ReduceFriendFromCacheReq) (resp *pbCache.ReduceFriendFromCacheResp, err error) {
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.ReduceFriendFromCacheResp{CommonResp: &pbCache.CommonResp{}}
- if err := db.DB.ReduceFriendToCache(req.UserID, req.FriendID); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", err.Error())
- resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
- resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
- return resp, nil
- }
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
+ log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", resp.String())
return resp, nil
}
func (s *cacheServer) GetBlackIDListFromCache(_ context.Context, req *pbCache.GetBlackIDListFromCacheReq) (resp *pbCache.GetBlackIDListFromCacheResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &pbCache.GetBlackIDListFromCacheResp{CommonResp: &pbCache.CommonResp{}}
- blackUserIDList, err := db.DB.GetBlackListFromCache(req.UserID)
+ blackUserIDList, err := rocksCache.GetBlackListFromCache(req.UserID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
@@ -301,29 +121,16 @@ func (s *cacheServer) GetBlackIDListFromCache(_ context.Context, req *pbCache.Ge
return resp, nil
}
-func (s *cacheServer) AddBlackUserToCache(_ context.Context, req *pbCache.AddBlackUserToCacheReq) (resp *pbCache.AddBlackUserToCacheResp, err error) {
+func (s *cacheServer) DelBlackIDListFromCache(_ context.Context, req *pbCache.DelBlackIDListFromCacheReq) (resp *pbCache.DelBlackIDListFromCacheResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.AddBlackUserToCacheResp{CommonResp: &pbCache.CommonResp{}}
- if err := db.DB.AddBlackUserToCache(req.UserID, req.BlackUserID); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
+ resp = &pbCache.DelBlackIDListFromCacheResp{CommonResp: &pbCache.CommonResp{}}
+ if err := rocksCache.DelBlackIDListFromCache(req.UserID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), "args: ", req.UserID, err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
- resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
+ resp.CommonResp.ErrMsg = err.Error()
return resp, nil
}
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
- return resp, nil
-}
-
-func (s *cacheServer) ReduceBlackUserFromCache(_ context.Context, req *pbCache.ReduceBlackUserFromCacheReq) (resp *pbCache.ReduceBlackUserFromCacheResp, err error) {
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.ReduceBlackUserFromCacheResp{CommonResp: &pbCache.CommonResp{}}
- if err := db.DB.ReduceBlackUserFromCache(req.UserID, req.BlackUserID); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
- resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
- resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
- return resp, nil
- }
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
+ log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", resp.String())
return resp, nil
}
@@ -332,7 +139,7 @@ func (s *cacheServer) GetGroupMemberIDListFromCache(_ context.Context, req *pbCa
resp = &pbCache.GetGroupMemberIDListFromCacheResp{
CommonResp: &pbCache.CommonResp{},
}
- userIDList, err := db.DB.GetGroupMemberIDListFromCache(req.GroupID)
+ userIDList, err := rocksCache.GetGroupMemberIDListFromCache(req.GroupID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMemberIDListFromCache failed", err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
@@ -344,28 +151,15 @@ func (s *cacheServer) GetGroupMemberIDListFromCache(_ context.Context, req *pbCa
return resp, nil
}
-func (s *cacheServer) AddGroupMemberToCache(_ context.Context, req *pbCache.AddGroupMemberToCacheReq) (resp *pbCache.AddGroupMemberToCacheResp, err error) {
+func (s *cacheServer) DelGroupMemberIDListFromCache(_ context.Context, req *pbCache.DelGroupMemberIDListFromCacheReq) (resp *pbCache.DelGroupMemberIDListFromCacheResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.AddGroupMemberToCacheResp{CommonResp: &pbCache.CommonResp{}}
- if err := db.DB.AddGroupMemberToCache(req.GroupID, req.UserIDList...); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddGroupMemberToCache failed", err.Error())
+ resp = &pbCache.DelGroupMemberIDListFromCacheResp{CommonResp: &pbCache.CommonResp{}}
+ if err := rocksCache.DelGroupMemberIDListFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), "args: ", req.GroupID, err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
- resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
+ resp.CommonResp.ErrMsg = err.Error()
return resp, nil
}
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
- return resp, nil
-}
-
-func (s *cacheServer) ReduceGroupMemberFromCache(_ context.Context, req *pbCache.ReduceGroupMemberFromCacheReq) (resp *pbCache.ReduceGroupMemberFromCacheResp, err error) {
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
- resp = &pbCache.ReduceGroupMemberFromCacheResp{CommonResp: &pbCache.CommonResp{}}
- if err := db.DB.ReduceGroupMemberFromCache(req.GroupID, req.UserIDList...); err != nil {
- log.NewError(req.OperationID, utils.GetSelfFuncName(), "ReduceGroupMemberFromCache failed", err.Error())
- resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
- resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
- return resp, nil
- }
- log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
+ log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", resp.String())
return resp, nil
}
diff --git a/internal/rpc/friend/firend.go b/internal/rpc/friend/friend.go
similarity index 82%
rename from internal/rpc/friend/firend.go
rename to internal/rpc/friend/friend.go
index 5c2c2a359..6ce4d62da 100644
--- a/internal/rpc/friend/firend.go
+++ b/internal/rpc/friend/friend.go
@@ -6,6 +6,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
+ "Open_IM/pkg/common/db/rocks_cache"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
cp "Open_IM/pkg/common/utils"
@@ -95,10 +96,10 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
err := imdb.InsertInToUserBlackList(black)
if err != nil {
log.NewError(req.CommID.OperationID, "InsertInToUserBlackList failed ", err.Error())
- return &pbFriend.AddBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
+ return &pbFriend.AddBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil
}
log.NewInfo(req.CommID.OperationID, "AddBlacklist rpc ok ", req.CommID.FromUserID, req.CommID.ToUserID)
- reqAddBlackUserToCache := &pbCache.AddBlackUserToCacheReq{UserID: req.CommID.FromUserID, BlackUserID: req.CommID.ToUserID, OperationID: req.CommID.OperationID}
+
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.CommID.OperationID)
if etcdConn == nil {
errMsg := req.CommID.OperationID + "getcdv3.GetConn == nil"
@@ -106,15 +107,16 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
return &pbFriend.AddBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil
}
cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.AddBlackUserToCache(context.Background(), reqAddBlackUserToCache)
+ cacheResp, err := cacheClient.DelBlackIDListFromCache(context.Background(), &pbCache.DelBlackIDListFromCacheReq{UserID: req.CommID.FromUserID, OperationID: req.CommID.OperationID})
if err != nil {
- log.NewError(req.CommID.OperationID, "AddBlackUserToCache rpc call failed ", err.Error())
+ log.NewError(req.CommID.OperationID, "DelBlackIDListFromCache rpc call failed ", err.Error())
return &pbFriend.AddBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: 500, ErrMsg: "AddBlackUserToCache rpc call failed"}}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.CommID.OperationID, "AddBlackUserToCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.CommID.OperationID, "DelBlackIDListFromCache rpc logic call failed ", cacheResp.String())
return &pbFriend.AddBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: cacheResp.CommonResp.ErrCode, ErrMsg: cacheResp.CommonResp.ErrMsg}}, nil
}
+
chat.BlackAddedNotification(req)
return &pbFriend.AddBlacklistResp{CommonResp: &pbFriend.CommonResp{}}, nil
}
@@ -208,6 +210,51 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
}
}
}
+
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
+ if etcdConn == nil {
+ errMsg := req.OperationID + "getcdv3.GetConn == nil"
+ log.NewError(req.OperationID, errMsg)
+ resp.CommonResp.ErrMsg = errMsg
+ resp.CommonResp.ErrCode = 500
+ return &resp, nil
+ }
+ cacheClient := pbCache.NewCacheClient(etcdConn)
+ cacheResp, err := cacheClient.DelFriendIDListFromCache(context.Background(), &pbCache.DelFriendIDListFromCacheReq{UserID: req.FromUserID, OperationID: req.OperationID})
+ if err != nil {
+ log.NewError(req.OperationID, "DelBlackIDListFromCache rpc call failed ", err.Error())
+ resp.CommonResp.ErrCode = 500
+ resp.CommonResp.ErrMsg = err.Error()
+ return &resp, nil
+ }
+ if cacheResp.CommonResp.ErrCode != 0 {
+ log.NewError(req.OperationID, "DelBlackIDListFromCache rpc logic call failed ", cacheResp.String())
+ resp.CommonResp.ErrCode = 500
+ resp.CommonResp.ErrMsg = cacheResp.CommonResp.ErrMsg
+ return &resp, nil
+ }
+ if err := rocksCache.DelAllFriendsInfoFromCache(req.FromUserID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.FromUserID)
+ }
+
+ for _, userID := range req.FriendUserIDList {
+ cacheResp, err := cacheClient.DelFriendIDListFromCache(context.Background(), &pbCache.DelFriendIDListFromCacheReq{UserID: userID, OperationID: req.OperationID})
+ if err != nil {
+ log.NewError(req.OperationID, "DelBlackIDListFromCache rpc call failed ", err.Error())
+ }
+ if cacheResp != nil && cacheResp.CommonResp != nil {
+ if cacheResp.CommonResp.ErrCode != 0 {
+ log.NewError(req.OperationID, "DelBlackIDListFromCache rpc logic call failed ", cacheResp.String())
+ resp.CommonResp.ErrCode = 500
+ resp.CommonResp.ErrMsg = cacheResp.CommonResp.ErrMsg
+ return &resp, nil
+ }
+ }
+ if err := rocksCache.DelAllFriendsInfoFromCache(userID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userID)
+ }
+ }
+
resp.CommonResp.ErrCode = 0
log.NewInfo(req.OperationID, "ImportFriend rpc ok ", resp.String())
return &resp, nil
@@ -267,7 +314,7 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
return &pbFriend.AddFriendResponseResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
// cache rpc
- addFriendToCacheReq := &pbCache.AddFriendToCacheReq{OperationID: req.CommID.OperationID}
+ delFriendIDListFromCacheReq := &pbCache.DelFriendIDListFromCacheReq{OperationID: req.CommID.OperationID}
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.CommID.OperationID)
if etcdConn == nil {
errMsg := req.CommID.OperationID + "getcdv3.GetConn == nil"
@@ -275,29 +322,32 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
return &pbFriend.AddFriendResponseResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil
}
client := pbCache.NewCacheClient(etcdConn)
- addFriendToCacheReq.UserID = req.CommID.ToUserID
- addFriendToCacheReq.FriendID = req.CommID.FromUserID
- respPb, err := client.AddFriendToCache(context.Background(), addFriendToCacheReq)
+ delFriendIDListFromCacheReq.UserID = req.CommID.ToUserID
+ respPb, err := client.DelFriendIDListFromCache(context.Background(), delFriendIDListFromCacheReq)
if err != nil {
- log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", err.Error(), addFriendToCacheReq.String())
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "DelFriendIDListFromCache failed", err.Error())
return &pbFriend.AddFriendResponseResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrServer.ErrCode, ErrMsg: constant.ErrServer.ErrMsg}}, nil
}
if respPb.CommonResp.ErrCode != 0 {
- log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", addFriendToCacheReq.String())
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "DelFriendIDListFromCache failed", respPb.CommonResp.String())
return &pbFriend.AddFriendResponseResp{CommonResp: &pbFriend.CommonResp{ErrCode: respPb.CommonResp.ErrCode, ErrMsg: respPb.CommonResp.ErrMsg}}, nil
}
- addFriendToCacheReq.UserID = req.CommID.FromUserID
- addFriendToCacheReq.FriendID = req.CommID.ToUserID
- respPb, err = client.AddFriendToCache(context.Background(), addFriendToCacheReq)
+ delFriendIDListFromCacheReq.UserID = req.CommID.FromUserID
+ respPb, err = client.DelFriendIDListFromCache(context.Background(), delFriendIDListFromCacheReq)
if err != nil {
- log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", err.Error(), addFriendToCacheReq.String())
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "DelFriendIDListFromCache failed", err.Error())
return &pbFriend.AddFriendResponseResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrServer.ErrCode, ErrMsg: constant.ErrServer.ErrMsg}}, nil
}
if respPb.CommonResp.ErrCode != 0 {
- log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed", addFriendToCacheReq.String())
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "DelFriendIDListFromCache failed", respPb.CommonResp.String())
return &pbFriend.AddFriendResponseResp{CommonResp: &pbFriend.CommonResp{ErrCode: respPb.CommonResp.ErrCode, ErrMsg: respPb.CommonResp.ErrMsg}}, nil
}
-
+ if err := rocksCache.DelAllFriendsInfoFromCache(req.CommID.ToUserID); err != nil {
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), err.Error(), req.CommID.ToUserID)
+ }
+ if err := rocksCache.DelAllFriendsInfoFromCache(req.CommID.FromUserID); err != nil {
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), err.Error(), req.CommID.FromUserID)
+ }
chat.FriendAddedNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID)
}
}
@@ -327,7 +377,7 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
return &pbFriend.DeleteFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil
}
log.NewInfo(req.CommID.OperationID, "DeleteFriend rpc ok")
- reduceFriendFromCache := &pbCache.ReduceFriendFromCacheReq{OperationID: req.CommID.OperationID, UserID: req.CommID.FromUserID, FriendID: req.CommID.ToUserID}
+
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.CommID.OperationID)
if etcdConn == nil {
errMsg := req.CommID.OperationID + "getcdv3.GetConn == nil"
@@ -335,15 +385,21 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
return &pbFriend.DeleteFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil
}
client := pbCache.NewCacheClient(etcdConn)
- respPb, err := client.ReduceFriendFromCache(context.Background(), reduceFriendFromCache)
+ respPb, err := client.DelFriendIDListFromCache(context.Background(), &pbCache.DelFriendIDListFromCacheReq{OperationID: req.CommID.OperationID, UserID: req.CommID.FromUserID})
if err != nil {
- log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "AddFriendToCache rpc failed", err.Error())
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "DelFriendIDListFromCache rpc failed", err.Error())
return &pbFriend.DeleteFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrServer.ErrCode, ErrMsg: constant.ErrServer.ErrMsg}}, nil
}
if respPb.CommonResp.ErrCode != 0 {
- log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "AddFriendToCache failed")
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "DelFriendIDListFromCache failed", respPb.CommonResp.String())
return &pbFriend.DeleteFriendResp{CommonResp: &pbFriend.CommonResp{ErrCode: respPb.CommonResp.ErrCode, ErrMsg: respPb.CommonResp.ErrMsg}}, nil
}
+ if err := rocksCache.DelAllFriendsInfoFromCache(req.CommID.FromUserID); err != nil {
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), err.Error(), req.CommID.FromUserID)
+ }
+ if err := rocksCache.DelAllFriendsInfoFromCache(req.CommID.ToUserID); err != nil {
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), err.Error(), req.CommID.FromUserID)
+ }
chat.FriendDeletedNotification(req)
return &pbFriend.DeleteFriendResp{CommonResp: &pbFriend.CommonResp{}}, nil
}
@@ -351,13 +407,12 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
func (s *friendServer) GetBlacklist(ctx context.Context, req *pbFriend.GetBlacklistReq) (*pbFriend.GetBlacklistResp, error) {
log.NewInfo(req.CommID.OperationID, "GetBlacklist args ", req.String())
- //Parse token, to find current user information
if !token_verify.CheckAccess(req.CommID.OpUserID, req.CommID.FromUserID) {
log.NewError(req.CommID.OperationID, "CheckAccess false ", req.CommID.OpUserID, req.CommID.FromUserID)
return &pbFriend.GetBlacklistResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
}
- blackListInfo, err := imdb.GetBlackListByUserID(req.CommID.FromUserID)
+ blackIDList, err := rocksCache.GetBlackListFromCache(req.CommID.FromUserID)
if err != nil {
log.NewError(req.CommID.OperationID, "GetBlackListByUID failed ", err.Error(), req.CommID.FromUserID)
return &pbFriend.GetBlacklistResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
@@ -366,15 +421,14 @@ func (s *friendServer) GetBlacklist(ctx context.Context, req *pbFriend.GetBlackl
var (
userInfoList []*sdkws.PublicUserInfo
)
- for _, blackUser := range blackListInfo {
- var blackUserInfo sdkws.PublicUserInfo
- //Find black user information
- us, err := imdb.GetUserByUserID(blackUser.BlockUserID)
+ for _, userID := range blackIDList {
+ user, err := rocksCache.GetUserInfoFromCache(userID)
if err != nil {
- log.NewError(req.CommID.OperationID, "GetUserByUserID failed ", err.Error(), blackUser.BlockUserID)
+ log.NewError(req.CommID.OperationID, "GetUserByUserID failed ", err.Error(), userID)
continue
}
- utils.CopyStructFields(&blackUserInfo, us)
+ var blackUserInfo sdkws.PublicUserInfo
+ utils.CopyStructFields(&blackUserInfo, user)
userInfoList = append(userInfoList, &blackUserInfo)
}
log.NewInfo(req.CommID.OperationID, "rpc GetBlacklist ok ", pbFriend.GetBlacklistResp{BlackUserInfoList: userInfoList})
@@ -391,10 +445,15 @@ func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFri
err := imdb.UpdateFriendComment(req.CommID.FromUserID, req.CommID.ToUserID, req.Remark)
if err != nil {
- log.NewError(req.CommID.OperationID, "UpdateFriendComment failed ", req.CommID.FromUserID, req.CommID.ToUserID, req.Remark)
+ log.NewError(req.CommID.OperationID, "UpdateFriendComment failed ", req.CommID.FromUserID, req.CommID.ToUserID, req.Remark, err.Error())
return &pbFriend.SetFriendRemarkResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
log.NewInfo(req.CommID.OperationID, "rpc SetFriendComment ok")
+ err = rocksCache.DelAllFriendsInfoFromCache(req.CommID.FromUserID)
+ if err != nil {
+ log.NewError(req.CommID.OperationID, "DelAllFriendInfoFromCache failed ", req.CommID.FromUserID, err.Error())
+ return &pbFriend.SetFriendRemarkResp{CommonResp: &pbFriend.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
+ }
chat.FriendRemarkSetNotification(req.CommID.OperationID, req.CommID.OpUserID, req.CommID.FromUserID, req.CommID.ToUserID)
return &pbFriend.SetFriendRemarkResp{CommonResp: &pbFriend.CommonResp{}}, nil
}
@@ -413,7 +472,7 @@ func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.Remove
}
log.NewInfo(req.CommID.OperationID, "rpc RemoveBlacklist ok ")
- reqReduceBlackUserFromCache := &pbCache.ReduceBlackUserFromCacheReq{UserID: req.CommID.FromUserID, BlackUserID: req.CommID.ToUserID, OperationID: req.CommID.OperationID}
+
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.CommID.OperationID)
if etcdConn == nil {
errMsg := req.CommID.OperationID + "getcdv3.GetConn == nil"
@@ -422,13 +481,13 @@ func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.Remove
}
cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.ReduceBlackUserFromCache(context.Background(), reqReduceBlackUserFromCache)
+ cacheResp, err := cacheClient.DelBlackIDListFromCache(context.Background(), &pbCache.DelBlackIDListFromCacheReq{UserID: req.CommID.FromUserID, OperationID: req.CommID.OperationID})
if err != nil {
- log.NewError(req.CommID.OperationID, "ReduceBlackUserFromCache rpc call failed ", err.Error())
+ log.NewError(req.CommID.OperationID, "DelBlackIDListFromCache rpc call failed ", err.Error())
return &pbFriend.RemoveBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: 500, ErrMsg: "ReduceBlackUserFromCache rpc call failed"}}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.CommID.OperationID, "ReduceBlackUserFromCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.CommID.OperationID, "DelBlackIDListFromCache rpc logic call failed ", cacheResp.CommonResp.String())
return &pbFriend.RemoveBlacklistResp{CommonResp: &pbFriend.CommonResp{ErrCode: cacheResp.CommonResp.ErrCode, ErrMsg: cacheResp.CommonResp.ErrMsg}}, nil
}
chat.BlackDeletedNotification(req)
@@ -441,10 +500,13 @@ func (s *friendServer) IsInBlackList(ctx context.Context, req *pbFriend.IsInBlac
log.NewError(req.CommID.OperationID, "CheckAccess false ", req.CommID.OpUserID, req.CommID.FromUserID)
return &pbFriend.IsInBlackListResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
}
-
- var isInBlacklist = false
- err := imdb.CheckBlack(req.CommID.FromUserID, req.CommID.ToUserID)
- if err == nil {
+ blackIDList, err := rocksCache.GetBlackListFromCache(req.CommID.FromUserID)
+ if err != nil {
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), err.Error(), req.CommID.FromUserID)
+ return &pbFriend.IsInBlackListResp{ErrMsg: err.Error(), ErrCode: constant.ErrDB.ErrCode}, nil
+ }
+ var isInBlacklist bool
+ if utils.IsContain(req.CommID.ToUserID, blackIDList) {
isInBlacklist = true
}
log.NewInfo(req.CommID.OperationID, "IsInBlackList rpc ok ", pbFriend.IsInBlackListResp{Response: isInBlacklist})
@@ -453,16 +515,18 @@ func (s *friendServer) IsInBlackList(ctx context.Context, req *pbFriend.IsInBlac
func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) {
log.NewInfo(req.CommID.OperationID, req.String())
- var isFriend bool
if !token_verify.CheckAccess(req.CommID.OpUserID, req.CommID.FromUserID) {
log.NewError(req.CommID.OperationID, "CheckAccess false ", req.CommID.OpUserID, req.CommID.FromUserID)
return &pbFriend.IsFriendResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
}
- _, err := imdb.GetFriendRelationshipFromFriend(req.CommID.FromUserID, req.CommID.ToUserID)
- if err == nil {
+ friendIDList, err := rocksCache.GetFriendIDListFromCache(req.CommID.FromUserID)
+ if err != nil {
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), err.Error(), req.CommID.FromUserID)
+ return &pbFriend.IsFriendResp{ErrMsg: err.Error(), ErrCode: constant.ErrDB.ErrCode}, nil
+ }
+ var isFriend bool
+ if utils.IsContain(req.CommID.ToUserID, friendIDList) {
isFriend = true
- } else {
- isFriend = false
}
log.NewInfo(req.CommID.OperationID, pbFriend.IsFriendResp{Response: isFriend})
return &pbFriend.IsFriendResp{Response: isFriend}, nil
@@ -474,16 +538,16 @@ func (s *friendServer) GetFriendList(ctx context.Context, req *pbFriend.GetFrien
log.NewError(req.CommID.OperationID, "CheckAccess false ", req.CommID.OpUserID, req.CommID.FromUserID)
return &pbFriend.GetFriendListResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
}
-
- friends, err := imdb.GetFriendListByUserID(req.CommID.FromUserID)
+ friendList, err := rocksCache.GetAllFriendsInfoFromCache(req.CommID.FromUserID)
if err != nil {
- log.NewError(req.CommID.OperationID, "FindUserInfoFromFriend failed ", err.Error(), req.CommID.FromUserID)
+ log.NewError(req.CommID.OperationID, utils.GetSelfFuncName(), "GetFriendIDListFromCache failed", err.Error(), req.CommID.FromUserID)
return &pbFriend.GetFriendListResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
}
+
var userInfoList []*sdkws.FriendInfo
- for _, friendUser := range friends {
+ for _, friendUser := range friendList {
friendUserInfo := sdkws.FriendInfo{FriendUser: &sdkws.UserInfo{}}
- cp.FriendDBCopyOpenIM(&friendUserInfo, &friendUser)
+ cp.FriendDBCopyOpenIM(&friendUserInfo, friendUser)
log.NewDebug(req.CommID.OperationID, "friends : ", friendUser, "openim friends: ", friendUserInfo)
userInfoList = append(userInfoList, &friendUserInfo)
}
diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go
index 3191a3fcd..0101ef077 100644
--- a/internal/rpc/group/group.go
+++ b/internal/rpc/group/group.go
@@ -6,6 +6,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
+ "Open_IM/pkg/common/db/rocks_cache"
"Open_IM/pkg/common/http"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
@@ -165,7 +166,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
return resp, nil
}
utils.CopyStructFields(resp.GroupInfo, group)
- resp.GroupInfo.MemberCount, err = imdb.GetGroupMemberNumByGroupID(groupId)
+ memberCount, err := imdb.GetGroupMemberNumByGroupID(groupId)
+ resp.GroupInfo.MemberCount = uint32(memberCount)
if err != nil {
log.NewError(req.OperationID, "GetGroupMemberNumByGroupID failed ", err.Error(), groupId)
resp.ErrCode = constant.ErrDB.ErrCode
@@ -187,29 +189,13 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
}
}
- if len(okUserIDList) != 0 {
- addGroupMemberToCacheReq := &pbCache.AddGroupMemberToCacheReq{
- UserIDList: okUserIDList,
- GroupID: groupId,
- OperationID: req.OperationID,
- }
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
- if etcdConn == nil {
- errMsg := req.OperationID + "getcdv3.GetConn == nil"
- log.NewError(req.OperationID, errMsg)
- return &pbGroup.CreateGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil
- }
- cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.AddGroupMemberToCache(context.Background(), addGroupMemberToCacheReq)
- if err != nil {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc call failed ", err.Error())
- return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
- }
- if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc logic call failed ", cacheResp.String())
- return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
+ for _, userID := range okUserIDList {
+ if err := rocksCache.DelJoinedGroupIDListFromCache(userID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), userID, err.Error())
}
+ }
+ if len(okUserIDList) != 0 {
log.NewInfo(req.OperationID, "rpc CreateGroup return ", resp.String())
if req.GroupInfo.GroupType != constant.SuperGroup {
chat.GroupCreatedNotification(req.OperationID, req.OpUserID, groupId, okUserIDList)
@@ -233,38 +219,45 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
log.NewError(req.OperationID, "CheckAccess false ", req.OpUserID, req.FromUserID)
return &pbGroup.GetJoinedGroupListResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil
}
- //group list
- joinedGroupList, err := imdb.GetJoinedGroupIDListByUserID(req.FromUserID)
+
+ joinedGroupList, err := rocksCache.GetJoinedGroupIDListFromCache(req.FromUserID)
if err != nil {
- log.NewError(req.OperationID, "GetJoinedGroupIDListByUserID failed ", err.Error(), req.FromUserID)
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetJoinedGroupIDListFromCache failed", err.Error(), req.FromUserID)
return &pbGroup.GetJoinedGroupListResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
}
-
+ log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "joinedGroupList: ", joinedGroupList)
var resp pbGroup.GetJoinedGroupListResp
for _, v := range joinedGroupList {
var groupNode open_im_sdk.GroupInfo
num, err := imdb.GetGroupMemberNumByGroupID(v)
- owner, err2 := imdb.GetGroupOwnerInfoByGroupID(v)
- group, err := imdb.GetGroupInfoByGroupID(v)
- if num > 0 && owner != nil && err2 == nil && group != nil && err == nil {
- if group.Status == constant.GroupStatusDismissed {
- log.NewError(req.OperationID, "constant.GroupStatusDismissed ", group)
- continue
- }
- utils.CopyStructFields(&groupNode, group)
- groupNode.CreateTime = uint32(group.CreateTime.Unix())
- groupNode.NotificationUpdateTime = uint32(group.NotificationUpdateTime.Unix())
- if group.NotificationUpdateTime.Unix() < 0 {
- groupNode.NotificationUpdateTime = 0
- }
-
- groupNode.MemberCount = num
- groupNode.OwnerUserID = owner.UserID
- resp.GroupList = append(resp.GroupList, &groupNode)
- } else {
- log.Debug(req.OperationID, "check nil ", num, owner, err, group, err2)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), v)
continue
}
+ owner, err2 := imdb.GetGroupOwnerInfoByGroupID(v)
+ if err2 != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err2.Error(), v)
+ continue
+ }
+ group, err := rocksCache.GetGroupInfoFromCache(v)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), v)
+ continue
+ }
+ if group.Status == constant.GroupStatusDismissed {
+ log.NewError(req.OperationID, "constant.GroupStatusDismissed ", group)
+ continue
+ }
+ utils.CopyStructFields(&groupNode, group)
+ groupNode.CreateTime = uint32(group.CreateTime.Unix())
+ groupNode.NotificationUpdateTime = uint32(group.NotificationUpdateTime.Unix())
+ if group.NotificationUpdateTime.Unix() < 0 {
+ groupNode.NotificationUpdateTime = 0
+ }
+
+ groupNode.MemberCount = uint32(num)
+ groupNode.OwnerUserID = owner.UserID
+ resp.GroupList = append(resp.GroupList, &groupNode)
log.NewDebug(req.OperationID, "joinedGroup ", groupNode)
}
log.NewInfo(req.OperationID, "GetJoinedGroupList rpc return ", resp.String())
@@ -435,11 +428,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
}
}
- addGroupMemberToCacheReq := &pbCache.AddGroupMemberToCacheReq{
- UserIDList: okUserIDList,
- GroupID: req.GroupID,
- OperationID: req.OperationID,
- }
+
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
@@ -447,17 +436,30 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil
}
cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.AddGroupMemberToCache(context.Background(), addGroupMemberToCacheReq)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupID,
+ OperationID: req.OperationID,
+ })
if err != nil {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc call failed ", err.Error())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
}
+ for _, userID := range okUserIDList {
+ err = rocksCache.DelJoinedGroupIDListFromCache(userID)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userID)
+ }
+ }
+
if groupInfo.GroupType != constant.SuperGroup {
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, req.Reason, okUserIDList)
} else {
go func() {
@@ -474,7 +476,8 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGroupAllMemberReq) (*pbGroup.GetGroupAllMemberResp, error) {
log.NewInfo(req.OperationID, "GetGroupAllMember, args ", req.String())
var resp pbGroup.GetGroupAllMemberResp
- groupInfo, err := imdb.GetGroupInfoByGroupID(req.GroupID)
+ //groupInfo, err := imdb.GetGroupInfoByGroupID(req.GroupID)
+ groupInfo, err := rocksCache.GetGroupInfoFromCache(req.GroupID)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
resp.ErrCode = constant.ErrDB.ErrCode
@@ -482,18 +485,23 @@ func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGro
return &resp, nil
}
if groupInfo.GroupType != constant.SuperGroup {
- memberList, err := imdb.GetGroupMemberListByGroupID(req.GroupID)
+ memberList, err := rocksCache.GetAllGroupMembersInfoFromCache(req.GroupID)
if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
resp.ErrCode = constant.ErrDB.ErrCode
resp.ErrMsg = constant.ErrDB.ErrMsg
- log.NewError(req.OperationID, "GetGroupMemberListByGroupID failed,", err.Error(), req.GroupID)
return &resp, nil
}
-
+ //memberList, err := imdb.GetGroupMemberListByGroupID(req.GroupID)
+ //if err != nil {
+ // log.NewError(req.OperationID, "GetGroupMemberListByGroupID failed,", err.Error(), req.GroupID)
+ // resp.ErrCode = constant.ErrDB.ErrCode
+ // resp.ErrMsg = constant.ErrDB.ErrMsg
+ // return &resp, nil
+ //}
for _, v := range memberList {
- //log.Debug(req.OperationID, v)
var node open_im_sdk.GroupMemberFullInfo
- cp.GroupMemberDBCopyOpenIM(&node, &v)
+ cp.GroupMemberDBCopyOpenIM(&node, v)
//log.Debug(req.OperationID, "db value:", v.MuteEndTime, "seconds: ", v.MuteEndTime.Unix())
//log.Debug(req.OperationID, "cp value: ", node)
resp.MemberList = append(resp.MemberList, &node)
@@ -525,7 +533,6 @@ func (s *groupServer) GetGroupMemberList(ctx context.Context, req *pbGroup.GetGr
} else {
resp.NextSeq = req.NextSeq + int32(len(memberList))
}
-
resp.ErrCode = 0
log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp.String())
return &resp, nil
@@ -654,11 +661,6 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
}
}
- reduceGroupMemberFromCacheReq := &pbCache.ReduceGroupMemberFromCacheReq{
- UserIDList: okUserIDList,
- GroupID: req.GroupID,
- OperationID: req.OperationID,
- }
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
@@ -666,16 +668,33 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}, nil
}
cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.ReduceGroupMemberFromCache(context.Background(), reduceGroupMemberFromCacheReq)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupID,
+ OperationID: req.OperationID,
+ })
if err != nil {
- log.NewError(req.OperationID, "ReduceGroupMemberFromCache rpc call failed ", err.Error())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "ReduceGroupMemberFromCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return &pbGroup.KickGroupMemberResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil
}
+
+ for _, userID := range okUserIDList {
+ err = rocksCache.DelJoinedGroupIDListFromCache(userID)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userID)
+ }
+ }
+ if err = rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
+
if groupInfo.GroupType != constant.SuperGroup {
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.MemberKickedNotification(req, okUserIDList)
} else {
go func() {
@@ -685,6 +704,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
}()
}
+
log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp.String())
return &resp, nil
}
@@ -693,27 +713,45 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG
log.NewInfo(req.OperationID, "GetGroupMembersInfo args ", req.String())
var resp pbGroup.GetGroupMembersInfoResp
+ resp.MemberList = []*open_im_sdk.GroupMemberFullInfo{}
- for _, v := range req.MemberList {
- var memberNode open_im_sdk.GroupMemberFullInfo
- memberInfo, err := imdb.GetMemberInfoByID(req.GroupID, v)
- memberNode.UserID = v
- if err != nil {
- log.NewError(req.OperationID, "GetMemberInfoById failed ", err.Error(), req.GroupID, v)
- continue
- } else {
- utils.CopyStructFields(&memberNode, memberInfo)
- memberNode.JoinTime = int32(memberInfo.JoinTime.Unix())
+ //for _, v := range req.MemberList {
+ // var memberNode open_im_sdk.GroupMemberFullInfo
+ // memberInfo, err := imdb.GetMemberInfoByID(req.GroupID, v)
+ // memberNode.UserID = v
+ // if err != nil {
+ // log.NewError(req.OperationID, "GetMemberInfoById failed ", err.Error(), req.GroupID, v)
+ // continue
+ // } else {
+ // utils.CopyStructFields(&memberNode, memberInfo)
+ // memberNode.JoinTime = int32(memberInfo.JoinTime.Unix())
+ // resp.MemberList = append(resp.MemberList, &memberNode)
+ // }
+ //}
+
+ groupMembers, err := rocksCache.GetAllGroupMembersInfoFromCache(req.GroupID)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error())
+ resp.ErrCode = constant.ErrDB.ErrCode
+ resp.ErrMsg = constant.ErrDB.ErrMsg
+ return &resp, nil
+ }
+ for _, member := range groupMembers {
+ if utils.IsContain(member.UserID, req.MemberList) {
+ var memberNode open_im_sdk.GroupMemberFullInfo
+ utils.CopyStructFields(&memberNode, member)
+ memberNode.JoinTime = int32(member.JoinTime.Unix())
resp.MemberList = append(resp.MemberList, &memberNode)
}
}
+
resp.ErrCode = 0
log.NewInfo(req.OperationID, "GetGroupMembersInfo rpc return ", resp.String())
return &resp, nil
}
func (s *groupServer) GetGroupApplicationList(_ context.Context, req *pbGroup.GetGroupApplicationListReq) (*pbGroup.GetGroupApplicationListResp, error) {
- log.NewInfo(req.OperationID, "GetGroupMembersInfo args ", req.String())
+ log.NewInfo(req.OperationID, "GetGroupApplicationList args ", req.String())
reply, err := imdb.GetGroupApplicationList(req.FromUserID)
if err != nil {
log.NewError(req.OperationID, "GetGroupApplicationList failed ", err.Error(), req.FromUserID)
@@ -729,6 +767,10 @@ func (s *groupServer) GetGroupApplicationList(_ context.Context, req *pbGroup.Ge
log.Error(req.OperationID, "GetGroupInfoByGroupID failed ", err.Error(), v.GroupID)
continue
}
+ if group.Status == constant.GroupStatusDismissed {
+ log.Debug(req.OperationID, "group constant.GroupStatusDismissed ", group.GroupID)
+ continue
+ }
user, err := imdb.GetUserByUserID(v.UserID)
if err != nil {
log.Error(req.OperationID, "GetUserByUserID failed ", err.Error(), v.UserID)
@@ -749,16 +791,17 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI
log.NewInfo(req.OperationID, "GetGroupsInfo args ", req.String())
groupsInfoList := make([]*open_im_sdk.GroupInfo, 0)
for _, groupID := range req.GroupIDList {
- groupInfoFromMysql, err := imdb.GetGroupInfoByGroupID(groupID)
+ //groupInfoFromMysql, err := imdb.GetGroupInfoByGroupID(groupID)
+ groupInfoFromRedis, err := rocksCache.GetGroupInfoFromCache(groupID)
if err != nil {
log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", err.Error(), groupID)
continue
}
var groupInfo open_im_sdk.GroupInfo
- cp.GroupDBCopyOpenIM(&groupInfo, groupInfoFromMysql)
+ cp.GroupDBCopyOpenIM(&groupInfo, groupInfoFromRedis)
//groupInfo.NeedVerification
- groupInfo.NeedVerification = groupInfoFromMysql.NeedVerification
+ groupInfo.NeedVerification = groupInfoFromRedis.NeedVerification
groupsInfoList = append(groupsInfoList, &groupInfo)
}
@@ -847,23 +890,36 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
} else {
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String())
}
- addGroupMemberToCacheReq := &pbCache.AddGroupMemberToCacheReq{OperationID: req.OperationID, GroupID: req.GroupID, UserIDList: []string{req.FromUserID}}
+
etcdCacheConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
- if etcdConn == nil {
+ if etcdCacheConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil
}
cacheClient := pbCache.NewCacheClient(etcdCacheConn)
- cacheResp, err := cacheClient.AddGroupMemberToCache(context.Background(), addGroupMemberToCacheReq)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{OperationID: req.OperationID, GroupID: req.GroupID})
if err != nil {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc call failed ", err.Error())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return &pbGroup.GroupApplicationResponseResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+
+ group, err := rocksCache.GetGroupInfoFromCache(req.GroupID)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error())
+ }
+ if group != nil {
+ if group.GroupType != constant.SuperGroup {
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
+ }
+ }
+
chat.GroupApplicationAcceptedNotification(req)
chat.MemberEnterNotification(req)
} else if req.HandleResult == constant.GroupResponseRefuse {
@@ -896,24 +952,19 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
}
if groupInfo.NeedVerification == constant.Directly {
- us, err := imdb.GetUserByUserID(req.OpUserID)
- if err != nil {
- log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), req.OpUserID)
- return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
- }
- //to group member
- groupMember := db.GroupMember{GroupID: req.GroupID, RoleLevel: constant.GroupOwner, OperatorUserID: req.OpUserID, JoinSource: req.JoinSource}
- utils.CopyStructFields(&groupMember, us)
- err = imdb.InsertIntoGroupMember(groupMember)
- if err != nil {
- log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember)
- return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
- }
if groupInfo.GroupType != constant.SuperGroup {
- addGroupMemberToCacheReq := &pbCache.AddGroupMemberToCacheReq{
- UserIDList: []string{req.OpUserID},
- GroupID: req.GroupID,
- OperationID: req.OperationID,
+ us, err := imdb.GetUserByUserID(req.OpUserID)
+ if err != nil {
+ log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), req.OpUserID)
+ return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
+ }
+ //to group member
+ groupMember := db.GroupMember{GroupID: req.GroupID, RoleLevel: constant.GroupOrdinaryUsers, OperatorUserID: req.OpUserID}
+ utils.CopyStructFields(&groupMember, us)
+ err = imdb.InsertIntoGroupMember(groupMember)
+ if err != nil {
+ log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember)
+ return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
if etcdConn == nil {
@@ -922,20 +973,39 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: constant.ErrInternal.ErrMsg}}, nil
}
cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.AddGroupMemberToCache(context.Background(), addGroupMemberToCacheReq)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupID,
+ OperationID: req.OperationID,
+ })
if err != nil {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc call failed ", err.Error())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "AddGroupMemberToCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ //for _, userID := range okUserIDList {
+ // err = rocksCache.DelJoinedGroupIDListFromCache(userID)
+ // if err != nil {
+ // log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userID)
+ // }
+ //}
+ err = rocksCache.DelJoinedGroupIDListFromCache(req.OpUserID)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
+ }
+
+ err = rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID)
+ if err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
+ }
+
chat.MemberEnterDirectlyNotification(req.GroupID, req.OpUserID, req.OperationID)
log.NewInfo(req.OperationID, "JoinGroup rpc return ")
return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
} else {
- log.Error(req.OperationID, "JoinGroup rpc failed, group type: ", groupInfo.GroupType)
+ log.Error(req.OperationID, "JoinGroup rpc failed, group type: ", groupInfo.GroupType, "not support directly")
return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrArgs.ErrCode, ErrMsg: constant.ErrArgs.ErrMsg}}, nil
}
}
@@ -1019,25 +1089,23 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq)
}
}
- reduceGroupMemberFromCacheReq := &pbCache.ReduceGroupMemberFromCacheReq{
- UserIDList: []string{req.OpUserID},
- GroupID: req.GroupID,
- OperationID: req.OperationID,
- }
- etcdConnCache := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
- if etcdConnCache == nil {
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
+ if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
- return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil
+ return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: constant.ErrInternal.ErrMsg}}, nil
}
- cacheClient := pbCache.NewCacheClient(etcdConnCache)
- cacheResp, err := cacheClient.ReduceGroupMemberFromCache(context.Background(), reduceGroupMemberFromCacheReq)
+ cacheClient := pbCache.NewCacheClient(etcdConn)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupID,
+ OperationID: req.OperationID,
+ })
if err != nil {
- log.NewError(req.OperationID, "ReduceGroupMemberFromCache rpc call failed ", err.Error())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "ReduceGroupMemberFromCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
@@ -1046,6 +1114,12 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq)
} else {
chat.SuperGroupNotification(req.OperationID, req.OpUserID, req.OpUserID)
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
+ if err := rocksCache.DelJoinedGroupIDListFromCache(req.OpUserID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.OpUserID)
+ }
log.NewInfo(req.OperationID, "rpc QuitGroup return ", pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}})
return &pbGroup.QuitGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
@@ -1151,6 +1225,11 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
log.NewError(req.OperationID, "SetGroupInfo failed ", err.Error(), groupInfo)
return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB)
}
+ if err := rocksCache.DelGroupInfoFromCache(req.GroupInfoForSet.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelGroupInfoFromCache failed ", err.Error(), req.GroupInfoForSet.GroupID)
+ return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB)
+ }
+
log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}})
if changedType != 0 {
chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification, introduction, faceURL, req.GroupInfoForSet.NeedVerification)
@@ -1233,8 +1312,10 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe
log.NewError(req.OperationID, "UpdateGroupMemberInfo failed ", groupMemberInfo)
return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error())
+ }
chat.GroupOwnerTransferredNotification(req)
-
return &pbGroup.TransferGroupOwnerResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
}
@@ -1425,7 +1506,7 @@ func (s *groupServer) GetGroupMembersCMS(_ context.Context, req *pbGroup.GetGrou
return resp, http.WrapError(constant.ErrDB)
}
log.NewInfo(req.OperationID, groupMembersCount)
- resp.MemberNums = groupMembersCount
+ resp.MemberNums = int32(groupMembersCount)
for _, groupMember := range groupMembers {
resp.Members = append(resp.Members, &open_im_sdk.GroupMemberFullInfo{
GroupID: req.GroupId,
@@ -1489,27 +1570,28 @@ func (s *groupServer) RemoveGroupMembersCMS(_ context.Context, req *pbGroup.Remo
}
}
- reduceGroupMemberFromCacheReq := &pbCache.ReduceGroupMemberFromCacheReq{
- UserIDList: resp.Success,
- GroupID: req.GroupId,
- OperationID: req.OperationID,
- }
- etcdConnCache := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
- if etcdConnCache == nil {
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
+ if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
- return resp, http.WrapError(constant.ErrInternal)
+ return resp, http.WrapError(constant.ErrDB)
}
- cacheClient := pbCache.NewCacheClient(etcdConnCache)
- cacheResp, err := cacheClient.ReduceGroupMemberFromCache(context.Background(), reduceGroupMemberFromCacheReq)
+ cacheClient := pbCache.NewCacheClient(etcdConn)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupId,
+ OperationID: req.OperationID,
+ })
if err != nil {
- log.NewError(req.OperationID, "ReduceGroupMemberFromCache rpc call failed ", err.Error())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return resp, http.WrapError(constant.ErrDB)
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationID, "ReduceGroupMemberFromCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return resp, http.WrapError(constant.ErrDB)
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupId); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupId)
+ }
chat.MemberKickedNotification(reqKick, resp.Success)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp)
@@ -1550,27 +1632,28 @@ func (s *groupServer) AddGroupMembersCMS(_ context.Context, req *pbGroup.AddGrou
}
}
- addGroupMemberToCacheReq := &pbCache.AddGroupMemberToCacheReq{
- UserIDList: resp.Success,
- GroupID: req.GroupId,
- OperationID: req.OperationId,
- }
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationId)
if etcdConn == nil {
errMsg := req.OperationId + "getcdv3.GetConn == nil"
log.NewError(req.OperationId, errMsg)
- return resp, http.WrapError(constant.ErrInternal)
+ return resp, http.WrapError(constant.ErrDB)
}
cacheClient := pbCache.NewCacheClient(etcdConn)
- cacheResp, err := cacheClient.AddGroupMemberToCache(context.Background(), addGroupMemberToCacheReq)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupId,
+ OperationID: req.OperationId,
+ })
if err != nil {
- log.NewError(req.OperationId, "AddGroupMemberToCache rpc call failed ", err.Error())
+ log.NewError(req.OperationId, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
return resp, http.WrapError(constant.ErrDB)
}
if cacheResp.CommonResp.ErrCode != 0 {
- log.NewError(req.OperationId, "AddGroupMemberToCache rpc logic call failed ", cacheResp.String())
+ log.NewError(req.OperationId, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
return resp, http.WrapError(constant.ErrDB)
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupId); err != nil {
+ log.NewError(req.OperationId, utils.GetSelfFuncName(), err.Error(), req.GroupId)
+ }
chat.MemberInvitedNotification(req.OperationId, req.GroupId, req.OpUserId, "admin add you to group", resp.Success)
return resp, nil
@@ -1673,6 +1756,28 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou
}
}
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID)
+ if etcdConn == nil {
+ errMsg := req.OperationID + "getcdv3.GetConn == nil"
+ log.NewError(req.OperationID, errMsg)
+ return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 500, ErrMsg: errMsg}}, nil
+ }
+ cacheClient := pbCache.NewCacheClient(etcdConn)
+ cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{
+ GroupID: req.GroupID,
+ OperationID: req.OperationID,
+ })
+ if err != nil {
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error())
+ return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 500, ErrMsg: err.Error()}}, nil
+ }
+ if cacheResp.CommonResp.ErrCode != 0 {
+ log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
+ return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: cacheResp.CommonResp.ErrCode, ErrMsg: cacheResp.CommonResp.ErrMsg}}, nil
+ }
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
}
@@ -1718,6 +1823,9 @@ func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGrou
log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo)
return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.GroupMemberMutedNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID, req.MutedSeconds)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
@@ -1759,6 +1867,9 @@ func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.Ca
log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo)
return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.GroupMemberCancelMutedNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
@@ -1798,6 +1909,9 @@ func (s *groupServer) MuteGroup(ctx context.Context, req *pbGroup.MuteGroupReq)
log.Error(req.OperationID, "OperateGroupStatus failed ", err.Error(), req.GroupID, constant.GroupStatusMuted)
return &pbGroup.MuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.GroupMutedNotification(req.OperationID, req.OpUserID, req.GroupID)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.MuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
@@ -1837,6 +1951,9 @@ func (s *groupServer) CancelMuteGroup(ctx context.Context, req *pbGroup.CancelMu
log.Error(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), req.GroupID)
return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ if err := rocksCache.DelGroupInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.GroupCancelMutedNotification(req.OperationID, req.OpUserID, req.GroupID)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.CancelMuteGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
@@ -1870,6 +1987,9 @@ func (s *groupServer) SetGroupMemberNickname(ctx context.Context, req *pbGroup.S
log.Error(req.OperationID, errMsg)
return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
chat.GroupMemberInfoSetNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
return &pbGroup.SetGroupMemberNicknameResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
@@ -1902,13 +2022,16 @@ func (s *groupServer) SetGroupMemberInfo(ctx context.Context, req *pbGroup.SetGr
resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + ":" + err.Error()
return resp, nil
}
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(req.GroupID); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
+ }
if req.RoleLevel != nil {
switch req.RoleLevel.Value {
case constant.GroupOrdinaryUsers:
- //chat.GroupMemberRoleLevelChangeNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID, constant.GroupMemberSetToOrdinaryUserNotification)
+ //msg.GroupMemberRoleLevelChangeNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID, constant.GroupMemberSetToOrdinaryUserNotification)
chat.GroupMemberInfoSetNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID)
case constant.GroupAdmin, constant.GroupOwner:
- //chat.GroupMemberRoleLevelChangeNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID, constant.GroupMemberSetToAdminNotification)
+ //msg.GroupMemberRoleLevelChangeNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID, constant.GroupMemberSetToAdminNotification)
chat.GroupMemberInfoSetNotification(req.OperationID, req.OpUserID, req.GroupID, req.UserID)
}
} else {
diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go
index 440680e1b..f53ee327d 100644
--- a/internal/rpc/msg/callback.go
+++ b/internal/rpc/msg/callback.go
@@ -6,7 +6,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/http"
"Open_IM/pkg/common/log"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
"Open_IM/pkg/utils"
http2 "net/http"
)
diff --git a/internal/rpc/msg/chat.go b/internal/rpc/msg/chat.go
index bb83dc055..a525dab09 100644
--- a/internal/rpc/msg/chat.go
+++ b/internal/rpc/msg/chat.go
@@ -5,7 +5,7 @@ import (
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
- "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
"Open_IM/pkg/utils"
"context"
)
@@ -15,7 +15,7 @@ func (rpc *rpcChat) ClearMsg(_ context.Context, req *pbChat.ClearMsgReq) (*pbCha
if req.OpUserID != req.UserID && !token_verify.IsManagerUserID(req.UserID) {
errMsg := "No permission" + req.OpUserID + req.UserID
log.Error(req.OperationID, errMsg)
- return &pbChat.ClearMsgResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ return &pbChat.ClearMsgResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}, nil
}
log.Debug(req.OperationID, "CleanUpOneUserAllMsgFromRedis args", req.UserID)
err := db.DB.CleanUpOneUserAllMsgFromRedis(req.UserID, req.OperationID)
@@ -36,3 +36,28 @@ func (rpc *rpcChat) ClearMsg(_ context.Context, req *pbChat.ClearMsgReq) (*pbCha
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
return &resp, nil
}
+
+func (rpc *rpcChat) SetMsgMinSeq(_ context.Context, req *pbChat.SetMsgMinSeqReq) (*pbChat.SetMsgMinSeqResp, error) {
+ log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc req: ", req.String())
+ if req.OpUserID != req.UserID && !token_verify.IsManagerUserID(req.UserID) {
+ errMsg := "No permission" + req.OpUserID + req.UserID
+ log.Error(req.OperationID, errMsg)
+ return &pbChat.SetMsgMinSeqResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}, nil
+ }
+ if req.GroupID == "" {
+ err := db.DB.SetUserMinSeq(req.UserID, req.MinSeq)
+ if err != nil {
+ errMsg := "SetUserMinSeq failed " + err.Error() + req.OperationID + req.UserID + utils.Uint32ToString(req.MinSeq)
+ log.Error(req.OperationID, errMsg)
+ return &pbChat.SetMsgMinSeqResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
+ return &pbChat.SetMsgMinSeqResp{}, nil
+ }
+ err := db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, req.MinSeq)
+ if err != nil {
+ errMsg := "SetGroupUserMinSeq failed " + err.Error() + req.OperationID + req.GroupID + req.UserID + utils.Uint32ToString(req.MinSeq)
+ log.Error(req.OperationID, errMsg)
+ return &pbChat.SetMsgMinSeqResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
+ return &pbChat.SetMsgMinSeqResp{}, nil
+}
diff --git a/internal/rpc/msg/pull_message.go b/internal/rpc/msg/pull_message.go
index 22181f09b..10032fcb4 100644
--- a/internal/rpc/msg/pull_message.go
+++ b/internal/rpc/msg/pull_message.go
@@ -1,6 +1,7 @@
package msg
import (
+ "Open_IM/pkg/utils"
"context"
go_redis "github.com/go-redis/redis/v8"
@@ -13,34 +14,32 @@ func (rpc *rpcChat) GetMaxAndMinSeq(_ context.Context, in *open_im_sdk.GetMaxAnd
log.NewInfo(in.OperationID, "rpc getMaxAndMinSeq is arriving", in.String())
resp := new(open_im_sdk.GetMaxAndMinSeqResp)
m := make(map[string]*open_im_sdk.MaxAndMinSeq)
- //seq, err := model.GetBiggestSeqFromReceive(in.UserID)
- maxSeq, err1 := commonDB.DB.GetUserMaxSeq(in.UserID)
- //minSeq, err2 := commonDB.DB.GetUserMinSeq(in.UserID)
- if err1 == nil {
- resp.MaxSeq = uint32(maxSeq)
- for _, v := range in.GroupIDList {
- x := new(open_im_sdk.MaxAndMinSeq)
- maxSeq, _ := commonDB.DB.GetUserMaxSeq(v)
- x.MaxSeq = uint32(maxSeq)
- m[v] = x
+ var maxSeq, minSeq uint64
+ var err1, err2 error
+ maxSeq, err1 = commonDB.DB.GetUserMaxSeq(in.UserID)
+ minSeq, err2 = commonDB.DB.GetUserMinSeq(in.UserID)
+ if (err1 != nil && err1 != go_redis.Nil) || (err2 != nil && err2 != go_redis.Nil) {
+ log.NewError(in.OperationID, "getMaxSeq from redis error", in.String())
+ if err1 != nil {
+ log.NewError(in.OperationID, utils.GetSelfFuncName(), err1.Error())
+ }
+ if err2 != nil {
+ log.NewError(in.OperationID, utils.GetSelfFuncName(), err2.Error())
}
- resp.GroupMaxAndMinSeq = m
- } else if err1 == go_redis.Nil {
- resp.MaxSeq = 0
- } else {
- log.NewError(in.OperationID, "getMaxSeq from redis error", in.String(), err1.Error())
resp.ErrCode = 200
resp.ErrMsg = "redis get err"
+ return resp, nil
+ }
+ resp.MaxSeq = uint32(maxSeq)
+ resp.MinSeq = uint32(minSeq)
+ for _, groupID := range in.GroupIDList {
+ x := new(open_im_sdk.MaxAndMinSeq)
+ maxSeq, _ := commonDB.DB.GetGroupMaxSeq(groupID)
+ minSeq, _ := commonDB.DB.GetGroupUserMinSeq(groupID, in.UserID)
+ x.MaxSeq = uint32(maxSeq)
+ x.MinSeq = uint32(minSeq)
+ m[groupID] = x
}
- //if err2 == nil {
- // resp.MinSeq = uint32(minSeq)
- //} else if err2 == redis.ErrNil {
- // resp.MinSeq = 0
- //} else {
- // log.NewError(in.OperationID, "getMaxSeq from redis error", in.String(), err2.Error())
- // resp.ErrCode = 201
- // resp.ErrMsg = "redis get err"
- //}
return resp, nil
}
func (rpc *rpcChat) PullMessageBySeqList(_ context.Context, in *open_im_sdk.PullMessageBySeqListReq) (*open_im_sdk.PullMessageBySeqListResp, error) {
diff --git a/internal/rpc/msg/rpcChat.go b/internal/rpc/msg/rpcChat.go
index e7ae283ab..d7fde26f3 100644
--- a/internal/rpc/msg/rpcChat.go
+++ b/internal/rpc/msg/rpcChat.go
@@ -7,7 +7,7 @@ import (
"Open_IM/pkg/common/kafka"
"Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbChat "Open_IM/pkg/proto/chat"
+ "Open_IM/pkg/proto/msg"
"Open_IM/pkg/utils"
"google.golang.org/grpc"
"net"
@@ -36,7 +36,7 @@ func NewRpcChatServer(port int) *rpcChat {
log.NewPrivateLog(constant.LogFileName)
rc := rpcChat{
rpcPort: port,
- rpcRegisterName: config.Config.RpcRegisterName.OpenImOfflineMessageName,
+ rpcRegisterName: config.Config.RpcRegisterName.OpenImMsgName,
etcdSchema: config.Config.Etcd.EtcdSchema,
etcdAddr: config.Config.Etcd.EtcdAddr,
}
@@ -65,7 +65,7 @@ func (rpc *rpcChat) Run() {
defer srv.GracefulStop()
rpcRegisterIP := config.Config.RpcRegisterIP
- pbChat.RegisterChatServer(srv, rpc)
+ msg.RegisterMsgServer(srv, rpc)
if config.Config.RpcRegisterIP == "" {
rpcRegisterIP, err = utils.GetLocalIP()
if err != nil {
diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go
index e4c04871a..d7cda9170 100644
--- a/internal/rpc/msg/send_msg.go
+++ b/internal/rpc/msg/send_msg.go
@@ -9,8 +9,8 @@ import (
"Open_IM/pkg/grpc-etcdv3/getcdv3"
cacheRpc "Open_IM/pkg/proto/cache"
pbCache "Open_IM/pkg/proto/cache"
- pbChat "Open_IM/pkg/proto/chat"
pbConversation "Open_IM/pkg/proto/conversation"
+ pbChat "Open_IM/pkg/proto/msg"
pbRelay "Open_IM/pkg/proto/relay"
sdk_ws "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
@@ -830,14 +830,14 @@ func Notification(n *NotificationMsg) {
offlineInfo.Ex = ex
msg.OfflinePushInfo = &offlineInfo
req.MsgData = &msg
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, req.OperationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
return
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
reply, err := client.SendMsg(context.Background(), &req)
if err != nil {
log.NewError(req.OperationID, "SendMsg rpc failed, ", req.String(), err.Error())
@@ -853,9 +853,9 @@ func getOnlineAndOfflineUserIDList(memberList []string, m map[string][]string, o
req.OperationID = operationID
req.OpUserID = config.Config.Manager.AppManagerUid[0]
flag := false
- grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOnlineMessageRelayName)
+ grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName)
for _, v := range grpcCons {
- client := pbRelay.NewOnlineMessageRelayServiceClient(v)
+ client := pbRelay.NewRelayClient(v)
reply, err := client.GetUsersOnlineStatus(context.Background(), req)
if err != nil {
log.NewError(operationID, "GetUsersOnlineStatus rpc err", req.String(), err.Error())
diff --git a/internal/rpc/msg/tag_send_msg.go b/internal/rpc/msg/tag_send_msg.go
index 7354961db..eb3a60695 100644
--- a/internal/rpc/msg/tag_send_msg.go
+++ b/internal/rpc/msg/tag_send_msg.go
@@ -6,7 +6,7 @@ import (
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
pbCommon "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
@@ -33,14 +33,14 @@ func TagSendMessage(operationID string, user *db.User, recvID, content string, s
msgData.SenderPlatformID = senderPlatformID
req.MsgData = &msgData
req.OperationID = operationID
- etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName, operationID)
+ etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, operationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
log.NewError(req.OperationID, errMsg)
return
}
- client := pbChat.NewChatClient(etcdConn)
+ client := pbChat.NewMsgClient(etcdConn)
respPb, err := client.SendMsg(context.Background(), &req)
if err != nil {
log.NewError(operationID, utils.GetSelfFuncName(), "send msg failed", err.Error())
diff --git a/internal/rpc/organization/organization.go b/internal/rpc/organization/organization.go
index db423caa0..a3b0301a6 100644
--- a/internal/rpc/organization/organization.go
+++ b/internal/rpc/organization/organization.go
@@ -6,6 +6,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
+ rocksCache "Open_IM/pkg/common/db/rocks_cache"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
@@ -112,8 +113,12 @@ func (s *organizationServer) CreateDepartment(ctx context.Context, req *rpc.Crea
resp := &rpc.CreateDepartmentResp{DepartmentInfo: &open_im_sdk.Department{}}
utils.CopyStructFields(resp.DepartmentInfo, createdDepartment)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", *resp)
+ if err := rocksCache.DelAllDepartmentsFromCache(); err != nil {
+ errMsg := req.OperationID + " " + "UpdateDepartment failed " + err.Error()
+ log.Error(req.OperationID, errMsg)
+ return &rpc.CreateDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
chat.OrganizationNotificationToAll(req.OpUserID, req.OperationID)
-
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetConn == nil"
@@ -169,11 +174,15 @@ func (s *organizationServer) UpdateDepartment(ctx context.Context, req *rpc.Upda
utils.CopyStructFields(&department, req.DepartmentInfo)
log.Debug(req.OperationID, "dst ", department, "src ", req.DepartmentInfo)
if err := imdb.UpdateDepartment(&department, nil); err != nil {
+ errMsg := req.OperationID + " " + "UpdateDepartment failed " + err.Error()
+ log.Error(req.OperationID, errMsg, department)
+ return &rpc.UpdateDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
+ if err := rocksCache.DelAllDepartmentsFromCache(); err != nil {
errMsg := req.OperationID + " " + "UpdateDepartment failed " + err.Error()
log.Error(req.OperationID, errMsg)
return &rpc.UpdateDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
}
-
resp := &rpc.UpdateDepartmentResp{}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", *resp)
chat.OrganizationNotificationToAll(req.OpUserID, req.OperationID)
@@ -182,12 +191,24 @@ func (s *organizationServer) UpdateDepartment(ctx context.Context, req *rpc.Upda
func (s *organizationServer) GetSubDepartment(ctx context.Context, req *rpc.GetSubDepartmentReq) (*rpc.GetSubDepartmentResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc args ", req.String())
- err, departmentList := imdb.GetSubDepartmentList(req.DepartmentID)
- if err != nil {
- errMsg := req.OperationID + " " + "GetDepartment failed " + err.Error()
- log.Error(req.OperationID, errMsg)
- return &rpc.GetSubDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ var departmentList []db.Department
+ var err error
+ if req.DepartmentID == "-1" {
+ departmentList, err = rocksCache.GetAllDepartmentsFromCache()
+ if err != nil {
+ errMsg := req.OperationID + " " + "GetDepartment failed " + err.Error()
+ log.Error(req.OperationID, errMsg)
+ return &rpc.GetSubDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
+ } else {
+ departmentList, err = imdb.GetSubDepartmentList(req.DepartmentID)
+ if err != nil {
+ errMsg := req.OperationID + " " + "GetDepartment failed " + err.Error()
+ log.Error(req.OperationID, errMsg)
+ return &rpc.GetSubDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
}
+
log.Debug(req.OperationID, "GetSubDepartmentList ", req.DepartmentID, departmentList)
resp := &rpc.GetSubDepartmentResp{}
for _, v := range departmentList {
@@ -224,6 +245,12 @@ func (s *organizationServer) DeleteDepartment(ctx context.Context, req *rpc.Dele
return &rpc.DeleteDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
}
log.Debug(req.OperationID, "DeleteDepartment ", req.DepartmentID)
+
+ if err := rocksCache.DelAllDepartmentsFromCache(); err != nil {
+ errMsg := req.OperationID + " " + "UpdateDepartment failed " + err.Error()
+ log.Error(req.OperationID, errMsg)
+ return &rpc.DeleteDepartmentResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
+ }
resp := &rpc.DeleteDepartmentResp{}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", resp)
chat.OrganizationNotificationToAll(req.OpUserID, req.OperationID)
@@ -273,7 +300,7 @@ func (s *organizationServer) CreateOrganizationUser(ctx context.Context, req *rp
log.Debug(req.OperationID, "CreateOrganizationUser ", organizationUser)
resp := &rpc.CreateOrganizationUserResp{}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", *resp)
- chat.OrganizationNotificationToAll(req.OpUserID, req.OperationID)
+ //chat.OrganizationNotificationToAll(req.OpUserID, req.OperationID)
return resp, nil
}
@@ -353,7 +380,9 @@ func (s *organizationServer) CreateDepartmentMember(ctx context.Context, req *rp
return &rpc.CreateDepartmentMemberResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}, nil
}
log.Debug(req.OperationID, "UpdateOrganizationUser ", departmentMember)
-
+ if err := rocksCache.DelAllDepartmentMembersFromCache(); err != nil {
+ log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
+ }
resp := &rpc.CreateDepartmentMemberResp{}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", *resp)
chat.OrganizationNotificationToAll(req.OpUserID, req.OperationID)
@@ -477,11 +506,22 @@ func (s *organizationServer) DeleteOrganizationUser(ctx context.Context, req *rp
func (s *organizationServer) GetDepartmentMember(ctx context.Context, req *rpc.GetDepartmentMemberReq) (*rpc.GetDepartmentMemberResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc args ", req.String())
- err, departmentMemberList := imdb.GetDepartmentMemberList(req.DepartmentID)
- if err != nil {
- errMsg := req.OperationID + " " + req.OpUserID + " is not app manager"
- log.Error(req.OperationID, errMsg)
- return &rpc.GetDepartmentMemberResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}, nil
+ var departmentMemberList []db.DepartmentMember
+ var err error
+ if req.DepartmentID == "-1" {
+ departmentMemberList, err = rocksCache.GetAllDepartmentMembersFromCache()
+ if err != nil {
+ errMsg := req.OperationID + " " + req.OpUserID + " is not app manager"
+ log.Error(req.OperationID, errMsg)
+ return &rpc.GetDepartmentMemberResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}, nil
+ }
+ } else {
+ departmentMemberList, err = imdb.GetDepartmentMemberList(req.DepartmentID)
+ if err != nil {
+ errMsg := req.OperationID + " " + req.OpUserID + " is not app manager"
+ log.Error(req.OperationID, errMsg)
+ return &rpc.GetDepartmentMemberResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: errMsg}, nil
+ }
}
log.Debug(req.OperationID, "GetDepartmentMemberList ", departmentMemberList)
diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go
index 3d56a527a..47f6036bf 100644
--- a/internal/rpc/user/user.go
+++ b/internal/rpc/user/user.go
@@ -6,6 +6,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
+ "Open_IM/pkg/common/db/rocks_cache"
errors "Open_IM/pkg/common/http"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
@@ -112,7 +113,7 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq
if len(req.UserIDList) > 0 {
for _, userID := range req.UserIDList {
var userInfo sdkws.UserInfo
- user, err := imdb.GetUserByUserID(userID)
+ user, err := rocksCache.GetUserInfoFromCache(userID)
if err != nil {
log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), userID)
continue
@@ -151,7 +152,7 @@ func (s *userServer) BatchSetConversations(ctx context.Context, req *pbUser.Batc
continue
}
resp.Success = append(resp.Success, v.ConversationID)
- // if is set private chat operation,then peer user need to sync and set tips\
+ // if is set private msg operation,then peer user need to sync and set tips\
if v.ConversationType == constant.SingleChatType && req.NotificationType == constant.ConversationPrivateChatNotification {
if err := syncPeerUserConversation(v, req.OperationID); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "syncPeerUserConversation", err.Error())
@@ -408,16 +409,19 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
CommID: &pbFriend.CommID{OperationID: req.OperationID, FromUserID: req.UserInfo.UserID, OpUserID: req.OpUserID},
}
- RpcResp, err := client.GetFriendList(context.Background(), newReq)
+ rpcResp, err := client.GetFriendList(context.Background(), newReq)
if err != nil {
log.NewError(req.OperationID, "GetFriendList failed ", err.Error(), newReq)
- return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{}}, nil
+ return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: 500, ErrMsg: err.Error()}}, nil
}
- for _, v := range RpcResp.FriendInfoList {
+ for _, v := range rpcResp.FriendInfoList {
log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, v.FriendUser.UserID)
chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, v.FriendUser.UserID)
}
-
+ if err := rocksCache.DelUserInfoFromCache(user.UserID); err != nil {
+ log.NewError(req.OperationID, "GetFriendList failed ", err.Error(), newReq)
+ return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}}, nil
+ }
chat.UserInfoUpdatedNotification(req.OperationID, req.UserInfo.UserID, req.OpUserID)
log.Info(req.OperationID, "UserInfoUpdatedNotification ", req.UserInfo.UserID, req.OpUserID)
if req.UserInfo.FaceURL != "" {
@@ -467,15 +471,22 @@ func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.Se
}
func (s *userServer) SyncJoinedGroupMemberFaceURL(userID string, faceURL string, operationID string, opUserID string) {
- joinedGroupIDList, err := imdb.GetJoinedGroupIDListByUserID(userID)
+ joinedGroupIDList, err := rocksCache.GetJoinedGroupIDListFromCache(userID)
if err != nil {
log.NewWarn(operationID, "GetJoinedGroupIDListByUserID failed ", userID, err.Error())
return
}
- for _, v := range joinedGroupIDList {
- groupMemberInfo := db.GroupMember{UserID: userID, GroupID: v, FaceURL: faceURL}
- imdb.UpdateGroupMemberInfo(groupMemberInfo)
- chat.GroupMemberInfoSetNotification(operationID, opUserID, v, userID)
+ for _, groupID := range joinedGroupIDList {
+ groupMemberInfo := db.GroupMember{UserID: userID, GroupID: groupID, FaceURL: faceURL}
+ if err := imdb.UpdateGroupMemberInfo(groupMemberInfo); err != nil {
+ log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupMemberInfo)
+ continue
+ }
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(groupID); err != nil {
+ log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupID)
+ continue
+ }
+ chat.GroupMemberInfoSetNotification(operationID, opUserID, groupID, userID)
}
}
@@ -493,7 +504,14 @@ func (s *userServer) SyncJoinedGroupMemberNickname(userID string, newNickname, o
}
if member.Nickname == oldNickname {
groupMemberInfo := db.GroupMember{UserID: userID, GroupID: v, Nickname: newNickname}
- imdb.UpdateGroupMemberInfo(groupMemberInfo)
+ if err := imdb.UpdateGroupMemberInfo(groupMemberInfo); err != nil {
+ log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), groupMemberInfo)
+ continue
+ }
+ if err := rocksCache.DelAllGroupMembersInfoFromCache(v); err != nil {
+ log.NewError(operationID, utils.GetSelfFuncName(), err.Error(), v)
+ continue
+ }
chat.GroupMemberInfoSetNotification(operationID, opUserID, v, userID)
}
}
diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go
index f6b134ef3..92d30480a 100644
--- a/pkg/base_info/msg.go
+++ b/pkg/base_info/msg.go
@@ -34,3 +34,18 @@ type MsgDeleteNotificationElem struct {
IsAllDelete bool `json:"isAllDelete"`
SeqList []uint32 `json:"seqList"`
}
+
+//UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
+// GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"`
+// MinSeq uint32 `protobuf:"varint,3,opt,name=minSeq" json:"minSeq,omitempty"`
+// OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"`
+// OpUserID string `protobuf:"bytes,5,opt,name=opUserID" json:"opUserID,omitempty"`
+type SetMsgMinSeqReq struct {
+ UserID string `json:"userID" binding:"required"`
+ GroupID string `json:"groupID"`
+ MinSeq uint32 `json:"minSeq" binding:"required"`
+ OperationID string `json:"operationID" binding:"required"`
+}
+type SetMsgMinSeqResp struct {
+ CommResp
+}
diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go
index 508720a2b..fec3d61bd 100644
--- a/pkg/common/config/config.go
+++ b/pkg/common/config/config.go
@@ -74,6 +74,10 @@ type config struct {
} `yaml:"minio"`
}
+ Dtm struct {
+ ServerURL string `json:"serverURL"`
+ }
+
Mysql struct {
DBAddress []string `yaml:"dbMysqlAddress"`
DBUserName string `yaml:"dbMysqlUserName"`
@@ -123,21 +127,22 @@ type config struct {
OpenImCachePort []int `yaml:"openImCachePort"`
}
RpcRegisterName struct {
- OpenImStatisticsName string `yaml:"openImStatisticsName"`
- OpenImUserName string `yaml:"openImUserName"`
- OpenImFriendName string `yaml:"openImFriendName"`
- OpenImOfflineMessageName string `yaml:"openImOfflineMessageName"`
- OpenImPushName string `yaml:"openImPushName"`
- OpenImOnlineMessageRelayName string `yaml:"openImOnlineMessageRelayName"`
- OpenImGroupName string `yaml:"openImGroupName"`
- OpenImAuthName string `yaml:"openImAuthName"`
- OpenImMessageCMSName string `yaml:"openImMessageCMSName"`
- OpenImAdminCMSName string `yaml:"openImAdminCMSName"`
- OpenImOfficeName string `yaml:"openImOfficeName"`
- OpenImOrganizationName string `yaml:"openImOrganizationName"`
- OpenImConversationName string `yaml:"openImConversationName"`
- OpenImCacheName string `yaml:"openImCacheName"`
- OpenImRealTimeCommName string `yaml:"openImRealTimeCommName"`
+ OpenImStatisticsName string `yaml:"openImStatisticsName"`
+ OpenImUserName string `yaml:"openImUserName"`
+ OpenImFriendName string `yaml:"openImFriendName"`
+ // OpenImOfflineMessageName string `yaml:"openImOfflineMessageName"`
+ OpenImMsgName string `yaml:"openImMsgName"`
+ OpenImPushName string `yaml:"openImPushName"`
+ OpenImRelayName string `yaml:"openImRelayName"`
+ OpenImGroupName string `yaml:"openImGroupName"`
+ OpenImAuthName string `yaml:"openImAuthName"`
+ OpenImMessageCMSName string `yaml:"openImMessageCMSName"`
+ OpenImAdminCMSName string `yaml:"openImAdminCMSName"`
+ OpenImOfficeName string `yaml:"openImOfficeName"`
+ OpenImOrganizationName string `yaml:"openImOrganizationName"`
+ OpenImConversationName string `yaml:"openImConversationName"`
+ OpenImCacheName string `yaml:"openImCacheName"`
+ OpenImRealTimeCommName string `yaml:"openImRealTimeCommName"`
}
Etcd struct {
EtcdSchema string `yaml:"etcdSchema"`
diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go
index c96fe08b4..bd6d634bc 100644
--- a/pkg/common/db/RedisModel.go
+++ b/pkg/common/db/RedisModel.go
@@ -4,12 +4,11 @@ import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
log2 "Open_IM/pkg/common/log"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
pbRtc "Open_IM/pkg/proto/rtc"
pbCommon "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
- "encoding/json"
"errors"
"fmt"
go_redis "github.com/go-redis/redis/v8"
@@ -18,6 +17,7 @@ import (
"strconv"
"time"
)
+
const (
accountTempCode = "ACCOUNT_TEMP_CODE"
resetPwdTempCode = "RESET_PWD_TEMP_CODE"
@@ -27,26 +27,17 @@ const (
uidPidToken = "UID_PID_TOKEN_STATUS:"
conversationReceiveMessageOpt = "CON_RECV_MSG_OPT:"
getuiToken = "GETUI_TOKEN"
- userInfoCache = "USER_INFO_CACHE:"
- friendRelationCache = "FRIEND_RELATION_CACHE:"
- blackListCache = "BLACK_LIST_CACHE:"
- groupCache = "GROUP_CACHE:"
messageCache = "MESSAGE_CACHE:"
SignalCache = "SIGNAL_CACHE:"
SignalListCache = "SIGNAL_LIST_CACHE:"
GlobalMsgRecvOpt = "GLOBAL_MSG_RECV_OPT"
+ groupUserMinSeq = "GROUP_USER_MIN_SEQ:"
+ groupMaxSeq = "GROUP_MAX_SEQ"
)
-
-//func (d * DataBases)pubMessage(channel, msg string) {
-// d.rdb.Publish(context.Background(),channel,msg)
-//}
-//func (d * DataBases)pubMessage(channel, msg string) {
-// d.rdb.Publish(context.Background(),channel,msg)
-//}
func (d *DataBases) JudgeAccountEXISTS(account string) (bool, error) {
key := accountTempCode + account
- n, err := d.rdb.Exists(context.Background(), key).Result()
+ n, err := d.RDB.Exists(context.Background(), key).Result()
if n > 0 {
return true, err
} else {
@@ -55,57 +46,84 @@ func (d *DataBases) JudgeAccountEXISTS(account string) (bool, error) {
}
func (d *DataBases) SetAccountCode(account string, code, ttl int) (err error) {
key := accountTempCode + account
- return d.rdb.Set(context.Background(), key, code, time.Duration(ttl)*time.Second).Err()
+ return d.RDB.Set(context.Background(), key, code, time.Duration(ttl)*time.Second).Err()
}
func (d *DataBases) GetAccountCode(account string) (string, error) {
key := accountTempCode + account
- return d.rdb.Get(context.Background(), key).Result()
+ return d.RDB.Get(context.Background(), key).Result()
}
//Perform seq auto-increment operation of user messages
func (d *DataBases) IncrUserSeq(uid string) (uint64, error) {
key := userIncrSeq + uid
- seq, err := d.rdb.Incr(context.Background(), key).Result()
+ seq, err := d.RDB.Incr(context.Background(), key).Result()
return uint64(seq), err
}
//Get the largest Seq
func (d *DataBases) GetUserMaxSeq(uid string) (uint64, error) {
key := userIncrSeq + uid
- seq, err := d.rdb.Get(context.Background(), key).Result()
+ seq, err := d.RDB.Get(context.Background(), key).Result()
return uint64(utils.StringToInt(seq)), err
}
//set the largest Seq
func (d *DataBases) SetUserMaxSeq(uid string, maxSeq uint64) error {
key := userIncrSeq + uid
- return d.rdb.Set(context.Background(), key, maxSeq, 0).Err()
+ return d.RDB.Set(context.Background(), key, maxSeq, 0).Err()
}
//Set the user's minimum seq
func (d *DataBases) SetUserMinSeq(uid string, minSeq uint32) (err error) {
key := userMinSeq + uid
- return d.rdb.Set(context.Background(), key, minSeq, 0).Err()
+ return d.RDB.Set(context.Background(), key, minSeq, 0).Err()
}
//Get the smallest Seq
func (d *DataBases) GetUserMinSeq(uid string) (uint64, error) {
key := userMinSeq + uid
- seq, err := d.rdb.Get(context.Background(), key).Result()
+ seq, err := d.RDB.Get(context.Background(), key).Result()
return uint64(utils.StringToInt(seq)), err
}
+func (d *DataBases) SetGroupUserMinSeq(groupID, userID string, minSeq uint32) (err error) {
+ key := groupUserMinSeq + "g:" + groupID + "u:" + userID
+ return d.RDB.Set(context.Background(), key, minSeq, 0).Err()
+}
+func (d *DataBases) GetGroupUserMinSeq(groupID, userID string) (uint64, error) {
+ key := groupUserMinSeq + "g:" + groupID + "u:" + userID
+ seq, err := d.RDB.Get(context.Background(), key).Result()
+ return uint64(utils.StringToInt(seq)), err
+}
+
+func (d *DataBases) GetGroupMaxSeq(groupID string) (uint64, error) {
+ key := groupMaxSeq + groupID
+ seq, err := d.RDB.Get(context.Background(), key).Result()
+ return uint64(utils.StringToInt(seq)), err
+}
+
+func (d *DataBases) IncrGroupMaxSeq(groupID string) (uint64, error) {
+ key := groupMaxSeq + groupID
+ seq, err := d.RDB.Incr(context.Background(), key).Result()
+ return uint64(seq), err
+}
+
+func (d *DataBases) SetGroupMaxSeq(groupID string, maxSeq uint64) error {
+ key := groupMaxSeq + groupID
+ return d.RDB.Set(context.Background(), key, maxSeq, 0).Err()
+}
+
//Store userid and platform class to redis
func (d *DataBases) AddTokenFlag(userID string, platformID int, token string, flag int) error {
key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID)
log2.NewDebug("", "add token key is ", key)
- return d.rdb.HSet(context.Background(), key, token, flag).Err()
+ return d.RDB.HSet(context.Background(), key, token, flag).Err()
}
func (d *DataBases) GetTokenMapByUidPid(userID, platformID string) (map[string]int, error) {
key := uidPidToken + userID + ":" + platformID
log2.NewDebug("", "get token key is ", key)
- m, err := d.rdb.HGetAll(context.Background(), key).Result()
+ m, err := d.RDB.HGetAll(context.Background(), key).Result()
mm := make(map[string]int)
for k, v := range m {
mm[k] = utils.StringToInt(v)
@@ -118,29 +136,29 @@ func (d *DataBases) SetTokenMapByUidPid(userID string, platformID int, m map[str
for k, v := range m {
mm[k] = v
}
- return d.rdb.HSet(context.Background(), key, mm).Err()
+ return d.RDB.HSet(context.Background(), key, mm).Err()
}
func (d *DataBases) DeleteTokenByUidPid(userID string, platformID int, fields []string) error {
key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID)
- return d.rdb.HDel(context.Background(), key, fields...).Err()
+ return d.RDB.HDel(context.Background(), key, fields...).Err()
}
func (d *DataBases) SetSingleConversationRecvMsgOpt(userID, conversationID string, opt int32) error {
key := conversationReceiveMessageOpt + userID
- return d.rdb.HSet(context.Background(), key, conversationID, opt).Err()
+ return d.RDB.HSet(context.Background(), key, conversationID, opt).Err()
}
func (d *DataBases) GetSingleConversationRecvMsgOpt(userID, conversationID string) (int, error) {
key := conversationReceiveMessageOpt + userID
- result, err := d.rdb.HGet(context.Background(), key, conversationID).Result()
+ result, err := d.RDB.HGet(context.Background(), key, conversationID).Result()
return utils.StringToInt(result), err
}
func (d *DataBases) SetUserGlobalMsgRecvOpt(userID string, opt int32) error {
key := conversationReceiveMessageOpt + userID
- return d.rdb.HSet(context.Background(), key, GlobalMsgRecvOpt, opt).Err()
+ return d.RDB.HSet(context.Background(), key, GlobalMsgRecvOpt, opt).Err()
}
func (d *DataBases) GetUserGlobalMsgRecvOpt(userID string) (int, error) {
key := conversationReceiveMessageOpt + userID
- result, err := d.rdb.HGet(context.Background(), key, GlobalMsgRecvOpt).Result()
+ result, err := d.RDB.HGet(context.Background(), key, GlobalMsgRecvOpt).Result()
if err != nil {
if err == go_redis.Nil {
return 0, nil
@@ -155,7 +173,7 @@ func (d *DataBases) GetMessageListBySeq(userID string, seqList []uint32, operati
//MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1
key := messageCache + userID + "_" + strconv.Itoa(int(v))
- result, err := d.rdb.Get(context.Background(), key).Result()
+ result, err := d.RDB.Get(context.Background(), key).Result()
if err != nil {
errResult = err
failedSeqList = append(failedSeqList, v)
@@ -178,7 +196,7 @@ func (d *DataBases) GetMessageListBySeq(userID string, seqList []uint32, operati
}
func (d *DataBases) SetMessageToCache(msgList []*pbChat.MsgDataToMQ, uid string, operationID string) error {
ctx := context.Background()
- pipe := d.rdb.Pipeline()
+ pipe := d.RDB.Pipeline()
var failedList []pbChat.MsgDataToMQ
for _, msg := range msgList {
key := messageCache + uid + "_" + strconv.Itoa(int(msg.MsgData.Seq))
@@ -205,7 +223,7 @@ func (d *DataBases) SetMessageToCache(msgList []*pbChat.MsgDataToMQ, uid string,
func (d *DataBases) CleanUpOneUserAllMsgFromRedis(userID string, operationID string) error {
ctx := context.Background()
key := messageCache + userID + "_" + "*"
- vals, err := d.rdb.Keys(ctx, key).Result()
+ vals, err := d.RDB.Keys(ctx, key).Result()
log2.Debug(operationID, "vals: ", vals)
if err == go_redis.Nil {
return nil
@@ -213,7 +231,7 @@ func (d *DataBases) CleanUpOneUserAllMsgFromRedis(userID string, operationID str
if err != nil {
return utils.Wrap(err, "")
}
- if err = d.rdb.Del(ctx, vals...).Err(); err != nil {
+ if err = d.RDB.Del(ctx, vals...).Err(); err != nil {
return utils.Wrap(err, "")
}
return nil
@@ -249,16 +267,16 @@ func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData)
return err
}
keyList := SignalListCache + userID
- err = d.rdb.LPush(context.Background(), keyList, msg.ClientMsgID).Err()
+ err = d.RDB.LPush(context.Background(), keyList, msg.ClientMsgID).Err()
if err != nil {
return err
}
- err = d.rdb.Expire(context.Background(), keyList, time.Duration(timeout)*time.Second).Err()
+ err = d.RDB.Expire(context.Background(), keyList, time.Duration(timeout)*time.Second).Err()
if err != nil {
return err
}
key := SignalCache + msg.ClientMsgID
- err = d.rdb.Set(context.Background(), key, msg.Content, time.Duration(timeout)*time.Second).Err()
+ err = d.RDB.Set(context.Background(), key, msg.Content, time.Duration(timeout)*time.Second).Err()
if err != nil {
return err
}
@@ -270,7 +288,7 @@ func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData)
func (d *DataBases) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (invitationInfo *pbRtc.SignalInviteReq, err error) {
key := SignalCache + clientMsgID
invitationInfo = &pbRtc.SignalInviteReq{}
- bytes, err := d.rdb.Get(context.Background(), key).Bytes()
+ bytes, err := d.RDB.Get(context.Background(), key).Bytes()
if err != nil {
return nil, err
}
@@ -291,7 +309,7 @@ func (d *DataBases) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (inv
func (d *DataBases) GetAvailableSignalInvitationInfo(userID string) (invitationInfo *pbRtc.SignalInviteReq, err error) {
keyList := SignalListCache + userID
- result := d.rdb.LPop(context.Background(), keyList)
+ result := d.RDB.LPop(context.Background(), keyList)
if err = result.Err(); err != nil {
return nil, utils.Wrap(err, "GetAvailableSignalInvitationInfo failed")
}
@@ -313,14 +331,14 @@ func (d *DataBases) GetAvailableSignalInvitationInfo(userID string) (invitationI
func (d *DataBases) DelUserSignalList(userID string) error {
keyList := SignalListCache + userID
- err := d.rdb.Del(context.Background(), keyList).Err()
+ err := d.RDB.Del(context.Background(), keyList).Err()
return err
}
func (d *DataBases) DelMsgFromCache(uid string, seqList []uint32, operationID string) {
for _, seq := range seqList {
key := messageCache + uid + "_" + strconv.Itoa(int(seq))
- result := d.rdb.Get(context.Background(), key).String()
+ result := d.RDB.Get(context.Background(), key).String()
var msg pbCommon.MsgData
if err := utils.String2Pb(result, &msg); err != nil {
log2.Error(operationID, utils.GetSelfFuncName(), "String2Pb failed", msg, err.Error())
@@ -332,98 +350,17 @@ func (d *DataBases) DelMsgFromCache(uid string, seqList []uint32, operationID st
log2.Error(operationID, utils.GetSelfFuncName(), "Pb2String failed", msg, err.Error())
continue
}
- if err := d.rdb.Set(context.Background(), key, s, time.Duration(config.Config.MsgCacheTimeout)*time.Second).Err(); err != nil {
+ if err := d.RDB.Set(context.Background(), key, s, time.Duration(config.Config.MsgCacheTimeout)*time.Second).Err(); err != nil {
log2.Error(operationID, utils.GetSelfFuncName(), "Set failed", err.Error())
}
}
}
func (d *DataBases) SetGetuiToken(token string, expireTime int64) error {
- return d.rdb.Set(context.Background(), getuiToken, token, time.Duration(expireTime)*time.Second).Err()
+ return d.RDB.Set(context.Background(), getuiToken, token, time.Duration(expireTime)*time.Second).Err()
}
func (d *DataBases) GetGetuiToken() (string, error) {
- result := d.rdb.Get(context.Background(), getuiToken)
+ result := d.RDB.Get(context.Background(), getuiToken)
return result.String(), result.Err()
}
-
-func (d *DataBases) AddFriendToCache(userID string, friendIDList ...string) error {
- var IDList []interface{}
- for _, id := range friendIDList {
- IDList = append(IDList, id)
- }
- return d.rdb.SAdd(context.Background(), friendRelationCache+userID, IDList...).Err()
-}
-
-func (d *DataBases) ReduceFriendToCache(userID string, friendIDList ...string) error {
- var IDList []interface{}
- for _, id := range friendIDList {
- IDList = append(IDList, id)
- }
- return d.rdb.SRem(context.Background(), friendRelationCache+userID, IDList...).Err()
-}
-
-func (d *DataBases) GetFriendIDListFromCache(userID string) ([]string, error) {
- result := d.rdb.SMembers(context.Background(), friendRelationCache+userID)
- return result.Result()
-}
-
-func (d *DataBases) AddBlackUserToCache(userID string, blackList ...string) error {
- var IDList []interface{}
- for _, id := range blackList {
- IDList = append(IDList, id)
- }
- return d.rdb.SAdd(context.Background(), blackListCache+userID, IDList...).Err()
-}
-
-func (d *DataBases) ReduceBlackUserFromCache(userID string, blackList ...string) error {
- var IDList []interface{}
- for _, id := range blackList {
- IDList = append(IDList, id)
- }
- return d.rdb.SRem(context.Background(), blackListCache+userID, IDList...).Err()
-}
-
-func (d *DataBases) GetBlackListFromCache(userID string) ([]string, error) {
- result := d.rdb.SMembers(context.Background(), blackListCache+userID)
- return result.Result()
-}
-
-func (d *DataBases) AddGroupMemberToCache(groupID string, userIDList ...string) error {
- var IDList []interface{}
- for _, id := range userIDList {
- IDList = append(IDList, id)
- }
- return d.rdb.SAdd(context.Background(), groupCache+groupID, IDList...).Err()
-}
-
-func (d *DataBases) ReduceGroupMemberFromCache(groupID string, userIDList ...string) error {
- var IDList []interface{}
- for _, id := range userIDList {
- IDList = append(IDList, id)
- }
- return d.rdb.SRem(context.Background(), groupCache+groupID, IDList...).Err()
-}
-
-func (d *DataBases) GetGroupMemberIDListFromCache(groupID string) ([]string, error) {
- result := d.rdb.SMembers(context.Background(), groupCache+groupID)
- return result.Result()
-}
-
-func (d *DataBases) SetUserInfoToCache(userID string, m map[string]interface{}) error {
- return d.rdb.HSet(context.Background(), userInfoCache+userID, m).Err()
-}
-
-func (d *DataBases) GetUserInfoFromCache(userID string) (*pbCommon.UserInfo, error) {
- result, err := d.rdb.HGetAll(context.Background(), userInfoCache+userID).Result()
- bytes, err := json.Marshal(result)
- if err != nil {
- return nil, err
- }
- userInfo := &pbCommon.UserInfo{}
- if err := proto.Unmarshal(bytes, userInfo); err != nil {
- return nil, err
- }
- err = json.Unmarshal(bytes, userInfo)
- return userInfo, err
-}
diff --git a/pkg/common/db/batch_insert_chat.go b/pkg/common/db/batch_insert_chat.go
index c6b57201f..bef5a312c 100644
--- a/pkg/common/db/batch_insert_chat.go
+++ b/pkg/common/db/batch_insert_chat.go
@@ -2,8 +2,9 @@ package db
import (
"Open_IM/pkg/common/config"
+ "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/log"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
"Open_IM/pkg/utils"
"context"
"errors"
@@ -104,21 +105,28 @@ func (d *DataBases) BatchInsertChat2DB(userID string, msgList []*pbMsg.MsgDataTo
return nil
}
-func (d *DataBases) BatchInsertChat2Cache(userID string, msgList []*pbMsg.MsgDataToMQ, operationID string) (error, uint64) {
+func (d *DataBases) BatchInsertChat2Cache(insertID string, msgList []*pbMsg.MsgDataToMQ, operationID string) (error, uint64) {
newTime := getCurrentTimestampByMill()
- if len(msgList) > GetSingleGocMsgNum() {
+ lenList := len(msgList)
+ if lenList > GetSingleGocMsgNum() {
return errors.New("too large"), 0
}
- currentMaxSeq, err := d.GetUserMaxSeq(userID)
- if err == nil {
-
- } else if err == go_redis.Nil {
- currentMaxSeq = 0
+ if lenList < 1 {
+ return errors.New("too short as 0"), 0
+ }
+ // judge sessionType to get seq
+ var currentMaxSeq uint64
+ var err error
+ if msgList[0].MsgData.SessionType == constant.SuperGroupChatType {
+ currentMaxSeq, err = d.GetGroupMaxSeq(insertID)
} else {
+ currentMaxSeq, err = d.GetUserMaxSeq(insertID)
+ }
+ if err != nil && err != go_redis.Nil {
return utils.Wrap(err, ""), 0
}
- lastMaxSeq := currentMaxSeq
+ lastMaxSeq := currentMaxSeq
for _, m := range msgList {
log.Debug(operationID, "msg node ", m.String(), m.MsgData.ClientMsgID)
currentMaxSeq++
@@ -126,13 +134,18 @@ func (d *DataBases) BatchInsertChat2Cache(userID string, msgList []*pbMsg.MsgDat
sMsg.SendTime = m.MsgData.SendTime
m.MsgData.Seq = uint32(currentMaxSeq)
}
- log.Debug(operationID, "SetMessageToCache ", userID, len(msgList))
- err = d.SetMessageToCache(msgList, userID, operationID)
+ log.Debug(operationID, "SetMessageToCache ", insertID, len(msgList))
+ err = d.SetMessageToCache(msgList, insertID, operationID)
if err != nil {
- log.Error(operationID, "setMessageToCache failed, continue ", err.Error(), len(msgList), userID)
+ log.Error(operationID, "setMessageToCache failed, continue ", err.Error(), len(msgList), insertID)
}
- log.NewWarn(operationID, "batch to redis cost time ", getCurrentTimestampByMill()-newTime, userID, len(msgList))
- return utils.Wrap(d.SetUserMaxSeq(userID, uint64(currentMaxSeq)), ""), lastMaxSeq
+ log.Debug(operationID, "batch to redis cost time ", getCurrentTimestampByMill()-newTime, insertID, len(msgList))
+ if msgList[0].MsgData.SessionType == constant.SuperGroupChatType {
+ err = d.SetGroupMaxSeq(insertID, currentMaxSeq)
+ } else {
+ err = d.SetUserMaxSeq(insertID, currentMaxSeq)
+ }
+ return utils.Wrap(err, ""), lastMaxSeq
}
//func (d *DataBases) BatchInsertChatBoth(userID string, msgList []*pbMsg.MsgDataToMQ, operationID string) (error, uint64) {
diff --git a/pkg/common/db/model.go b/pkg/common/db/model.go
index c66201aba..545997547 100644
--- a/pkg/common/db/model.go
+++ b/pkg/common/db/model.go
@@ -2,6 +2,7 @@ package db
import (
"Open_IM/pkg/common/config"
+ "github.com/dtm-labs/rockscache"
"go.mongodb.org/mongo-driver/x/bsonx"
"strings"
@@ -28,14 +29,15 @@ type DataBases struct {
mgoSession *mgo.Session
//redisPool *redis.Pool
mongoClient *mongo.Client
- rdb go_redis.UniversalClient
+ RDB go_redis.UniversalClient
+ Rc *rockscache.Client
+ WeakRc *rockscache.Client
}
type RedisClient struct {
client *go_redis.Client
cluster *go_redis.ClusterClient
go_redis.UniversalClient
- enableCluster bool
}
func key(dbAddress, dbName string) string {
@@ -88,16 +90,14 @@ func init() {
if err := createMongoIndex(mongoClient, cWorkMoment, true, "work_moment_id"); err != nil {
fmt.Println("work_moment_id", "index create failed", err.Error())
}
-
if err := createMongoIndex(mongoClient, cWorkMoment, false, "user_id", "-create_time"); err != nil {
fmt.Println("user_id", "-create_time", "index create failed", err.Error())
}
-
if err := createMongoIndex(mongoClient, cTag, false, "user_id", "-create_time"); err != nil {
fmt.Println("user_id", "-create_time", "index create failed", err.Error())
}
if err := createMongoIndex(mongoClient, cTag, true, "tag_id"); err != nil {
- fmt.Println("user_id", "-create_time", "index create failed", err.Error())
+ fmt.Println("tag_id", "index create failed", err.Error())
}
fmt.Println("create index success")
DB.mongoClient = mongoClient
@@ -119,33 +119,49 @@ func init() {
// )
// },
//}
- fmt.Println("tes", config.Config.Redis.DBUserName, config.Config.Redis.DBPassWord)
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if config.Config.Redis.EnableCluster {
- DB.rdb = go_redis.NewClusterClient(&go_redis.ClusterOptions{
+ DB.RDB = go_redis.NewClusterClient(&go_redis.ClusterOptions{
Addrs: config.Config.Redis.DBAddress,
Username: config.Config.Redis.DBUserName,
Password: config.Config.Redis.DBPassWord, // no password set
PoolSize: 50,
})
- _, err = DB.rdb.Ping(ctx).Result()
+ _, err = DB.RDB.Ping(ctx).Result()
if err != nil {
panic(err.Error())
}
} else {
- DB.rdb = go_redis.NewClient(&go_redis.Options{
+ DB.RDB = go_redis.NewClient(&go_redis.Options{
Addr: config.Config.Redis.DBAddress[0],
Username: config.Config.Redis.DBUserName,
Password: config.Config.Redis.DBPassWord, // no password set
DB: 0, // use default DB
PoolSize: 100, // 连接池大小
})
- _, err = DB.rdb.Ping(ctx).Result()
+ _, err = DB.RDB.Ping(ctx).Result()
if err != nil {
panic(err.Error())
}
}
+ // 强一致性缓存,当一个key被标记删除,其他请求线程会被锁住轮询直到新的key生成,适合各种同步的拉取, 如果弱一致可能导致拉取还是老数据,毫无意义
+ DB.Rc = rockscache.NewClient(go_redis.NewClient(&go_redis.Options{
+ Addr: config.Config.Redis.DBAddress[0],
+ Password: config.Config.Redis.DBPassWord, // no password set
+ DB: 0, // use default DB
+ PoolSize: 100, // 连接池大小
+ }), rockscache.NewDefaultOptions())
+ DB.Rc.Options.StrongConsistency = true
+
+ // 弱一致性缓存,当一个key被标记删除,其他请求线程直接返回该key的value,适合高频并且生成很缓存很慢的情况 如大群发消息缓存的缓存
+ DB.WeakRc = rockscache.NewClient(go_redis.NewClient(&go_redis.Options{
+ Addr: config.Config.Redis.DBAddress[0],
+ Password: config.Config.Redis.DBPassWord, // no password set
+ DB: 0, // use default DB
+ PoolSize: 100, // 连接池大小
+ }), rockscache.NewDefaultOptions())
+ DB.WeakRc.Options.StrongConsistency = false
}
func createMongoIndex(client *mongo.Client, collection string, isUnique bool, keys ...string) error {
diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go
index 0b30be53e..60f2de972 100644
--- a/pkg/common/db/model_struct.go
+++ b/pkg/common/db/model_struct.go
@@ -168,6 +168,7 @@ type User struct {
CreateTime time.Time `gorm:"column:create_time"`
AppMangerLevel int32 `gorm:"column:app_manger_level"`
GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"`
+ status int32 `gorm:"column:status"`
}
//message BlackInfo{
diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go
index 7a4685b9e..2df5125ef 100644
--- a/pkg/common/db/mongoModel.go
+++ b/pkg/common/db/mongoModel.go
@@ -4,7 +4,7 @@ import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/log"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"context"
diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go
index 9713537b9..17de81d56 100644
--- a/pkg/common/db/mysql.go
+++ b/pkg/common/db/mysql.go
@@ -2,18 +2,25 @@ package db
import (
"Open_IM/pkg/common/config"
+ "gorm.io/gorm/logger"
"fmt"
"sync"
"time"
- "github.com/jinzhu/gorm"
- _ "github.com/jinzhu/gorm/dialects/mysql"
+ "gorm.io/driver/mysql"
+ "gorm.io/gorm"
)
type mysqlDB struct {
sync.RWMutex
- dbMap map[string]*gorm.DB
+ db *gorm.DB
+}
+
+type Writer struct{}
+
+func (w Writer) Printf(format string, args ...interface{}) {
+ fmt.Printf(format, args...)
}
func initMysqlDB() {
@@ -22,13 +29,13 @@ func initMysqlDB() {
config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], "mysql")
var db *gorm.DB
var err1 error
- db, err := gorm.Open("mysql", dsn)
+ db, err := gorm.Open(mysql.Open(dsn), nil)
if err != nil {
fmt.Println("0", "Open failed ", err.Error(), dsn)
}
if err != nil {
time.Sleep(time.Duration(30) * time.Second)
- db, err1 = gorm.Open("mysql", dsn)
+ db, err1 = gorm.Open(mysql.Open(dsn), nil)
if err1 != nil {
fmt.Println("0", "Open failed ", err1.Error(), dsn)
panic(err1.Error())
@@ -42,11 +49,22 @@ func initMysqlDB() {
fmt.Println("0", "Exec failed ", err.Error(), sql)
panic(err.Error())
}
- db.Close()
dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], config.Config.Mysql.DBDatabaseName)
- db, err = gorm.Open("mysql", dsn)
+
+ newLogger := logger.New(
+ Writer{},
+ logger.Config{
+ SlowThreshold: 200 * time.Millisecond, // Slow SQL threshold
+ LogLevel: logger.Error, // Log level
+ IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger
+ Colorful: true, // Disable color
+ },
+ )
+ db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
+ Logger: newLogger,
+ })
if err != nil {
fmt.Println("0", "Open failed ", err.Error(), dsn)
panic(err.Error())
@@ -65,103 +83,70 @@ func initMysqlDB() {
db.Set("gorm:table_options", "CHARSET=utf8")
db.Set("gorm:table_options", "collation=utf8_unicode_ci")
- if !db.HasTable(&Friend{}) {
+ if !db.Migrator().HasTable(&Friend{}) {
fmt.Println("CreateTable Friend")
- db.CreateTable(&Friend{})
+ db.Migrator().CreateTable(&Friend{})
}
- if !db.HasTable(&FriendRequest{}) {
+ if !db.Migrator().HasTable(&FriendRequest{}) {
fmt.Println("CreateTable FriendRequest")
- db.CreateTable(&FriendRequest{})
+ db.Migrator().CreateTable(&FriendRequest{})
}
- if !db.HasTable(&Group{}) {
+ if !db.Migrator().HasTable(&Group{}) {
fmt.Println("CreateTable Group")
- db.CreateTable(&Group{})
+ db.Migrator().CreateTable(&Group{})
}
- if !db.HasTable(&GroupMember{}) {
+ if !db.Migrator().HasTable(&GroupMember{}) {
fmt.Println("CreateTable GroupMember")
- db.CreateTable(&GroupMember{})
+ db.Migrator().CreateTable(&GroupMember{})
}
- if !db.HasTable(&GroupRequest{}) {
+ if !db.Migrator().HasTable(&GroupRequest{}) {
fmt.Println("CreateTable GroupRequest")
- db.CreateTable(&GroupRequest{})
+ db.Migrator().CreateTable(&GroupRequest{})
}
- if !db.HasTable(&User{}) {
+ if !db.Migrator().HasTable(&User{}) {
fmt.Println("CreateTable User")
- db.CreateTable(&User{})
+ db.Migrator().CreateTable(&User{})
}
- if !db.HasTable(&Black{}) {
+ if !db.Migrator().HasTable(&Black{}) {
fmt.Println("CreateTable Black")
- db.CreateTable(&Black{})
+ db.Migrator().CreateTable(&Black{})
}
- if !db.HasTable(&ChatLog{}) {
+ if !db.Migrator().HasTable(&ChatLog{}) {
fmt.Println("CreateTable ChatLog")
- db.CreateTable(&ChatLog{})
+ db.Migrator().CreateTable(&ChatLog{})
}
- if !db.HasTable(&Register{}) {
+ if !db.Migrator().HasTable(&Register{}) {
fmt.Println("CreateTable Register")
- db.CreateTable(&Register{})
+ db.Migrator().CreateTable(&Register{})
}
- if !db.HasTable(&Conversation{}) {
+ if !db.Migrator().HasTable(&Conversation{}) {
fmt.Println("CreateTable Conversation")
- db.CreateTable(&Conversation{})
+ db.Migrator().CreateTable(&Conversation{})
}
- if !db.HasTable(&Department{}) {
+ if !db.Migrator().HasTable(&Department{}) {
fmt.Println("CreateTable Department")
- db.CreateTable(&Department{})
+ db.Migrator().CreateTable(&Department{})
}
- if !db.HasTable(&OrganizationUser{}) {
+ if !db.Migrator().HasTable(&OrganizationUser{}) {
fmt.Println("CreateTable OrganizationUser")
- db.CreateTable(&OrganizationUser{})
+ db.Migrator().CreateTable(&OrganizationUser{})
}
- if !db.HasTable(&DepartmentMember{}) {
+ if !db.Migrator().HasTable(&DepartmentMember{}) {
fmt.Println("CreateTable DepartmentMember")
- db.CreateTable(&DepartmentMember{})
+ db.Migrator().CreateTable(&DepartmentMember{})
}
- if !db.HasTable(&AppVersion{}) {
+ if !db.Migrator().HasTable(&AppVersion{}) {
fmt.Println("CreateTable DepartmentMember")
- db.CreateTable(&AppVersion{})
+ db.Migrator().CreateTable(&AppVersion{})
}
+ DB.MysqlDB.db = db
return
}
-func (m *mysqlDB) DefaultGormDB() (*gorm.DB, error) {
- return m.GormDB(config.Config.Mysql.DBAddress[0], config.Config.Mysql.DBDatabaseName)
-}
-
-func (m *mysqlDB) GormDB(dbAddress, dbName string) (*gorm.DB, error) {
- m.Lock()
- defer m.Unlock()
-
- k := key(dbAddress, dbName)
- if _, ok := m.dbMap[k]; !ok {
- if err := m.open(dbAddress, dbName); err != nil {
- return nil, err
- }
- }
- return m.dbMap[k], nil
-}
-
-func (m *mysqlDB) open(dbAddress, dbName string) error {
- dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
- config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, dbAddress, dbName)
- db, err := gorm.Open("mysql", dsn)
- if err != nil {
- return err
- }
-
- db.SingularTable(true)
- db.DB().SetMaxOpenConns(config.Config.Mysql.DBMaxOpenConns)
- db.DB().SetMaxIdleConns(config.Config.Mysql.DBMaxIdleConns)
- db.DB().SetConnMaxLifetime(time.Duration(config.Config.Mysql.DBMaxLifeTime) * time.Second)
-
- if m.dbMap == nil {
- m.dbMap = make(map[string]*gorm.DB)
- }
- k := key(dbAddress, dbName)
- m.dbMap[k] = db
- return nil
+func (m *mysqlDB) DefaultGormDB() *gorm.DB {
+ return DB.MysqlDB.db
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go
index 0af86c57d..5588ba912 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go
@@ -7,99 +7,65 @@ import (
)
func SetConversation(conversation db.Conversation) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
newConversation := conversation
- if dbConn.Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 {
+ if db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 {
log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create")
- return dbConn.Model(&db.Conversation{}).Create(conversation).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error
// if exist, then update record
} else {
log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update")
//force update
- return dbConn.Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID).
- Update(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt, "is_pinned": conversation.IsPinned, "is_private_chat": conversation.IsPrivateChat,
+ return db.DB.MysqlDB.DefaultGormDB().Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID).
+ Updates(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt, "is_pinned": conversation.IsPinned, "is_private_chat": conversation.IsPrivateChat,
"group_at_type": conversation.GroupAtType, "is_not_in_group": conversation.IsNotInGroup}).Error
}
}
func SetOneConversation(conversation db.Conversation) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
- return dbConn.Model(&db.Conversation{}).Create(conversation).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error
}
func PeerUserSetConversation(conversation db.Conversation) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
newConversation := conversation
- if dbConn.Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 {
+ if db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 {
log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create")
- return dbConn.Model(&db.Conversation{}).Create(conversation).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error
// if exist, then update record
}
log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update")
//force update
- return dbConn.Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID).
- Update(map[string]interface{}{"is_private_chat": conversation.IsPrivateChat}).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID).
+ Updates(map[string]interface{}{"is_private_chat": conversation.IsPrivateChat}).Error
}
func SetRecvMsgOpt(conversation db.Conversation) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
newConversation := conversation
- if dbConn.Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 {
+ if db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Find(&newConversation).RowsAffected == 0 {
log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "not exist in db, create")
- return dbConn.Model(&db.Conversation{}).Create(conversation).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Create(conversation).Error
// if exist, then update record
} else {
log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation, "exist in db, update")
//force update
- return dbConn.Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID).
- Update(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt}).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(conversation).Where("owner_user_id = ? and conversation_id = ?", conversation.OwnerUserID, conversation.ConversationID).
+ Updates(map[string]interface{}{"recv_msg_opt": conversation.RecvMsgOpt}).Error
}
}
func GetUserAllConversations(ownerUserID string) ([]db.Conversation, error) {
var conversations []db.Conversation
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return conversations, err
- }
- dbConn.LogMode(false)
- err = dbConn.Model(&db.Conversation{}).Where("owner_user_id=?", ownerUserID).Find(&conversations).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("owner_user_id=?", ownerUserID).Find(&conversations).Error
return conversations, err
}
func GetMultipleUserConversationByConversationID(ownerUserIDList []string, conversationID string) ([]db.Conversation, error) {
var conversations []db.Conversation
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return conversations, err
- }
- dbConn.LogMode(false)
- err = dbConn.Model(&db.Conversation{}).Where("owner_user_id IN ? and conversation_id=?", ownerUserIDList, conversationID).Find(&conversations).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("owner_user_id IN ? and conversation_id=?", ownerUserIDList, conversationID).Find(&conversations).Error
return conversations, err
}
func GetExistConversationUserIDList(ownerUserIDList []string, conversationID string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var resultArr []string
- err = dbConn.Table("conversations").Where(" owner_user_id IN (?) and conversation_id=?", ownerUserIDList, conversationID).Pluck("owner_user_id", &resultArr).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("conversations").Where(" owner_user_id IN (?) and conversation_id=?", ownerUserIDList, conversationID).Pluck("owner_user_id", &resultArr).Error
if err != nil {
return nil, err
}
@@ -108,38 +74,21 @@ func GetExistConversationUserIDList(ownerUserIDList []string, conversationID str
func GetConversation(OwnerUserID, conversationID string) (db.Conversation, error) {
var conversation db.Conversation
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return conversation, err
- }
- err = dbConn.Table("conversations").Where("owner_user_id=? and conversation_id=?", OwnerUserID, conversationID).Take(&conversation).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("conversations").Where("owner_user_id=? and conversation_id=?", OwnerUserID, conversationID).Take(&conversation).Error
return conversation, err
}
func GetConversations(OwnerUserID string, conversationIDs []string) ([]db.Conversation, error) {
var conversations []db.Conversation
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return conversations, err
- }
- err = dbConn.Model(&db.Conversation{}).Where("conversation_id IN (?) and owner_user_id=?", conversationIDs, OwnerUserID).Find(&conversations).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("conversation_id IN (?) and owner_user_id=?", conversationIDs, OwnerUserID).Find(&conversations).Error
return conversations, err
}
func GetConversationsByConversationIDMultipleOwner(OwnerUserIDList []string, conversationID string) ([]db.Conversation, error) {
var conversations []db.Conversation
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return conversations, err
- }
- err = dbConn.Model(&db.Conversation{}).Where("owner_user_id IN (?) and conversation_id=?", OwnerUserIDList, conversationID).Find(&conversations).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("owner_user_id IN (?) and conversation_id=?", OwnerUserIDList, conversationID).Find(&conversations).Error
return conversations, err
}
func UpdateColumnsConversations(ownerUserIDList []string, conversationID string, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
- return dbConn.Debug().Model(&db.Conversation{}).Where("owner_user_id IN (?) and conversation_id=?", ownerUserIDList, conversationID).Updates(args).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("owner_user_id IN (?) and conversation_id=?", ownerUserIDList, conversationID).Updates(args).Error
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go
index fcfc2705f..8668026d7 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go
@@ -2,16 +2,12 @@ package im_mysql_model
import (
"Open_IM/pkg/common/db"
- _ "github.com/jinzhu/gorm"
+ _ "gorm.io/gorm"
)
func GetRegister(account, areaCode, userID string) (*db.Register, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var r db.Register
- return &r, dbConn.Table("registers").Where("user_id = ? and user_id != ? or account = ? or account =? and area_code=?",
+ return &r, db.DB.MysqlDB.DefaultGormDB().Table("registers").Where("user_id = ? and user_id != ? or account = ? or account =? and area_code=?",
userID, "", account, account, areaCode).Take(&r).Error
}
@@ -23,21 +19,12 @@ func SetPassword(account, password, ex, userID, areaCode string) error {
UserID: userID,
AreaCode: areaCode,
}
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- return dbConn.Table("registers").Create(&r).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("registers").Create(&r).Error
}
func ResetPassword(account, password string) error {
r := db.Register{
Password: password,
}
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- dbConn.LogMode(false)
- if err != nil {
- return err
- }
- return dbConn.Table("registers").Where("account = ?", account).Update(&r).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("registers").Where("account = ?", account).Updates(&r).Error
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/file_model.go b/pkg/common/db/mysql_model/im_mysql_model/file_model.go
index c8ab188aa..959bb6cf1 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/file_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/file_model.go
@@ -6,10 +6,6 @@ import (
)
func UpdateAppVersion(appType int, version string, forceUpdate bool, fileName, yamlName, updateLog string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
updateTime := int(time.Now().Unix())
app := db.AppVersion{
Version: version,
@@ -20,24 +16,19 @@ func UpdateAppVersion(appType int, version string, forceUpdate bool, fileName, y
ForceUpdate: forceUpdate,
UpdateLog: updateLog,
}
- result := dbConn.Model(db.AppVersion{}).Where("type = ?", appType).Update(map[string]interface{}{"force_update": forceUpdate,
+ result := db.DB.MysqlDB.DefaultGormDB().Model(db.AppVersion{}).Where("type = ?", appType).Updates(map[string]interface{}{"force_update": forceUpdate,
"version": version, "update_time": int(time.Now().Unix()), "file_name": fileName, "yaml_name": yamlName, "type": appType, "update_log": updateLog})
if result.Error != nil {
return result.Error
}
if result.RowsAffected == 0 {
- err := dbConn.Create(&app).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Create(&app).Error
return err
}
return nil
}
func GetNewestVersion(appType int) (*db.AppVersion, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
app := db.AppVersion{}
- if err != nil {
- return &app, err
- }
- dbConn.LogMode(true)
- return &app, dbConn.Model(db.AppVersion{}).First(&app, appType).Error
+ return &app, db.DB.MysqlDB.DefaultGormDB().Model(db.AppVersion{}).First(&app, appType).Error
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go
index 600da2f79..33e22771d 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go
@@ -7,13 +7,8 @@ import (
)
func InsertToFriend(toInsertFollow *db.Friend) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
toInsertFollow.CreateTime = time.Now()
-
- err = dbConn.Table("friends").Create(toInsertFollow).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friends").Create(toInsertFollow).Error
if err != nil {
return err
}
@@ -21,12 +16,8 @@ func InsertToFriend(toInsertFollow *db.Friend) error {
}
func GetFriendRelationshipFromFriend(OwnerUserID, FriendUserID string) (*db.Friend, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var friend db.Friend
- err = dbConn.Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Take(&friend).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Take(&friend).Error
if err != nil {
return nil, err
}
@@ -34,15 +25,10 @@ func GetFriendRelationshipFromFriend(OwnerUserID, FriendUserID string) (*db.Frie
}
func GetFriendListByUserID(OwnerUserID string) ([]db.Friend, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var friends []db.Friend
var x db.Friend
x.OwnerUserID = OwnerUserID
- err = dbConn.Table("friends").Where("owner_user_id=?", OwnerUserID).Find(&friends).Error
-
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friends").Where("owner_user_id=?", OwnerUserID).Find(&friends).Error
if err != nil {
return nil, err
}
@@ -50,12 +36,8 @@ func GetFriendListByUserID(OwnerUserID string) ([]db.Friend, error) {
}
func GetFriendIDListByUserID(OwnerUserID string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var friendIDList []string
- err = dbConn.Table("friends").Where("owner_user_id=?", OwnerUserID).Pluck("friend_user_id", &friendIDList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friends").Where("owner_user_id=?", OwnerUserID).Pluck("friend_user_id", &friendIDList).Error
if err != nil {
return nil, err
}
@@ -63,29 +45,9 @@ func GetFriendIDListByUserID(OwnerUserID string) ([]string, error) {
}
func UpdateFriendComment(OwnerUserID, FriendUserID, Remark string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Exec("update friends set remark=? where owner_user_id=? and friend_user_id=?", Remark, OwnerUserID, FriendUserID).Error
- return err
+ return db.DB.MysqlDB.DefaultGormDB().Exec("update friends set remark=? where owner_user_id=? and friend_user_id=?", Remark, OwnerUserID, FriendUserID).Error
}
func DeleteSingleFriendInfo(OwnerUserID, FriendUserID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Delete(db.Friend{}).Error
- return err
+ return db.DB.MysqlDB.DefaultGormDB().Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Delete(db.Friend{}).Error
}
-
-//type Friend struct {
-// OwnerUserID string `gorm:"column:owner_user_id;primaryKey;"`
-// FriendUserID string `gorm:"column:friend_user_id;primaryKey;"`
-// Remark string `gorm:"column:remark"`
-// CreateTime time.Time `gorm:"column:create_time"`
-// AddSource int32 `gorm:"column:add_source"`
-// OperatorUserID string `gorm:"column:operator_user_id"`
-// Ex string `gorm:"column:ex"`
-//}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go
index 171a6aedf..633f605e1 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/friend_request_model.go
@@ -20,12 +20,8 @@ import (
// who apply to add me
func GetReceivedFriendsApplicationListByUserID(ToUserID string) ([]db.FriendRequest, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var usersInfo []db.FriendRequest
- err = dbConn.Table("friend_requests").Where("to_user_id=?", ToUserID).Find(&usersInfo).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friend_requests").Where("to_user_id=?", ToUserID).Find(&usersInfo).Error
if err != nil {
return nil, err
}
@@ -34,12 +30,8 @@ func GetReceivedFriendsApplicationListByUserID(ToUserID string) ([]db.FriendRequ
//I apply to add somebody
func GetSendFriendApplicationListByUserID(FromUserID string) ([]db.FriendRequest, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var usersInfo []db.FriendRequest
- err = dbConn.Table("friend_requests").Where("from_user_id=?", FromUserID).Find(&usersInfo).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friend_requests").Where("from_user_id=?", FromUserID).Find(&usersInfo).Error
if err != nil {
return nil, err
}
@@ -48,12 +40,8 @@ func GetSendFriendApplicationListByUserID(FromUserID string) ([]db.FriendRequest
//FromUserId apply to add ToUserID
func GetFriendApplicationByBothUserID(FromUserID, ToUserID string) (*db.FriendRequest, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var friendRequest db.FriendRequest
- err = dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?", FromUserID, ToUserID).Take(&friendRequest).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friend_requests").Where("from_user_id=? and to_user_id=?", FromUserID, ToUserID).Take(&friendRequest).Error
if err != nil {
return nil, err
}
@@ -61,23 +49,13 @@ func GetFriendApplicationByBothUserID(FromUserID, ToUserID string) (*db.FriendRe
}
func UpdateFriendApplication(friendRequest *db.FriendRequest) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
friendRequest.CreateTime = time.Now()
-
- return dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?",
- friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("friend_requests").Where("from_user_id=? and to_user_id=?",
+ friendRequest.FromUserID, friendRequest.ToUserID).Updates(&friendRequest).Error
}
func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
-
- if err = dbConn.Table("friend_requests").Create(friendRequest).Error; err == nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("friend_requests").Create(friendRequest).Error; err == nil {
return nil
}
@@ -89,7 +67,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]in
friendRequest.CreateTime = time.Now()
args["create_time"] = friendRequest.CreateTime
- u := dbConn.Model(friendRequest).Updates(args)
+ u := db.DB.MysqlDB.DefaultGormDB().Model(friendRequest).Updates(args)
//u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?",
// friendRequest.FromUserID, friendRequest.ToUserID).Update(&friendRequest)
//u := dbConn.Table("friend_requests").Where("from_user_id=? and to_user_id=?",
@@ -104,7 +82,7 @@ func InsertFriendApplication(friendRequest *db.FriendRequest, args map[string]in
if friendRequest.HandleTime.Unix() < 0 {
friendRequest.HandleTime = utils.UnixSecondToTime(0)
}
- err = dbConn.Table("friend_requests").Create(friendRequest).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("friend_requests").Create(friendRequest).Error
if err != nil {
return err
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go
index 83a59e6d9..0a4780011 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/group_member_model.go
@@ -22,16 +22,12 @@ import (
//}
func InsertIntoGroupMember(toInsertInfo db.GroupMember) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
toInsertInfo.JoinTime = time.Now()
if toInsertInfo.RoleLevel == 0 {
toInsertInfo.RoleLevel = constant.GroupOrdinaryUsers
}
toInsertInfo.MuteEndTime = time.Unix(int64(time.Now().Second()), 0)
- err = dbConn.Table("group_members").Create(toInsertInfo).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Create(toInsertInfo).Error
if err != nil {
return err
}
@@ -39,12 +35,8 @@ func InsertIntoGroupMember(toInsertInfo db.GroupMember) error {
}
func GetGroupMemberListByUserID(userID string) ([]db.GroupMember, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupMemberList []db.GroupMember
- err = dbConn.Table("group_members").Where("user_id=?", userID).Find(&groupMemberList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("user_id=?", userID).Find(&groupMemberList).Error
//err = dbConn.Table("group_members").Where("user_id=?", userID).Take(&groupMemberList).Error
if err != nil {
return nil, err
@@ -53,13 +45,8 @@ func GetGroupMemberListByUserID(userID string) ([]db.GroupMember, error) {
}
func GetGroupMemberListByGroupID(groupID string) ([]db.GroupMember, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupMemberList []db.GroupMember
- err = dbConn.Table("group_members").Where("group_id=?", groupID).Find(&groupMemberList).Error
-
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupID).Find(&groupMemberList).Error
if err != nil {
return nil, err
}
@@ -67,13 +54,8 @@ func GetGroupMemberListByGroupID(groupID string) ([]db.GroupMember, error) {
}
func GetGroupMemberIDListByGroupID(groupID string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
- dbConn.LogMode(false)
var groupMemberIDList []string
- err = dbConn.Table("group_members").Where("group_id=?", groupID).Pluck("user_id", &groupMemberIDList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupID).Pluck("user_id", &groupMemberIDList).Error
if err != nil {
return nil, err
}
@@ -81,12 +63,8 @@ func GetGroupMemberIDListByGroupID(groupID string) ([]string, error) {
}
func GetGroupMemberListByGroupIDAndRoleLevel(groupID string, roleLevel int32) ([]db.GroupMember, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupMemberList []db.GroupMember
- err = dbConn.Table("group_members").Where("group_id=? and role_level=?", groupID, roleLevel).Find(&groupMemberList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and role_level=?", groupID, roleLevel).Find(&groupMemberList).Error
if err != nil {
return nil, err
}
@@ -94,12 +72,8 @@ func GetGroupMemberListByGroupIDAndRoleLevel(groupID string, roleLevel int32) ([
}
func GetGroupMemberInfoByGroupIDAndUserID(groupID, userID string) (*db.GroupMember, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupMember db.GroupMember
- err = dbConn.Table("group_members").Where("group_id=? and user_id=? ", groupID, userID).Limit(1).Take(&groupMember).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and user_id=? ", groupID, userID).Limit(1).Take(&groupMember).Error
if err != nil {
return nil, err
}
@@ -107,73 +81,33 @@ func GetGroupMemberInfoByGroupIDAndUserID(groupID, userID string) (*db.GroupMemb
}
func DeleteGroupMemberByGroupIDAndUserID(groupID, userID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("group_members").Where("group_id=? and user_id=? ", groupID, userID).Delete(db.GroupMember{}).Error
- if err != nil {
- return err
- }
- return nil
+ return db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and user_id=? ", groupID, userID).Delete(db.GroupMember{}).Error
}
func DeleteGroupMemberByGroupID(groupID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("group_members").Where("group_id=? ", groupID).Delete(db.GroupMember{}).Error
- if err != nil {
- return err
- }
- return nil
+ return db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? ", groupID).Delete(db.GroupMember{}).Error
}
func UpdateGroupMemberInfo(groupMemberInfo db.GroupMember) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("group_members").Where("group_id=? and user_id=?", groupMemberInfo.GroupID, groupMemberInfo.UserID).Update(&groupMemberInfo).Error
- if err != nil {
- return err
- }
- return nil
+ return db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and user_id=?", groupMemberInfo.GroupID, groupMemberInfo.UserID).Updates(&groupMemberInfo).Error
}
func UpdateGroupMemberInfoByMap(groupMemberInfo db.GroupMember, m map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("group_members").Where("group_id=? and user_id=?", groupMemberInfo.GroupID, groupMemberInfo.UserID).Updates(m).Error
- if err != nil {
- return err
- }
- return nil
+ return db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and user_id=?", groupMemberInfo.GroupID, groupMemberInfo.UserID).Updates(m).Error
}
func GetOwnerManagerByGroupID(groupID string) ([]db.GroupMember, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupMemberList []db.GroupMember
- err = dbConn.Table("group_members").Where("group_id=? and role_level>?", groupID, constant.GroupOrdinaryUsers).Find(&groupMemberList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and role_level>?", groupID, constant.GroupOrdinaryUsers).Find(&groupMemberList).Error
if err != nil {
return nil, err
}
return groupMemberList, nil
}
-func GetGroupMemberNumByGroupID(groupID string) (uint32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, utils.Wrap(err, "DefaultGormDB failed")
- }
- var number uint32
- err = dbConn.Table("group_members").Where("group_id=?", groupID).Count(&number).Error
+func GetGroupMemberNumByGroupID(groupID string) (int64, error) {
+ var number int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupID).Count(&number).Error
if err != nil {
return 0, utils.Wrap(err, "")
}
@@ -195,12 +129,8 @@ func GetGroupOwnerInfoByGroupID(groupID string) (*db.GroupMember, error) {
}
func IsExistGroupMember(groupID, userID string) bool {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return false
- }
- var number int32
- err = dbConn.Table("group_members").Where("group_id = ? and user_id = ?", groupID, userID).Count(&number).Error
+ var number int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id = ? and user_id = ?", groupID, userID).Count(&number).Error
if err != nil {
return false
}
@@ -248,7 +178,7 @@ func GetJoinedGroupIDListByUserID(userID string) ([]string, error) {
if err != nil {
return nil, err
}
- var groupIDList []string = make([]string, len(memberList))
+ var groupIDList []string
for _, v := range memberList {
groupIDList = append(groupIDList, v.GroupID)
}
@@ -270,36 +200,23 @@ func IsGroupOwnerAdmin(groupID, UserID string) bool {
func GetGroupMembersByGroupIdCMS(groupId string, userName string, showNumber, pageNumber int32) ([]db.GroupMember, error) {
var groupMembers []db.GroupMember
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return groupMembers, err
- }
- err = dbConn.Table("group_members").Where("group_id=?", groupId).Where(fmt.Sprintf(" nickname like '%%%s%%' ", userName)).Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groupMembers).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupId).Where(fmt.Sprintf(" nickname like '%%%s%%' ", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groupMembers).Error
if err != nil {
return nil, err
}
return groupMembers, nil
}
-func GetGroupMembersCount(groupId, userName string) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- var count int32
- if err != nil {
- return count, err
- }
- dbConn.LogMode(false)
- if err := dbConn.Table("group_members").Where("group_id=?", groupId).Where(fmt.Sprintf(" nickname like '%%%s%%' ", userName)).Count(&count).Error; err != nil {
+func GetGroupMembersCount(groupId, userName string) (int64, error) {
+ var count int64
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupId).Where(fmt.Sprintf(" nickname like '%%%s%%' ", userName)).Count(&count).Error; err != nil {
return count, err
}
return count, nil
}
func UpdateGroupMemberInfoDefaultZero(groupMemberInfo db.GroupMember, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- return dbConn.Model(groupMemberInfo).Updates(args).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(groupMemberInfo).Updates(args).Error
}
//
diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go
index 343d55e87..19c2b1164 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go
@@ -6,7 +6,7 @@ import (
"Open_IM/pkg/utils"
"errors"
"fmt"
- "github.com/jinzhu/gorm"
+ "gorm.io/gorm"
"time"
)
@@ -24,16 +24,15 @@ import (
//}
func InsertIntoGroup(groupInfo db.Group) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
if groupInfo.GroupName == "" {
groupInfo.GroupName = "Group Chat"
}
groupInfo.CreateTime = time.Now()
- err = dbConn.Table("groups").Create(groupInfo).Error
+ if groupInfo.NotificationUpdateTime.Unix() < 0 {
+ groupInfo.NotificationUpdateTime = utils.UnixSecondToTime(0)
+ }
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Create(groupInfo).Error
if err != nil {
return err
}
@@ -42,12 +41,8 @@ func InsertIntoGroup(groupInfo db.Group) error {
}
func GetGroupInfoByGroupID(groupId string) (*db.Group, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, utils.Wrap(err, "")
- }
var groupInfo db.Group
- err = dbConn.Table("groups").Where("group_id=?", groupId).Take(&groupInfo).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupId).Take(&groupInfo).Error
if err != nil {
return nil, err
}
@@ -55,33 +50,18 @@ func GetGroupInfoByGroupID(groupId string) (*db.Group, error) {
}
func SetGroupInfo(groupInfo db.Group) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("groups").Where("group_id=?", groupInfo.GroupID).Update(&groupInfo).Error
- return err
+ return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupInfo.GroupID).Updates(&groupInfo).Error
}
func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]db.Group, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var groups []db.Group
- if err != nil {
- return groups, err
- }
-
- err = dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error
return groups, err
}
func GetGroups(pageNumber, showNumber int) ([]db.Group, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var groups []db.Group
- if err != nil {
- return groups, err
- }
-
- if err = dbConn.Table("groups").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil {
return groups, err
}
return groups, nil
@@ -99,27 +79,18 @@ func OperateGroupStatus(groupId string, groupStatus int32) error {
}
func DeleteGroup(groupId string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
-
var group db.Group
var groupMembers []db.GroupMember
- if err := dbConn.Table("groups").Where("group_id=?", groupId).Delete(&group).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupId).Delete(&group).Error; err != nil {
return err
}
- if err := dbConn.Table("group_members").Where("group_id=?", groupId).Delete(groupMembers).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=?", groupId).Delete(groupMembers).Error; err != nil {
return err
}
return nil
}
func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return "", "", err
- }
groupMember := db.GroupMember{
UserID: userId,
GroupID: groupId,
@@ -128,10 +99,11 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string,
RoleLevel: roleLevel,
}
groupMaster := db.GroupMember{}
+ var err error
switch roleLevel {
case constant.GroupOwner:
- err = dbConn.Transaction(func(tx *gorm.DB) error {
- result := dbConn.Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster).Update(&db.GroupMember{
+ err = db.DB.MysqlDB.DefaultGormDB().Transaction(func(tx *gorm.DB) error {
+ result := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster).Updates(&db.GroupMember{
RoleLevel: constant.GroupOrdinaryUsers,
})
if result.Error != nil {
@@ -141,7 +113,7 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string,
return errors.New(fmt.Sprintf("user %s not exist in group %s or already operate", userId, groupId))
}
- result = dbConn.Table("group_members").First(&groupMember).Update(updateInfo)
+ result = db.DB.MysqlDB.DefaultGormDB().Table("group_members").First(&groupMember).Updates(updateInfo)
if result.Error != nil {
return result.Error
}
@@ -152,8 +124,8 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string,
})
case constant.GroupOrdinaryUsers:
- err = dbConn.Transaction(func(tx *gorm.DB) error {
- result := dbConn.Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster)
+ err = db.DB.MysqlDB.DefaultGormDB().Transaction(func(tx *gorm.DB) error {
+ result := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster)
if result.Error != nil {
return result.Error
}
@@ -163,7 +135,7 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string,
if groupMaster.UserID == userId {
return errors.New(fmt.Sprintf("user %s is master of %s, cant set to ordinary user", userId, groupId))
} else {
- result = dbConn.Table("group_members").Find(&groupMember).Update(updateInfo)
+ result = db.DB.MysqlDB.DefaultGormDB().Table("group_members").Find(&groupMember).Updates(updateInfo)
if result.Error != nil {
return result.Error
}
@@ -174,64 +146,41 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string,
return nil
})
}
- return "", "", nil
+ return "", "", err
}
func GetGroupsCountNum(group db.Group) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
+ var count int64
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil {
return 0, err
}
-
- var count int32
- if err := dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil {
- return 0, err
- }
- return count, nil
+ return int32(count), nil
}
func GetGroupById(groupId string) (db.Group, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
group := db.Group{
GroupID: groupId,
}
- if err != nil {
- return group, err
- }
-
- if err := dbConn.Table("groups").Find(&group).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Find(&group).Error; err != nil {
return group, err
}
return group, nil
}
func GetGroupMaster(groupId string) (db.GroupMember, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
groupMember := db.GroupMember{}
- if err != nil {
- return groupMember, err
- }
-
- if err := dbConn.Table("group_members").Where("role_level=? and group_id=?", constant.GroupOwner, groupId).Find(&groupMember).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("role_level=? and group_id=?", constant.GroupOwner, groupId).Find(&groupMember).Error; err != nil {
return groupMember, err
}
return groupMember, nil
}
func UpdateGroupInfoDefaultZero(groupID string, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- return dbConn.Table("groups").Where("group_id = ? ", groupID).Update(args).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id = ? ", groupID).Updates(args).Error
}
func GetAllGroupIDList() ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupIDList []string
- err = dbConn.Table("groups").Pluck("group_id", &groupIDList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Pluck("group_id", &groupIDList).Error
return groupIDList, err
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go
index 5e27cc3d2..a9dd6d98e 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/group_request_model.go
@@ -20,27 +20,18 @@ import (
//}
func UpdateGroupRequest(groupRequest db.GroupRequest) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
if groupRequest.HandledTime.Unix() < 0 {
groupRequest.HandledTime = utils.UnixSecondToTime(0)
}
- return dbConn.Table("group_requests").Where("group_id=? and user_id=?", groupRequest.GroupID, groupRequest.UserID).Update(&groupRequest).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Where("group_id=? and user_id=?", groupRequest.GroupID, groupRequest.UserID).Updates(&groupRequest).Error
}
func InsertIntoGroupRequest(toInsertInfo db.GroupRequest) error {
DelGroupRequestByGroupIDAndUserID(toInsertInfo.GroupID, toInsertInfo.UserID)
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
-
if toInsertInfo.HandledTime.Unix() < 0 {
toInsertInfo.HandledTime = utils.UnixSecondToTime(0)
}
- u := dbConn.Table("group_requests").Where("group_id=? and user_id=?", toInsertInfo.GroupID, toInsertInfo.UserID).Update(&toInsertInfo)
+ u := db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Where("group_id=? and user_id=?", toInsertInfo.GroupID, toInsertInfo.UserID).Updates(&toInsertInfo)
if u.RowsAffected != 0 {
return nil
}
@@ -50,7 +41,7 @@ func InsertIntoGroupRequest(toInsertInfo db.GroupRequest) error {
toInsertInfo.HandledTime = utils.UnixSecondToTime(0)
}
- err = dbConn.Table("group_requests").Create(&toInsertInfo).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Create(&toInsertInfo).Error
if err != nil {
return err
}
@@ -58,12 +49,8 @@ func InsertIntoGroupRequest(toInsertInfo db.GroupRequest) error {
}
func GetGroupRequestByGroupIDAndUserID(groupID, userID string) (*db.GroupRequest, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupRequest db.GroupRequest
- err = dbConn.Table("group_requests").Where("user_id=? and group_id=?", userID, groupID).Take(&groupRequest).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Where("user_id=? and group_id=?", userID, groupID).Take(&groupRequest).Error
if err != nil {
return nil, err
}
@@ -71,24 +58,12 @@ func GetGroupRequestByGroupIDAndUserID(groupID, userID string) (*db.GroupRequest
}
func DelGroupRequestByGroupIDAndUserID(groupID, userID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("group_requests").Where("group_id=? and user_id=?", groupID, userID).Delete(db.GroupRequest{}).Error
- if err != nil {
- return err
- }
- return nil
+ return db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Where("group_id=? and user_id=?", groupID, userID).Delete(db.GroupRequest{}).Error
}
func GetGroupRequestByGroupID(groupID string) ([]db.GroupRequest, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var groupRequestList []db.GroupRequest
- err = dbConn.Table("group_requests").Where("group_id=?", groupID).Find(&groupRequestList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Where("group_id=?", groupID).Find(&groupRequestList).Error
if err != nil {
return nil, err
}
@@ -119,12 +94,7 @@ func GetGroupApplicationList(userID string) ([]db.GroupRequest, error) {
func GetUserReqGroupByUserID(userID string) ([]db.GroupRequest, error) {
var groupRequestList []db.GroupRequest
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("group_requests").Where("user_id=?", userID).Find(&groupRequestList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("group_requests").Where("user_id=?", userID).Find(&groupRequestList).Error
return groupRequestList, err
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go
index 29fb650cf..1279aad80 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go
@@ -8,15 +8,10 @@ import (
)
func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var chatLogs []db.ChatLog
- if err != nil {
- return chatLogs, err
- }
- dbConn.LogMode(false)
- db := dbConn.Table("chat_logs").
+ db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").
Where(fmt.Sprintf(" content like '%%%s%%'", chatLog.Content)).
- Limit(showNumber).Offset(showNumber * (pageNumber - 1))
+ Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1)))
if chatLog.SessionType != 0 {
db = db.Where("session_type = ?", chatLog.SessionType)
}
@@ -32,19 +27,14 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog,
if chatLog.SendTime.Unix() > 0 {
db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1))
}
- err = db.Find(&chatLogs).Error
+ err := db.Find(&chatLogs).Error
return chatLogs, err
}
func GetChatLogCount(chatLog db.ChatLog) (int64, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var chatLogs []db.ChatLog
var count int64
- if err != nil {
- return count, err
- }
- dbConn.LogMode(false)
- db := dbConn.Table("chat_logs").
+ db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").
Where(fmt.Sprintf(" content like '%%%s%%'", chatLog.Content))
if chatLog.SessionType != 0 {
db = db.Where("session_type = ?", chatLog.SessionType)
@@ -63,6 +53,6 @@ func GetChatLogCount(chatLog db.ChatLog) (int64, error) {
db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1))
}
- err = db.Find(&chatLogs).Count(&count).Error
+ err := db.Find(&chatLogs).Count(&count).Error
return count, err
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/organization_model.go b/pkg/common/db/mysql_model/im_mysql_model/organization_model.go
index 6ac231032..221bb4831 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/organization_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/organization_model.go
@@ -3,175 +3,116 @@ package im_mysql_model
import (
"Open_IM/pkg/common/db"
"Open_IM/pkg/utils"
- "github.com/jinzhu/gorm"
+ "gorm.io/gorm"
"time"
)
func CreateDepartment(department *db.Department) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
department.CreateTime = time.Now()
- return dbConn.Table("departments").Create(department).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("departments").Create(department).Error
}
func GetDepartment(departmentID string) (*db.Department, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var department db.Department
- err = dbConn.Table("departments").Where("department_id=?", departmentID).Find(&department).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("department_id=?", departmentID).Find(&department).Error
return &department, err
}
func UpdateDepartment(department *db.Department, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- if err = dbConn.Table("departments").Where("department_id=?", department.DepartmentID).Updates(department).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("department_id=?", department.DepartmentID).Updates(department).Error; err != nil {
return err
}
if args != nil {
- return dbConn.Table("departments").Where("department_id=?", department.DepartmentID).Updates(args).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("department_id=?", department.DepartmentID).Updates(args).Error
}
return nil
}
-func GetSubDepartmentList(departmentID string) (error, []db.Department) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err, nil
- }
+func GetSubDepartmentList(departmentID string) ([]db.Department, error) {
var departmentList []db.Department
+ var err error
if departmentID == "-1" {
- err = dbConn.Table("departments").Find(&departmentList).Error
+ err = db.DB.MysqlDB.DefaultGormDB().Table("departments").Find(&departmentList).Error
} else {
- err = dbConn.Table("departments").Where("parent_id=?", departmentID).Find(&departmentList).Error
+ err = db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("parent_id=?", departmentID).Find(&departmentList).Error
}
- return err, departmentList
+ return departmentList, err
}
func DeleteDepartment(departmentID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
+ var err error
+ if err = db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("department_id=?", departmentID).Delete(db.Department{}).Error; err != nil {
return err
}
- if err = dbConn.Table("departments").Where("department_id=?", departmentID).Delete(db.Department{}).Error; err != nil {
- return err
- }
- if err = dbConn.Table("department_members").Where("department_id=?", departmentID).Delete(db.DepartmentMember{}).Error; err != nil {
+ if err = db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=?", departmentID).Delete(db.DepartmentMember{}).Error; err != nil {
return err
}
return nil
}
func CreateOrganizationUser(organizationUser *db.OrganizationUser) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
organizationUser.CreateTime = time.Now()
-
- return dbConn.Table("organization_users").Create(organizationUser).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("organization_users").Create(organizationUser).Error
}
func GetOrganizationUser(userID string) (error, *db.OrganizationUser) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err, nil
- }
organizationUser := db.OrganizationUser{}
- err = dbConn.Table("organization_users").Where("user_id=?", userID).Take(&organizationUser).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("organization_users").Where("user_id=?", userID).Take(&organizationUser).Error
return err, &organizationUser
}
func UpdateOrganizationUser(organizationUser *db.OrganizationUser, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- if err = dbConn.Table("organization_users").Where("user_id=?", organizationUser.UserID).Updates(organizationUser).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("organization_users").Where("user_id=?", organizationUser.UserID).Updates(organizationUser).Error; err != nil {
return err
}
if args != nil {
- return dbConn.Table("organization_users").Where("user_id=?", organizationUser.UserID).Updates(args).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("organization_users").Where("user_id=?", organizationUser.UserID).Updates(args).Error
}
return nil
}
func CreateDepartmentMember(departmentMember *db.DepartmentMember) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
departmentMember.CreateTime = time.Now()
- return dbConn.Table("department_members").Create(departmentMember).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("department_members").Create(departmentMember).Error
}
func GetUserInDepartment(userID string) (error, []db.DepartmentMember) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err, nil
- }
var departmentMemberList []db.DepartmentMember
- err = dbConn.Table("department_members").Where("user_id=?", userID).Find(&departmentMemberList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("user_id=?", userID).Find(&departmentMemberList).Error
return err, departmentMemberList
}
func UpdateUserInDepartment(departmentMember *db.DepartmentMember, args map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- if err = dbConn.Table("department_members").Where("department_id=? AND user_id=?", departmentMember.DepartmentID, departmentMember.UserID).
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=? AND user_id=?", departmentMember.DepartmentID, departmentMember.UserID).
Updates(departmentMember).Error; err != nil {
return err
}
if args != nil {
- return dbConn.Table("department_members").Where("department_id=? AND user_id=?", departmentMember.DepartmentID, departmentMember.UserID).
+ return db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=? AND user_id=?", departmentMember.DepartmentID, departmentMember.UserID).
Updates(args).Error
}
return nil
}
func DeleteUserInDepartment(departmentID, userID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- return dbConn.Table("department_members").Where("department_id=? AND user_id=?", departmentID, userID).Delete(db.DepartmentMember{}).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=? AND user_id=?", departmentID, userID).Delete(db.DepartmentMember{}).Error
}
func DeleteUserInAllDepartment(userID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- return dbConn.Table("department_members").Where("user_id=?", userID).Delete(db.DepartmentMember{}).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("user_id=?", userID).Delete(db.DepartmentMember{}).Error
}
func DeleteOrganizationUser(OrganizationUserID string) error {
if err := DeleteUserInAllDepartment(OrganizationUserID); err != nil {
return err
}
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- return dbConn.Table("organization_users").Where("user_id=?", OrganizationUserID).Delete(db.OrganizationUser{}).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("organization_users").Where("user_id=?", OrganizationUserID).Delete(db.OrganizationUser{}).Error
}
func GetDepartmentMemberUserIDList(departmentID string) (error, []string) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err, nil
- }
var departmentMemberList []db.DepartmentMember
- err = dbConn.Table("department_members").Where("department_id=?", departmentID).Take(&departmentMemberList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=?", departmentID).Take(&departmentMemberList).Error
if err != nil {
return err, nil
}
@@ -182,77 +123,54 @@ func GetDepartmentMemberUserIDList(departmentID string) (error, []string) {
return err, userIDList
}
-func GetDepartmentMemberList(departmentID string) (error, []db.DepartmentMember) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err, nil
- }
+func GetDepartmentMemberList(departmentID string) ([]db.DepartmentMember, error) {
var departmentMemberList []db.DepartmentMember
+ var err error
if departmentID == "-1" {
- err = dbConn.Table("department_members").Find(&departmentMemberList).Error
+ err = db.DB.MysqlDB.DefaultGormDB().Table("department_members").Find(&departmentMemberList).Error
} else {
- err = dbConn.Table("department_members").Where("department_id=?", departmentID).Find(&departmentMemberList).Error
+ err = db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=?", departmentID).Find(&departmentMemberList).Error
}
if err != nil {
- return err, nil
+ return nil, err
}
- return err, departmentMemberList
+ return departmentMemberList, err
}
func GetAllOrganizationUserID() (error, []string) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err, nil
- }
var OrganizationUser db.OrganizationUser
var result []string
- return dbConn.Model(&OrganizationUser).Pluck("user_id", &result).Error, result
+ return db.DB.MysqlDB.DefaultGormDB().Model(&OrganizationUser).Pluck("user_id", &result).Error, result
}
func GetDepartmentMemberNum(departmentID string) (error, uint32) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return utils.Wrap(err, "DefaultGormDB failed"), 0
- }
- var number uint32
- err = dbConn.Table("department_members").Where("department_id=?", departmentID).Count(&number).Error
+ var number int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("department_members").Where("department_id=?", departmentID).Count(&number).Error
if err != nil {
return utils.Wrap(err, ""), 0
}
- return nil, number
+ return nil, uint32(number)
}
func GetSubDepartmentNum(departmentID string) (error, uint32) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return utils.Wrap(err, "DefaultGormDB failed"), 0
- }
- var number uint32
- err = dbConn.Table("departments").Where("parent_id=?", departmentID).Count(&number).Error
+ var number int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("parent_id=?", departmentID).Count(&number).Error
if err != nil {
return utils.Wrap(err, ""), 0
}
- return nil, number
+ return nil, uint32(number)
}
func SetDepartmentRelatedGroupID(groupID, departmentID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return utils.Wrap(err, "DefaultGormDB failed")
- }
department := &db.Department{RelatedGroupID: groupID}
- return dbConn.Model(&department).Where("department_id=?", departmentID).Update(department).Error
+ return db.DB.MysqlDB.DefaultGormDB().Model(&department).Where("department_id=?", departmentID).Updates(department).Error
}
func GetDepartmentRelatedGroupIDList(departmentIDList []string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, utils.Wrap(err, "DefaultGormDB failed")
- }
var groupIDList []string
- err = dbConn.Table("departments").Where("department_id IN (?) ", departmentIDList).Pluck("related_group_id", &groupIDList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("departments").Where("department_id IN (?) ", departmentIDList).Pluck("related_group_id", &groupIDList).Error
return groupIDList, err
}
@@ -260,8 +178,7 @@ func getDepartmentParent(departmentID string, dbConn *gorm.DB) (*db.Department,
var department db.Department
var parentDepartment db.Department
//var parentID string
- dbConn.LogMode(true)
- err := dbConn.Model(&department).Where("department_id=?", departmentID).Select("parent_id").First(&department).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Model(&department).Where("department_id=?", departmentID).Select("parent_id").First(&department).Error
if err != nil {
return nil, utils.Wrap(err, "")
}
@@ -287,21 +204,14 @@ func GetDepartmentParent(departmentID string, dbConn *gorm.DB, parentIDList *[]s
}
func GetDepartmentParentIDList(departmentID string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
+ dbConn := db.DB.MysqlDB.DefaultGormDB()
var parentIDList []string
- err = GetDepartmentParent(departmentID, dbConn, &parentIDList)
+ err := GetDepartmentParent(departmentID, dbConn, &parentIDList)
return parentIDList, err
}
func GetRandomDepartmentID() (string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return "", err
- }
department := &db.Department{}
- err = dbConn.Model(department).Order("RAND()").Where("related_group_id != ? AND department_id != ? AND department_type = ?", "", "0", 1).First(department).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Model(department).Order("RAND()").Where("related_group_id != ? AND department_id != ? AND department_type = ?", "", "0", 1).First(department).Error
return department.DepartmentID, err
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go b/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go
index aa07c1688..b8d3e9d17 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go
@@ -6,102 +6,57 @@ import (
)
func GetActiveUserNum(from, to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("chat_logs").Select("count(distinct(send_id))").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("count(distinct(send_id))").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error
+ return int32(num), err
}
func GetIncreaseUserNum(from, to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("users").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error
+ return int32(num), err
}
func GetTotalUserNum() (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("users").Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Count(&num).Error
+ return int32(num), err
}
func GetTotalUserNumByDate(to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("users").Where("create_time <= ?", to).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("create_time <= ?", to).Count(&num).Error
+ return int32(num), err
}
func GetPrivateMessageNum(from, to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Count(&num).Error
+ return int32(num), err
}
func GetGroupMessageNum(from, to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Count(&num).Error
+ return int32(num), err
}
func GetIncreaseGroupNum(from, to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("groups").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error
+ return int32(num), err
}
func GetTotalGroupNum() (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("groups").Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Count(&num).Error
+ return int32(num), err
}
func GetGroupNum(to time.Time) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0, err
- }
- dbConn.LogMode(false)
- var num int32
- err = dbConn.Table("groups").Where("create_time <= ?", to).Count(&num).Error
- return num, err
+ var num int64
+ err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("create_time <= ?", to).Count(&num).Error
+ return int32(num), err
}
type activeGroup struct {
@@ -111,18 +66,13 @@ type activeGroup struct {
}
func GetActiveGroups(from, to time.Time, limit int) ([]*activeGroup, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var activeGroups []*activeGroup
- if err != nil {
- return activeGroups, err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("chat_logs").Select("recv_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Group("recv_id").Limit(limit).Order("message_num DESC").Find(&activeGroups).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("recv_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Group("recv_id").Limit(limit).Order("message_num DESC").Find(&activeGroups).Error
for _, activeGroup := range activeGroups {
group := db.Group{
GroupID: activeGroup.Id,
}
- dbConn.Table("groups").Where("group_id= ? ", group.GroupID).Find(&group)
+ db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id= ? ", group.GroupID).Find(&group)
activeGroup.Name = group.GroupName
}
return activeGroups, err
@@ -135,18 +85,13 @@ type activeUser struct {
}
func GetActiveUsers(from, to time.Time, limit int) ([]*activeUser, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var activeUsers []*activeUser
- if err != nil {
- return activeUsers, err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("chat_logs").Select("send_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Group("send_id").Limit(limit).Order("message_num DESC").Find(&activeUsers).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("send_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Group("send_id").Limit(limit).Order("message_num DESC").Find(&activeUsers).Error
for _, activeUser := range activeUsers {
user := db.User{
UserID: activeUser.Id,
}
- dbConn.Table("users").Select("user_id, name").Find(&user)
+ db.DB.MysqlDB.DefaultGormDB().Table("users").Select("user_id, name").Find(&user)
activeUser.Name = user.Nickname
}
return activeUsers, err
diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go
index 3cdbdea96..b4bfc1038 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go
@@ -7,13 +7,8 @@ import (
)
func InsertInToUserBlackList(black db.Black) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
black.CreateTime = time.Now()
- err = dbConn.Table("blacks").Create(black).Error
- return err
+ return db.DB.MysqlDB.DefaultGormDB().Table("blacks").Create(black).Error
}
//type Black struct {
@@ -26,31 +21,18 @@ func InsertInToUserBlackList(black db.Black) error {
//}
func CheckBlack(ownerUserID, blockUserID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
var black db.Black
- err = dbConn.Table("blacks").Where("owner_user_id=? and block_user_id=?", ownerUserID, blockUserID).Find(&black).Error
- return err
+ return db.DB.MysqlDB.DefaultGormDB().Table("blacks").Where("owner_user_id=? and block_user_id=?", ownerUserID, blockUserID).Find(&black).Error
}
func RemoveBlackList(ownerUserID, blockUserID string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- err = dbConn.Table("blacks").Where("owner_user_id=? and block_user_id=?", ownerUserID, blockUserID).Delete(db.Black{}).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("blacks").Where("owner_user_id=? and block_user_id=?", ownerUserID, blockUserID).Delete(db.Black{}).Error
return utils.Wrap(err, "RemoveBlackList failed")
}
func GetBlackListByUserID(ownerUserID string) ([]db.Black, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var blackListUsersInfo []db.Black
- err = dbConn.Table("blacks").Where("owner_user_id=?", ownerUserID).Find(&blackListUsersInfo).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("blacks").Where("owner_user_id=?", ownerUserID).Find(&blackListUsersInfo).Error
if err != nil {
return nil, err
}
@@ -58,12 +40,8 @@ func GetBlackListByUserID(ownerUserID string) ([]db.Black, error) {
}
func GetBlackIDListByUserID(ownerUserID string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var blackIDList []string
- err = dbConn.Table("blacks").Where("owner_user_id=?", ownerUserID).Pluck("block_user_id", &blackIDList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("blacks").Where("owner_user_id=?", ownerUserID).Pluck("block_user_id", &blackIDList).Error
if err != nil {
return nil, err
}
diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go
index 1598bac4e..ddc4a93cf 100644
--- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go
@@ -7,8 +7,6 @@ import (
"Open_IM/pkg/utils"
"fmt"
"time"
-
- _ "github.com/jinzhu/gorm/dialects/mysql"
)
func init() {
@@ -37,10 +35,6 @@ func init() {
}
func UserRegister(user db.User) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
user.CreateTime = time.Now()
if user.AppMangerLevel == 0 {
user.AppMangerLevel = constant.AppOrdinaryUsers
@@ -48,7 +42,7 @@ func UserRegister(user db.User) error {
if user.Birth.Unix() < 0 {
user.Birth = utils.UnixSecondToTime(0)
}
- err = dbConn.Table("users").Create(&user).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user).Error
if err != nil {
return err
}
@@ -56,31 +50,19 @@ func UserRegister(user db.User) error {
}
func DeleteUser(userID string) (i int64) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return 0
- }
- i = dbConn.Table("users").Where("user_id=?", userID).Delete(db.User{}).RowsAffected
+ i = db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userID).Delete(db.User{}).RowsAffected
return i
}
func GetAllUser() ([]db.User, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var userList []db.User
- err = dbConn.Table("users").Find(&userList).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Find(&userList).Error
return userList, err
}
func GetUserByUserID(userID string) (*db.User, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var user db.User
- err = dbConn.Table("users").Where("user_id=?", userID).Take(&user).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userID).Take(&user).Error
if err != nil {
return nil, err
}
@@ -88,12 +70,8 @@ func GetUserByUserID(userID string) (*db.User, error) {
}
func GetUserNameByUserID(userID string) (string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return "", err
- }
var user db.User
- err = dbConn.Table("users").Select("name").Where("user_id=?", userID).First(&user).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Select("name").Where("user_id=?", userID).First(&user).Error
if err != nil {
return "", err
}
@@ -101,33 +79,17 @@ func GetUserNameByUserID(userID string) (string, error) {
}
func UpdateUserInfo(user db.User) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("users").Where("user_id=?", user.UserID).Update(&user).Error
-
- return err
+ return db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", user.UserID).Updates(&user).Error
}
func UpdateUserInfoByMap(user db.User, m map[string]interface{}) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("users").Where("user_id=?", user.UserID).Updates(m).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", user.UserID).Updates(m).Error
return err
}
func SelectAllUserID() ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return nil, err
- }
var resultArr []string
- err = dbConn.Table("users").Pluck("user_id", &resultArr).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Pluck("user_id", &resultArr).Error
if err != nil {
return nil, err
}
@@ -135,14 +97,8 @@ func SelectAllUserID() ([]string, error) {
}
func SelectSomeUserID(userIDList []string) ([]string, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- dbConn.LogMode(false)
- if err != nil {
- return nil, err
- }
var resultArr []string
- err = dbConn.Table("users").Where("user_id IN (?) ", userIDList).Pluck("user_id", &resultArr).Error
-
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id IN (?) ", userIDList).Pluck("user_id", &resultArr).Error
if err != nil {
return nil, err
}
@@ -150,13 +106,8 @@ func SelectSomeUserID(userIDList []string) ([]string, error) {
}
func GetUsers(showNumber, pageNumber int32) ([]db.User, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var users []db.User
- if err != nil {
- return users, err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("users").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&users).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error
if err != nil {
return users, err
}
@@ -164,10 +115,6 @@ func GetUsers(showNumber, pageNumber int32) ([]db.User, error) {
}
func AddUser(userId, phoneNumber, name string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
user := db.User{
PhoneNumber: phoneNumber,
Birth: time.Now(),
@@ -175,17 +122,13 @@ func AddUser(userId, phoneNumber, name string) error {
UserID: userId,
Nickname: name,
}
- result := dbConn.Table("users").Create(&user)
+ result := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user)
return result.Error
}
func UserIsBlock(userId string) (bool, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return false, err
- }
var user db.BlackList
- rows := dbConn.Table("black_lists").Where("uid=?", userId).First(&user).RowsAffected
+ rows := db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).First(&user).RowsAffected
if rows >= 1 {
return true, nil
}
@@ -197,10 +140,6 @@ func BlockUser(userId, endDisableTime string) error {
if err != nil || user.UserID == "" {
return err
}
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
end, err := time.Parse("2006-01-02 15:04:05", endDisableTime)
if err != nil {
return err
@@ -209,9 +148,9 @@ func BlockUser(userId, endDisableTime string) error {
return constant.ErrDB
}
var blockUser db.BlackList
- dbConn.Table("black_lists").Where("uid=?", userId).First(&blockUser)
+ db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).First(&blockUser)
if blockUser.UserId != "" {
- dbConn.Model(&blockUser).Where("uid=?", blockUser.UserId).Update("end_disable_time", end)
+ db.DB.MysqlDB.DefaultGormDB().Model(&blockUser).Where("uid=?", blockUser.UserId).Update("end_disable_time", end)
return nil
}
blockUser = db.BlackList{
@@ -219,18 +158,12 @@ func BlockUser(userId, endDisableTime string) error {
BeginDisableTime: time.Now(),
EndDisableTime: end,
}
- result := dbConn.Create(&blockUser)
+ result := db.DB.MysqlDB.DefaultGormDB().Create(&blockUser)
return result.Error
}
func UnBlockUser(userId string) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
- dbConn.LogMode(false)
- result := dbConn.Where("uid=?", userId).Delete(&db.BlackList{})
- return result.Error
+ return db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userId).Delete(&db.BlackList{}).Error
}
type BlockUserInfo struct {
@@ -240,21 +173,17 @@ type BlockUserInfo struct {
}
func GetBlockUserById(userId string) (BlockUserInfo, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var blockUserInfo BlockUserInfo
blockUser := db.BlackList{
UserId: userId,
}
- if err != nil {
- return blockUserInfo, err
- }
- if err = dbConn.Table("black_lists").Where("uid=?", userId).Find(&blockUser).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).Find(&blockUser).Error; err != nil {
return blockUserInfo, err
}
user := db.User{
UserID: blockUser.UserId,
}
- if err := dbConn.Find(&user).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Find(&user).Error; err != nil {
return blockUserInfo, err
}
blockUserInfo.User.UserID = user.UserID
@@ -266,19 +195,14 @@ func GetBlockUserById(userId string) (BlockUserInfo, error) {
}
func GetBlockUsers(showNumber, pageNumber int32) ([]BlockUserInfo, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var blockUserInfos []BlockUserInfo
var blockUsers []db.BlackList
- if err != nil {
- return blockUserInfos, err
- }
- dbConn.LogMode(false)
- if err = dbConn.Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&blockUsers).Error; err != nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&blockUsers).Error; err != nil {
return blockUserInfos, err
}
for _, blockUser := range blockUsers {
var user db.User
- if err := dbConn.Table("users").Where("user_id=?", blockUser.UserId).First(&user).Error; err == nil {
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).First(&user).Error; err == nil {
blockUserInfos = append(blockUserInfos, BlockUserInfo{
User: db.User{
UserID: user.UserID,
@@ -294,38 +218,23 @@ func GetBlockUsers(showNumber, pageNumber int32) ([]BlockUserInfo, error) {
}
func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
var users []db.User
- if err != nil {
- return users, err
- }
- dbConn.LogMode(false)
- err = dbConn.Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", userName)).Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&users).Error
+ err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error
return users, err
}
func GetUsersCount(user db.User) (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
+ var count int64
+ if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", user.Nickname)).Count(&count).Error; err != nil {
return 0, err
}
- dbConn.LogMode(false)
- var count int32
- if err := dbConn.Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", user.Nickname)).Count(&count).Error; err != nil {
- return 0, err
- }
- return count, nil
+ return int32(count), nil
}
func GetBlockUsersNumCount() (int32, error) {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
+ var count int64
+ if err := db.DB.MysqlDB.DefaultGormDB().Model(&db.BlackList{}).Count(&count).Error; err != nil {
return 0, err
}
- dbConn.LogMode(false)
- var count int32
- if err := dbConn.Model(&db.BlackList{}).Count(&count).Error; err != nil {
- return 0, err
- }
- return count, nil
+ return int32(count), nil
}
diff --git a/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go
index 5f7ef59f7..be617b798 100644
--- a/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go
+++ b/pkg/common/db/mysql_model/im_mysql_msg_model/chat_log_model.go
@@ -10,7 +10,7 @@ import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
- pbMsg "Open_IM/pkg/proto/chat"
+ pbMsg "Open_IM/pkg/proto/msg"
"Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"github.com/golang/protobuf/jsonpb"
@@ -19,10 +19,6 @@ import (
)
func InsertMessageToChatLog(msg pbMsg.MsgDataToMQ) error {
- dbConn, err := db.DB.MysqlDB.DefaultGormDB()
- if err != nil {
- return err
- }
chatLog := new(db.ChatLog)
copier.Copy(chatLog, msg.MsgData)
switch msg.MsgData.SessionType {
@@ -47,5 +43,5 @@ func InsertMessageToChatLog(msg pbMsg.MsgDataToMQ) error {
chatLog.CreateTime = utils.UnixMillSecondToTime(msg.MsgData.CreateTime)
chatLog.SendTime = utils.UnixMillSecondToTime(msg.MsgData.SendTime)
log.NewDebug("test", "this is ", chatLog)
- return dbConn.Table("chat_logs").Create(chatLog).Error
+ return db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Create(chatLog).Error
}
diff --git a/pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go b/pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go
index a631462ce..2c3e81932 100644
--- a/pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go
+++ b/pkg/common/db/mysql_model/im_mysql_msg_model/hash_code.go
@@ -2,9 +2,7 @@ package im_mysql_msg_model
import (
"Open_IM/pkg/common/config"
- "Open_IM/pkg/common/db"
"hash/crc32"
- "strconv"
)
func getHashMsgDBAddr(userID string) string {
@@ -16,21 +14,3 @@ func getHashMsgTableIndex(userID string) int {
hCode := crc32.ChecksumIEEE([]byte(userID))
return int(hCode % uint32(config.Config.Mysql.DBMsgTableNum))
}
-
-func QueryUserMsgID(userID string) ([]string, error) {
- dbAddress, dbTableIndex := getHashMsgDBAddr(userID), getHashMsgTableIndex(userID)
- dbTableName := "receive" + strconv.Itoa(dbTableIndex)
-
- dbConn, _ := db.DB.MysqlDB.GormDB(dbAddress, config.Config.Mysql.DBTableName)
-
- var msgID string
- var msgIDList []string
- rows, _ := dbConn.Raw("select msg_id from ? where user_id = ?", dbTableName, userID).Rows()
- defer rows.Close()
- for rows.Next() {
- rows.Scan(&msgID)
- msgIDList = append(msgIDList, msgID)
- }
-
- return msgIDList, nil
-}
diff --git a/pkg/common/db/redisModel_test.go b/pkg/common/db/redisModel_test.go
index 70c7f4d22..66025f6ab 100644
--- a/pkg/common/db/redisModel_test.go
+++ b/pkg/common/db/redisModel_test.go
@@ -2,7 +2,7 @@ package db
import (
"Open_IM/pkg/common/constant"
- pbChat "Open_IM/pkg/proto/chat"
+ pbChat "Open_IM/pkg/proto/msg"
server_api_params "Open_IM/pkg/proto/sdk_ws"
"context"
"flag"
diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go
new file mode 100644
index 000000000..25a9b00be
--- /dev/null
+++ b/pkg/common/db/rocks_cache/rocks_cache.go
@@ -0,0 +1,298 @@
+package rocksCache
+
+import (
+ "Open_IM/pkg/common/db"
+ imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
+ "Open_IM/pkg/utils"
+ "context"
+ "encoding/json"
+ "fmt"
+ "time"
+)
+
+const (
+ userInfoCache = "USER_INFO_CACHE:"
+ friendRelationCache = "FRIEND_RELATION_CACHE:"
+ blackListCache = "BLACK_LIST_CACHE:"
+ groupCache = "GROUP_CACHE:"
+ groupInfoCache = "GROUP_INFO_CACHE:"
+ groupOwnerIDCache = "GROUP_OWNER_ID:"
+ joinedGroupListCache = "JOINED_GROUP_LIST_CACHE:"
+ groupMemberInfoCache = "GROUP_MEMBER_INFO_CACHE:"
+ groupAllMemberInfoCache = "GROUP_ALL_MEMBER_INFO_CACHE:"
+ allFriendInfoCache = "ALL_FRIEND_INFO_CACHE:"
+ allDepartmentCache = "ALL_DEPARTMENT_CACHE:"
+ allDepartmentMemberCache = "ALL_DEPARTMENT_MEMBER_CACHE:"
+)
+
+func init() {
+ fmt.Println("init to del old keys")
+ for _, key := range []string{groupCache, friendRelationCache, blackListCache, userInfoCache, groupInfoCache, groupOwnerIDCache, joinedGroupListCache,
+ groupMemberInfoCache, groupAllMemberInfoCache, allFriendInfoCache} {
+ var cursor uint64
+ var n int
+ for {
+ var keys []string
+ var err error
+ keys, cursor, err = db.DB.RDB.Scan(context.Background(), cursor, key+"*", 3000).Result()
+ if err != nil {
+ panic(err.Error())
+ }
+ n += len(keys)
+ //fmt.Printf("\n %s key found %d keys: %v, current cursor %d\n", key, n, keys, cursor)
+ if len(keys) > 0 {
+ err = db.DB.RDB.Del(context.Background(), keys...).Err()
+ if err != nil {
+ panic(err.Error())
+ }
+ }
+ if cursor == 0 {
+ break
+ }
+ }
+ }
+}
+
+func GetFriendIDListFromCache(userID string) ([]string, error) {
+ getFriendIDList := func() (string, error) {
+ friendIDList, err := imdb.GetFriendIDListByUserID(userID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(friendIDList)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ friendIDListStr, err := db.DB.Rc.Fetch(friendRelationCache+userID, time.Second*30*60, getFriendIDList)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var friendIDList []string
+ err = json.Unmarshal([]byte(friendIDListStr), &friendIDList)
+ return friendIDList, utils.Wrap(err, "")
+}
+
+func DelFriendIDListFromCache(userID string) error {
+ err := db.DB.Rc.TagAsDeleted(friendRelationCache + userID)
+ return err
+}
+
+func GetBlackListFromCache(userID string) ([]string, error) {
+ getBlackIDList := func() (string, error) {
+ blackIDList, err := imdb.GetBlackIDListByUserID(userID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(blackIDList)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ blackIDListStr, err := db.DB.Rc.Fetch(blackListCache+userID, time.Second*30*60, getBlackIDList)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var blackIDList []string
+ err = json.Unmarshal([]byte(blackIDListStr), &blackIDList)
+ return blackIDList, utils.Wrap(err, "")
+}
+
+func DelBlackIDListFromCache(userID string) error {
+ return db.DB.Rc.TagAsDeleted(blackListCache + userID)
+}
+
+func GetJoinedGroupIDListFromCache(userID string) ([]string, error) {
+ getJoinedGroupIDList := func() (string, error) {
+ joinedGroupList, err := imdb.GetJoinedGroupIDListByUserID(userID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(joinedGroupList)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ joinedGroupIDListStr, err := db.DB.Rc.Fetch(joinedGroupListCache+userID, time.Second*30*60, getJoinedGroupIDList)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var joinedGroupList []string
+ err = json.Unmarshal([]byte(joinedGroupIDListStr), &joinedGroupList)
+ return joinedGroupList, utils.Wrap(err, "")
+}
+
+func DelJoinedGroupIDListFromCache(userID string) error {
+ return db.DB.Rc.TagAsDeleted(joinedGroupListCache + userID)
+}
+
+func GetGroupMemberIDListFromCache(groupID string) ([]string, error) {
+ getGroupMemberIDList := func() (string, error) {
+ groupMemberIDList, err := imdb.GetGroupMemberIDListByGroupID(groupID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(groupMemberIDList)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, getGroupMemberIDList)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var groupMemberIDList []string
+ err = json.Unmarshal([]byte(groupIDListStr), &groupMemberIDList)
+ return groupMemberIDList, utils.Wrap(err, "")
+}
+
+func DelGroupMemberIDListFromCache(userID string) error {
+ err := db.DB.Rc.TagAsDeleted(groupCache + userID)
+ return err
+}
+
+func GetUserInfoFromCache(userID string) (*db.User, error) {
+ getUserInfo := func() (string, error) {
+ userInfo, err := imdb.GetUserByUserID(userID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(userInfo)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ userInfoStr, err := db.DB.Rc.Fetch(userInfoCache+userID, time.Second*30*60, getUserInfo)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ userInfo := &db.User{}
+ err = json.Unmarshal([]byte(userInfoStr), userInfo)
+ return userInfo, utils.Wrap(err, "")
+}
+
+func DelUserInfoFromCache(userID string) error {
+ return db.DB.Rc.TagAsDeleted(userInfoCache + userID)
+}
+
+func GetGroupMemberInfoFromCache(groupID, userID string) (*db.GroupMember, error) {
+ getGroupMemberInfo := func() (string, error) {
+ groupMemberInfo, err := imdb.GetGroupMemberInfoByGroupIDAndUserID(groupID, userID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(groupMemberInfo)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ groupMemberInfoStr, err := db.DB.Rc.Fetch(groupMemberInfoCache+groupID+"-"+userID, time.Second*30*60, getGroupMemberInfo)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ groupMember := &db.GroupMember{}
+ err = json.Unmarshal([]byte(groupMemberInfoStr), groupMember)
+ return groupMember, utils.Wrap(err, "")
+}
+
+func DelGroupMemberInfoFromCache(groupID, userID string) error {
+ return db.DB.Rc.TagAsDeleted(groupMemberInfoCache + groupID + "-" + userID)
+}
+
+func GetAllGroupMembersInfoFromCache(groupID string) ([]*db.GroupMember, error) {
+ getGroupMemberInfo := func() (string, error) {
+ groupMembers, err := imdb.GetGroupMemberListByGroupID(groupID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(groupMembers)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ groupMembersStr, err := db.DB.Rc.Fetch(groupAllMemberInfoCache+groupID, time.Second*30*60, getGroupMemberInfo)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var groupMembers []*db.GroupMember
+ err = json.Unmarshal([]byte(groupMembersStr), &groupMembers)
+ return groupMembers, utils.Wrap(err, "")
+}
+
+func DelAllGroupMembersInfoFromCache(groupID string) error {
+ return db.DB.Rc.TagAsDeleted(groupAllMemberInfoCache + groupID)
+}
+
+func GetGroupInfoFromCache(groupID string) (*db.Group, error) {
+ getGroupInfo := func() (string, error) {
+ groupInfo, err := imdb.GetGroupInfoByGroupID(groupID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(groupInfo)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ groupInfoStr, err := db.DB.Rc.Fetch(groupInfoCache+groupID, time.Second*30*60, getGroupInfo)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ groupInfo := &db.Group{}
+ err = json.Unmarshal([]byte(groupInfoStr), groupInfo)
+ return groupInfo, utils.Wrap(err, "")
+}
+
+func DelGroupInfoFromCache(groupID string) error {
+ return db.DB.Rc.TagAsDeleted(groupInfoCache + groupID)
+}
+
+func GetAllFriendsInfoFromCache(userID string) ([]*db.Friend, error) {
+ getAllFriendInfo := func() (string, error) {
+ friendInfoList, err := imdb.GetFriendListByUserID(userID)
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(friendInfoList)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ allFriendInfoStr, err := db.DB.Rc.Fetch(allFriendInfoCache+userID, time.Second*30*60, getAllFriendInfo)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var friendInfoList []*db.Friend
+ err = json.Unmarshal([]byte(allFriendInfoStr), &friendInfoList)
+ return friendInfoList, utils.Wrap(err, "")
+}
+
+func DelAllFriendsInfoFromCache(userID string) error {
+ return db.DB.Rc.TagAsDeleted(allFriendInfoCache + userID)
+}
+
+func GetAllDepartmentsFromCache() ([]db.Department, error) {
+ getAllDepartments := func() (string, error) {
+ departmentList, err := imdb.GetSubDepartmentList("-1")
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(departmentList)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ allDepartmentsStr, err := db.DB.Rc.Fetch(allDepartmentCache, time.Second*30*60, getAllDepartments)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var allDepartments []db.Department
+ err = json.Unmarshal([]byte(allDepartmentsStr), &allDepartments)
+ return allDepartments, utils.Wrap(err, "")
+}
+
+func DelAllDepartmentsFromCache() error {
+ return db.DB.Rc.TagAsDeleted(allDepartmentCache)
+}
+
+func GetAllDepartmentMembersFromCache() ([]db.DepartmentMember, error) {
+ getAllDepartmentMembers := func() (string, error) {
+ departmentMembers, err := imdb.GetDepartmentMemberList("-1")
+ if err != nil {
+ return "", utils.Wrap(err, "")
+ }
+ bytes, err := json.Marshal(departmentMembers)
+ return string(bytes), utils.Wrap(err, "")
+ }
+ allDepartmentMembersStr, err := db.DB.Rc.Fetch(allDepartmentMemberCache, time.Second*30*60, getAllDepartmentMembers)
+ if err != nil {
+ return nil, utils.Wrap(err, "")
+ }
+ var allDepartmentMembers []db.DepartmentMember
+ err = json.Unmarshal([]byte(allDepartmentMembersStr), &allDepartmentMembers)
+ return allDepartmentMembers, utils.Wrap(err, "")
+}
+
+func DelAllDepartmentMembersFromCache() error {
+ return db.DB.Rc.TagAsDeleted(allDepartmentMemberCache)
+}
diff --git a/pkg/common/multi_terminal_login/multi_terminal_login.go b/pkg/common/multi_terminal_login/multi_terminal_login.go
index 3c3245e63..817ab1b9d 100644
--- a/pkg/common/multi_terminal_login/multi_terminal_login.go
+++ b/pkg/common/multi_terminal_login/multi_terminal_login.go
@@ -7,7 +7,7 @@ package multi_terminal_login
// "Open_IM/pkg/common/config"
// "Open_IM/pkg/common/constant"
// "Open_IM/pkg/common/db"
-// pbChat "Open_IM/pkg/proto/chat"
+// pbChat "Open_IM/pkg/proto/msg"
// "Open_IM/pkg/utils"
//)
//
diff --git a/pkg/common/utils/utils.go b/pkg/common/utils/utils.go
index c25614ad5..e437203ce 100644
--- a/pkg/common/utils/utils.go
+++ b/pkg/common/utils/utils.go
@@ -93,7 +93,8 @@ func GroupDBCopyOpenIM(dst *open_im_sdk.GroupInfo, src *db.Group) error {
}
dst.OwnerUserID = user.UserID
- dst.MemberCount, err = imdb.GetGroupMemberNumByGroupID(src.GroupID)
+ memberCount, err := imdb.GetGroupMemberNumByGroupID(src.GroupID)
+ dst.MemberCount = uint32(memberCount)
if err != nil {
return utils.Wrap(err, "")
}
diff --git a/pkg/proto/cache/cache.pb.go b/pkg/proto/cache/cache.pb.go
index 157bf4763..48704703f 100644
--- a/pkg/proto/cache/cache.pb.go
+++ b/pkg/proto/cache/cache.pb.go
@@ -6,7 +6,7 @@ package cache // import "./cache"
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
-import sdk_ws "Open_IM/pkg/proto/sdk_ws"
+import _ "Open_IM/pkg/proto/sdk_ws"
import (
context "golang.org/x/net/context"
@@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
func (m *CommonResp) String() string { return proto.CompactTextString(m) }
func (*CommonResp) ProtoMessage() {}
func (*CommonResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{0}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{0}
}
func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b)
@@ -70,182 +70,6 @@ func (m *CommonResp) GetErrMsg() string {
return ""
}
-type GetUserInfoFromCacheReq struct {
- UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"`
- OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *GetUserInfoFromCacheReq) Reset() { *m = GetUserInfoFromCacheReq{} }
-func (m *GetUserInfoFromCacheReq) String() string { return proto.CompactTextString(m) }
-func (*GetUserInfoFromCacheReq) ProtoMessage() {}
-func (*GetUserInfoFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{1}
-}
-func (m *GetUserInfoFromCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_GetUserInfoFromCacheReq.Unmarshal(m, b)
-}
-func (m *GetUserInfoFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_GetUserInfoFromCacheReq.Marshal(b, m, deterministic)
-}
-func (dst *GetUserInfoFromCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_GetUserInfoFromCacheReq.Merge(dst, src)
-}
-func (m *GetUserInfoFromCacheReq) XXX_Size() int {
- return xxx_messageInfo_GetUserInfoFromCacheReq.Size(m)
-}
-func (m *GetUserInfoFromCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_GetUserInfoFromCacheReq.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetUserInfoFromCacheReq proto.InternalMessageInfo
-
-func (m *GetUserInfoFromCacheReq) GetUserIDList() []string {
- if m != nil {
- return m.UserIDList
- }
- return nil
-}
-
-func (m *GetUserInfoFromCacheReq) GetOperationID() string {
- if m != nil {
- return m.OperationID
- }
- return ""
-}
-
-type GetUserInfoFromCacheResp struct {
- CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
- UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,2,rep,name=userInfoList" json:"userInfoList,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *GetUserInfoFromCacheResp) Reset() { *m = GetUserInfoFromCacheResp{} }
-func (m *GetUserInfoFromCacheResp) String() string { return proto.CompactTextString(m) }
-func (*GetUserInfoFromCacheResp) ProtoMessage() {}
-func (*GetUserInfoFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{2}
-}
-func (m *GetUserInfoFromCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_GetUserInfoFromCacheResp.Unmarshal(m, b)
-}
-func (m *GetUserInfoFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_GetUserInfoFromCacheResp.Marshal(b, m, deterministic)
-}
-func (dst *GetUserInfoFromCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_GetUserInfoFromCacheResp.Merge(dst, src)
-}
-func (m *GetUserInfoFromCacheResp) XXX_Size() int {
- return xxx_messageInfo_GetUserInfoFromCacheResp.Size(m)
-}
-func (m *GetUserInfoFromCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_GetUserInfoFromCacheResp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_GetUserInfoFromCacheResp proto.InternalMessageInfo
-
-func (m *GetUserInfoFromCacheResp) GetCommonResp() *CommonResp {
- if m != nil {
- return m.CommonResp
- }
- return nil
-}
-
-func (m *GetUserInfoFromCacheResp) GetUserInfoList() []*sdk_ws.UserInfo {
- if m != nil {
- return m.UserInfoList
- }
- return nil
-}
-
-type UpdateUserInfoToCacheReq struct {
- UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,1,rep,name=userInfoList" json:"userInfoList,omitempty"`
- OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *UpdateUserInfoToCacheReq) Reset() { *m = UpdateUserInfoToCacheReq{} }
-func (m *UpdateUserInfoToCacheReq) String() string { return proto.CompactTextString(m) }
-func (*UpdateUserInfoToCacheReq) ProtoMessage() {}
-func (*UpdateUserInfoToCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{3}
-}
-func (m *UpdateUserInfoToCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_UpdateUserInfoToCacheReq.Unmarshal(m, b)
-}
-func (m *UpdateUserInfoToCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_UpdateUserInfoToCacheReq.Marshal(b, m, deterministic)
-}
-func (dst *UpdateUserInfoToCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_UpdateUserInfoToCacheReq.Merge(dst, src)
-}
-func (m *UpdateUserInfoToCacheReq) XXX_Size() int {
- return xxx_messageInfo_UpdateUserInfoToCacheReq.Size(m)
-}
-func (m *UpdateUserInfoToCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_UpdateUserInfoToCacheReq.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UpdateUserInfoToCacheReq proto.InternalMessageInfo
-
-func (m *UpdateUserInfoToCacheReq) GetUserInfoList() []*sdk_ws.UserInfo {
- if m != nil {
- return m.UserInfoList
- }
- return nil
-}
-
-func (m *UpdateUserInfoToCacheReq) GetOperationID() string {
- if m != nil {
- return m.OperationID
- }
- return ""
-}
-
-type UpdateUserInfoToCacheResp struct {
- CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *UpdateUserInfoToCacheResp) Reset() { *m = UpdateUserInfoToCacheResp{} }
-func (m *UpdateUserInfoToCacheResp) String() string { return proto.CompactTextString(m) }
-func (*UpdateUserInfoToCacheResp) ProtoMessage() {}
-func (*UpdateUserInfoToCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{4}
-}
-func (m *UpdateUserInfoToCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_UpdateUserInfoToCacheResp.Unmarshal(m, b)
-}
-func (m *UpdateUserInfoToCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_UpdateUserInfoToCacheResp.Marshal(b, m, deterministic)
-}
-func (dst *UpdateUserInfoToCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_UpdateUserInfoToCacheResp.Merge(dst, src)
-}
-func (m *UpdateUserInfoToCacheResp) XXX_Size() int {
- return xxx_messageInfo_UpdateUserInfoToCacheResp.Size(m)
-}
-func (m *UpdateUserInfoToCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_UpdateUserInfoToCacheResp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UpdateUserInfoToCacheResp proto.InternalMessageInfo
-
-func (m *UpdateUserInfoToCacheResp) GetCommonResp() *CommonResp {
- if m != nil {
- return m.CommonResp
- }
- return nil
-}
-
type GetFriendIDListFromCacheReq struct {
UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
@@ -258,7 +82,7 @@ func (m *GetFriendIDListFromCacheReq) Reset() { *m = GetFriendIDListFrom
func (m *GetFriendIDListFromCacheReq) String() string { return proto.CompactTextString(m) }
func (*GetFriendIDListFromCacheReq) ProtoMessage() {}
func (*GetFriendIDListFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{5}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{1}
}
func (m *GetFriendIDListFromCacheReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetFriendIDListFromCacheReq.Unmarshal(m, b)
@@ -304,7 +128,7 @@ func (m *GetFriendIDListFromCacheResp) Reset() { *m = GetFriendIDListFro
func (m *GetFriendIDListFromCacheResp) String() string { return proto.CompactTextString(m) }
func (*GetFriendIDListFromCacheResp) ProtoMessage() {}
func (*GetFriendIDListFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{6}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{2}
}
func (m *GetFriendIDListFromCacheResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetFriendIDListFromCacheResp.Unmarshal(m, b)
@@ -338,184 +162,84 @@ func (m *GetFriendIDListFromCacheResp) GetCommonResp() *CommonResp {
return nil
}
-type AddFriendToCacheReq struct {
+type DelFriendIDListFromCacheReq struct {
UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
- FriendID string `protobuf:"bytes,2,opt,name=friendID" json:"friendID,omitempty"`
- OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
+ OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AddFriendToCacheReq) Reset() { *m = AddFriendToCacheReq{} }
-func (m *AddFriendToCacheReq) String() string { return proto.CompactTextString(m) }
-func (*AddFriendToCacheReq) ProtoMessage() {}
-func (*AddFriendToCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{7}
+func (m *DelFriendIDListFromCacheReq) Reset() { *m = DelFriendIDListFromCacheReq{} }
+func (m *DelFriendIDListFromCacheReq) String() string { return proto.CompactTextString(m) }
+func (*DelFriendIDListFromCacheReq) ProtoMessage() {}
+func (*DelFriendIDListFromCacheReq) Descriptor() ([]byte, []int) {
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{3}
}
-func (m *AddFriendToCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AddFriendToCacheReq.Unmarshal(m, b)
+func (m *DelFriendIDListFromCacheReq) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DelFriendIDListFromCacheReq.Unmarshal(m, b)
}
-func (m *AddFriendToCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AddFriendToCacheReq.Marshal(b, m, deterministic)
+func (m *DelFriendIDListFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DelFriendIDListFromCacheReq.Marshal(b, m, deterministic)
}
-func (dst *AddFriendToCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AddFriendToCacheReq.Merge(dst, src)
+func (dst *DelFriendIDListFromCacheReq) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DelFriendIDListFromCacheReq.Merge(dst, src)
}
-func (m *AddFriendToCacheReq) XXX_Size() int {
- return xxx_messageInfo_AddFriendToCacheReq.Size(m)
+func (m *DelFriendIDListFromCacheReq) XXX_Size() int {
+ return xxx_messageInfo_DelFriendIDListFromCacheReq.Size(m)
}
-func (m *AddFriendToCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_AddFriendToCacheReq.DiscardUnknown(m)
+func (m *DelFriendIDListFromCacheReq) XXX_DiscardUnknown() {
+ xxx_messageInfo_DelFriendIDListFromCacheReq.DiscardUnknown(m)
}
-var xxx_messageInfo_AddFriendToCacheReq proto.InternalMessageInfo
+var xxx_messageInfo_DelFriendIDListFromCacheReq proto.InternalMessageInfo
-func (m *AddFriendToCacheReq) GetUserID() string {
+func (m *DelFriendIDListFromCacheReq) GetUserID() string {
if m != nil {
return m.UserID
}
return ""
}
-func (m *AddFriendToCacheReq) GetFriendID() string {
- if m != nil {
- return m.FriendID
- }
- return ""
-}
-
-func (m *AddFriendToCacheReq) GetOperationID() string {
+func (m *DelFriendIDListFromCacheReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
-type AddFriendToCacheResp struct {
+type DelFriendIDListFromCacheResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AddFriendToCacheResp) Reset() { *m = AddFriendToCacheResp{} }
-func (m *AddFriendToCacheResp) String() string { return proto.CompactTextString(m) }
-func (*AddFriendToCacheResp) ProtoMessage() {}
-func (*AddFriendToCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{8}
+func (m *DelFriendIDListFromCacheResp) Reset() { *m = DelFriendIDListFromCacheResp{} }
+func (m *DelFriendIDListFromCacheResp) String() string { return proto.CompactTextString(m) }
+func (*DelFriendIDListFromCacheResp) ProtoMessage() {}
+func (*DelFriendIDListFromCacheResp) Descriptor() ([]byte, []int) {
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{4}
}
-func (m *AddFriendToCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AddFriendToCacheResp.Unmarshal(m, b)
+func (m *DelFriendIDListFromCacheResp) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DelFriendIDListFromCacheResp.Unmarshal(m, b)
}
-func (m *AddFriendToCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AddFriendToCacheResp.Marshal(b, m, deterministic)
+func (m *DelFriendIDListFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DelFriendIDListFromCacheResp.Marshal(b, m, deterministic)
}
-func (dst *AddFriendToCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AddFriendToCacheResp.Merge(dst, src)
+func (dst *DelFriendIDListFromCacheResp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DelFriendIDListFromCacheResp.Merge(dst, src)
}
-func (m *AddFriendToCacheResp) XXX_Size() int {
- return xxx_messageInfo_AddFriendToCacheResp.Size(m)
+func (m *DelFriendIDListFromCacheResp) XXX_Size() int {
+ return xxx_messageInfo_DelFriendIDListFromCacheResp.Size(m)
}
-func (m *AddFriendToCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_AddFriendToCacheResp.DiscardUnknown(m)
+func (m *DelFriendIDListFromCacheResp) XXX_DiscardUnknown() {
+ xxx_messageInfo_DelFriendIDListFromCacheResp.DiscardUnknown(m)
}
-var xxx_messageInfo_AddFriendToCacheResp proto.InternalMessageInfo
+var xxx_messageInfo_DelFriendIDListFromCacheResp proto.InternalMessageInfo
-func (m *AddFriendToCacheResp) GetCommonResp() *CommonResp {
- if m != nil {
- return m.CommonResp
- }
- return nil
-}
-
-type ReduceFriendFromCacheReq struct {
- UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
- FriendID string `protobuf:"bytes,2,opt,name=friendID" json:"friendID,omitempty"`
- OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ReduceFriendFromCacheReq) Reset() { *m = ReduceFriendFromCacheReq{} }
-func (m *ReduceFriendFromCacheReq) String() string { return proto.CompactTextString(m) }
-func (*ReduceFriendFromCacheReq) ProtoMessage() {}
-func (*ReduceFriendFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{9}
-}
-func (m *ReduceFriendFromCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReduceFriendFromCacheReq.Unmarshal(m, b)
-}
-func (m *ReduceFriendFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReduceFriendFromCacheReq.Marshal(b, m, deterministic)
-}
-func (dst *ReduceFriendFromCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReduceFriendFromCacheReq.Merge(dst, src)
-}
-func (m *ReduceFriendFromCacheReq) XXX_Size() int {
- return xxx_messageInfo_ReduceFriendFromCacheReq.Size(m)
-}
-func (m *ReduceFriendFromCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_ReduceFriendFromCacheReq.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReduceFriendFromCacheReq proto.InternalMessageInfo
-
-func (m *ReduceFriendFromCacheReq) GetUserID() string {
- if m != nil {
- return m.UserID
- }
- return ""
-}
-
-func (m *ReduceFriendFromCacheReq) GetFriendID() string {
- if m != nil {
- return m.FriendID
- }
- return ""
-}
-
-func (m *ReduceFriendFromCacheReq) GetOperationID() string {
- if m != nil {
- return m.OperationID
- }
- return ""
-}
-
-type ReduceFriendFromCacheResp struct {
- CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ReduceFriendFromCacheResp) Reset() { *m = ReduceFriendFromCacheResp{} }
-func (m *ReduceFriendFromCacheResp) String() string { return proto.CompactTextString(m) }
-func (*ReduceFriendFromCacheResp) ProtoMessage() {}
-func (*ReduceFriendFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{10}
-}
-func (m *ReduceFriendFromCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReduceFriendFromCacheResp.Unmarshal(m, b)
-}
-func (m *ReduceFriendFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReduceFriendFromCacheResp.Marshal(b, m, deterministic)
-}
-func (dst *ReduceFriendFromCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReduceFriendFromCacheResp.Merge(dst, src)
-}
-func (m *ReduceFriendFromCacheResp) XXX_Size() int {
- return xxx_messageInfo_ReduceFriendFromCacheResp.Size(m)
-}
-func (m *ReduceFriendFromCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_ReduceFriendFromCacheResp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReduceFriendFromCacheResp proto.InternalMessageInfo
-
-func (m *ReduceFriendFromCacheResp) GetCommonResp() *CommonResp {
+func (m *DelFriendIDListFromCacheResp) GetCommonResp() *CommonResp {
if m != nil {
return m.CommonResp
}
@@ -534,7 +258,7 @@ func (m *GetBlackIDListFromCacheReq) Reset() { *m = GetBlackIDListFromCa
func (m *GetBlackIDListFromCacheReq) String() string { return proto.CompactTextString(m) }
func (*GetBlackIDListFromCacheReq) ProtoMessage() {}
func (*GetBlackIDListFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{11}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{5}
}
func (m *GetBlackIDListFromCacheReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlackIDListFromCacheReq.Unmarshal(m, b)
@@ -580,7 +304,7 @@ func (m *GetBlackIDListFromCacheResp) Reset() { *m = GetBlackIDListFromC
func (m *GetBlackIDListFromCacheResp) String() string { return proto.CompactTextString(m) }
func (*GetBlackIDListFromCacheResp) ProtoMessage() {}
func (*GetBlackIDListFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{12}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{6}
}
func (m *GetBlackIDListFromCacheResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlackIDListFromCacheResp.Unmarshal(m, b)
@@ -614,184 +338,84 @@ func (m *GetBlackIDListFromCacheResp) GetCommonResp() *CommonResp {
return nil
}
-type AddBlackUserToCacheReq struct {
+type DelBlackIDListFromCacheReq struct {
UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
- BlackUserID string `protobuf:"bytes,2,opt,name=blackUserID" json:"blackUserID,omitempty"`
- OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
+ OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AddBlackUserToCacheReq) Reset() { *m = AddBlackUserToCacheReq{} }
-func (m *AddBlackUserToCacheReq) String() string { return proto.CompactTextString(m) }
-func (*AddBlackUserToCacheReq) ProtoMessage() {}
-func (*AddBlackUserToCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{13}
+func (m *DelBlackIDListFromCacheReq) Reset() { *m = DelBlackIDListFromCacheReq{} }
+func (m *DelBlackIDListFromCacheReq) String() string { return proto.CompactTextString(m) }
+func (*DelBlackIDListFromCacheReq) ProtoMessage() {}
+func (*DelBlackIDListFromCacheReq) Descriptor() ([]byte, []int) {
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{7}
}
-func (m *AddBlackUserToCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AddBlackUserToCacheReq.Unmarshal(m, b)
+func (m *DelBlackIDListFromCacheReq) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DelBlackIDListFromCacheReq.Unmarshal(m, b)
}
-func (m *AddBlackUserToCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AddBlackUserToCacheReq.Marshal(b, m, deterministic)
+func (m *DelBlackIDListFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DelBlackIDListFromCacheReq.Marshal(b, m, deterministic)
}
-func (dst *AddBlackUserToCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AddBlackUserToCacheReq.Merge(dst, src)
+func (dst *DelBlackIDListFromCacheReq) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DelBlackIDListFromCacheReq.Merge(dst, src)
}
-func (m *AddBlackUserToCacheReq) XXX_Size() int {
- return xxx_messageInfo_AddBlackUserToCacheReq.Size(m)
+func (m *DelBlackIDListFromCacheReq) XXX_Size() int {
+ return xxx_messageInfo_DelBlackIDListFromCacheReq.Size(m)
}
-func (m *AddBlackUserToCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_AddBlackUserToCacheReq.DiscardUnknown(m)
+func (m *DelBlackIDListFromCacheReq) XXX_DiscardUnknown() {
+ xxx_messageInfo_DelBlackIDListFromCacheReq.DiscardUnknown(m)
}
-var xxx_messageInfo_AddBlackUserToCacheReq proto.InternalMessageInfo
+var xxx_messageInfo_DelBlackIDListFromCacheReq proto.InternalMessageInfo
-func (m *AddBlackUserToCacheReq) GetUserID() string {
+func (m *DelBlackIDListFromCacheReq) GetUserID() string {
if m != nil {
return m.UserID
}
return ""
}
-func (m *AddBlackUserToCacheReq) GetBlackUserID() string {
- if m != nil {
- return m.BlackUserID
- }
- return ""
-}
-
-func (m *AddBlackUserToCacheReq) GetOperationID() string {
+func (m *DelBlackIDListFromCacheReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
-type AddBlackUserToCacheResp struct {
+type DelBlackIDListFromCacheResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AddBlackUserToCacheResp) Reset() { *m = AddBlackUserToCacheResp{} }
-func (m *AddBlackUserToCacheResp) String() string { return proto.CompactTextString(m) }
-func (*AddBlackUserToCacheResp) ProtoMessage() {}
-func (*AddBlackUserToCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{14}
+func (m *DelBlackIDListFromCacheResp) Reset() { *m = DelBlackIDListFromCacheResp{} }
+func (m *DelBlackIDListFromCacheResp) String() string { return proto.CompactTextString(m) }
+func (*DelBlackIDListFromCacheResp) ProtoMessage() {}
+func (*DelBlackIDListFromCacheResp) Descriptor() ([]byte, []int) {
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{8}
}
-func (m *AddBlackUserToCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AddBlackUserToCacheResp.Unmarshal(m, b)
+func (m *DelBlackIDListFromCacheResp) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DelBlackIDListFromCacheResp.Unmarshal(m, b)
}
-func (m *AddBlackUserToCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AddBlackUserToCacheResp.Marshal(b, m, deterministic)
+func (m *DelBlackIDListFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DelBlackIDListFromCacheResp.Marshal(b, m, deterministic)
}
-func (dst *AddBlackUserToCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AddBlackUserToCacheResp.Merge(dst, src)
+func (dst *DelBlackIDListFromCacheResp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DelBlackIDListFromCacheResp.Merge(dst, src)
}
-func (m *AddBlackUserToCacheResp) XXX_Size() int {
- return xxx_messageInfo_AddBlackUserToCacheResp.Size(m)
+func (m *DelBlackIDListFromCacheResp) XXX_Size() int {
+ return xxx_messageInfo_DelBlackIDListFromCacheResp.Size(m)
}
-func (m *AddBlackUserToCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_AddBlackUserToCacheResp.DiscardUnknown(m)
+func (m *DelBlackIDListFromCacheResp) XXX_DiscardUnknown() {
+ xxx_messageInfo_DelBlackIDListFromCacheResp.DiscardUnknown(m)
}
-var xxx_messageInfo_AddBlackUserToCacheResp proto.InternalMessageInfo
+var xxx_messageInfo_DelBlackIDListFromCacheResp proto.InternalMessageInfo
-func (m *AddBlackUserToCacheResp) GetCommonResp() *CommonResp {
- if m != nil {
- return m.CommonResp
- }
- return nil
-}
-
-type ReduceBlackUserFromCacheReq struct {
- UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
- BlackUserID string `protobuf:"bytes,2,opt,name=blackUserID" json:"blackUserID,omitempty"`
- OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ReduceBlackUserFromCacheReq) Reset() { *m = ReduceBlackUserFromCacheReq{} }
-func (m *ReduceBlackUserFromCacheReq) String() string { return proto.CompactTextString(m) }
-func (*ReduceBlackUserFromCacheReq) ProtoMessage() {}
-func (*ReduceBlackUserFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{15}
-}
-func (m *ReduceBlackUserFromCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReduceBlackUserFromCacheReq.Unmarshal(m, b)
-}
-func (m *ReduceBlackUserFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReduceBlackUserFromCacheReq.Marshal(b, m, deterministic)
-}
-func (dst *ReduceBlackUserFromCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReduceBlackUserFromCacheReq.Merge(dst, src)
-}
-func (m *ReduceBlackUserFromCacheReq) XXX_Size() int {
- return xxx_messageInfo_ReduceBlackUserFromCacheReq.Size(m)
-}
-func (m *ReduceBlackUserFromCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_ReduceBlackUserFromCacheReq.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReduceBlackUserFromCacheReq proto.InternalMessageInfo
-
-func (m *ReduceBlackUserFromCacheReq) GetUserID() string {
- if m != nil {
- return m.UserID
- }
- return ""
-}
-
-func (m *ReduceBlackUserFromCacheReq) GetBlackUserID() string {
- if m != nil {
- return m.BlackUserID
- }
- return ""
-}
-
-func (m *ReduceBlackUserFromCacheReq) GetOperationID() string {
- if m != nil {
- return m.OperationID
- }
- return ""
-}
-
-type ReduceBlackUserFromCacheResp struct {
- CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ReduceBlackUserFromCacheResp) Reset() { *m = ReduceBlackUserFromCacheResp{} }
-func (m *ReduceBlackUserFromCacheResp) String() string { return proto.CompactTextString(m) }
-func (*ReduceBlackUserFromCacheResp) ProtoMessage() {}
-func (*ReduceBlackUserFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{16}
-}
-func (m *ReduceBlackUserFromCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReduceBlackUserFromCacheResp.Unmarshal(m, b)
-}
-func (m *ReduceBlackUserFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReduceBlackUserFromCacheResp.Marshal(b, m, deterministic)
-}
-func (dst *ReduceBlackUserFromCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReduceBlackUserFromCacheResp.Merge(dst, src)
-}
-func (m *ReduceBlackUserFromCacheResp) XXX_Size() int {
- return xxx_messageInfo_ReduceBlackUserFromCacheResp.Size(m)
-}
-func (m *ReduceBlackUserFromCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_ReduceBlackUserFromCacheResp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReduceBlackUserFromCacheResp proto.InternalMessageInfo
-
-func (m *ReduceBlackUserFromCacheResp) GetCommonResp() *CommonResp {
+func (m *DelBlackIDListFromCacheResp) GetCommonResp() *CommonResp {
if m != nil {
return m.CommonResp
}
@@ -810,7 +434,7 @@ func (m *GetGroupMemberIDListFromCacheReq) Reset() { *m = GetGroupMember
func (m *GetGroupMemberIDListFromCacheReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberIDListFromCacheReq) ProtoMessage() {}
func (*GetGroupMemberIDListFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{17}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{9}
}
func (m *GetGroupMemberIDListFromCacheReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberIDListFromCacheReq.Unmarshal(m, b)
@@ -856,7 +480,7 @@ func (m *GetGroupMemberIDListFromCacheResp) Reset() { *m = GetGroupMembe
func (m *GetGroupMemberIDListFromCacheResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberIDListFromCacheResp) ProtoMessage() {}
func (*GetGroupMemberIDListFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{18}
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{10}
}
func (m *GetGroupMemberIDListFromCacheResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberIDListFromCacheResp.Unmarshal(m, b)
@@ -890,184 +514,84 @@ func (m *GetGroupMemberIDListFromCacheResp) GetUserIDList() []string {
return nil
}
-type AddGroupMemberToCacheReq struct {
- UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"`
- GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"`
- OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
+type DelGroupMemberIDListFromCacheReq struct {
+ GroupID string `protobuf:"bytes,1,opt,name=groupID" json:"groupID,omitempty"`
+ OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AddGroupMemberToCacheReq) Reset() { *m = AddGroupMemberToCacheReq{} }
-func (m *AddGroupMemberToCacheReq) String() string { return proto.CompactTextString(m) }
-func (*AddGroupMemberToCacheReq) ProtoMessage() {}
-func (*AddGroupMemberToCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{19}
+func (m *DelGroupMemberIDListFromCacheReq) Reset() { *m = DelGroupMemberIDListFromCacheReq{} }
+func (m *DelGroupMemberIDListFromCacheReq) String() string { return proto.CompactTextString(m) }
+func (*DelGroupMemberIDListFromCacheReq) ProtoMessage() {}
+func (*DelGroupMemberIDListFromCacheReq) Descriptor() ([]byte, []int) {
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{11}
}
-func (m *AddGroupMemberToCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AddGroupMemberToCacheReq.Unmarshal(m, b)
+func (m *DelGroupMemberIDListFromCacheReq) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DelGroupMemberIDListFromCacheReq.Unmarshal(m, b)
}
-func (m *AddGroupMemberToCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AddGroupMemberToCacheReq.Marshal(b, m, deterministic)
+func (m *DelGroupMemberIDListFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DelGroupMemberIDListFromCacheReq.Marshal(b, m, deterministic)
}
-func (dst *AddGroupMemberToCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AddGroupMemberToCacheReq.Merge(dst, src)
+func (dst *DelGroupMemberIDListFromCacheReq) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DelGroupMemberIDListFromCacheReq.Merge(dst, src)
}
-func (m *AddGroupMemberToCacheReq) XXX_Size() int {
- return xxx_messageInfo_AddGroupMemberToCacheReq.Size(m)
+func (m *DelGroupMemberIDListFromCacheReq) XXX_Size() int {
+ return xxx_messageInfo_DelGroupMemberIDListFromCacheReq.Size(m)
}
-func (m *AddGroupMemberToCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_AddGroupMemberToCacheReq.DiscardUnknown(m)
+func (m *DelGroupMemberIDListFromCacheReq) XXX_DiscardUnknown() {
+ xxx_messageInfo_DelGroupMemberIDListFromCacheReq.DiscardUnknown(m)
}
-var xxx_messageInfo_AddGroupMemberToCacheReq proto.InternalMessageInfo
+var xxx_messageInfo_DelGroupMemberIDListFromCacheReq proto.InternalMessageInfo
-func (m *AddGroupMemberToCacheReq) GetUserIDList() []string {
- if m != nil {
- return m.UserIDList
- }
- return nil
-}
-
-func (m *AddGroupMemberToCacheReq) GetGroupID() string {
+func (m *DelGroupMemberIDListFromCacheReq) GetGroupID() string {
if m != nil {
return m.GroupID
}
return ""
}
-func (m *AddGroupMemberToCacheReq) GetOperationID() string {
+func (m *DelGroupMemberIDListFromCacheReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
-type AddGroupMemberToCacheResp struct {
+type DelGroupMemberIDListFromCacheResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AddGroupMemberToCacheResp) Reset() { *m = AddGroupMemberToCacheResp{} }
-func (m *AddGroupMemberToCacheResp) String() string { return proto.CompactTextString(m) }
-func (*AddGroupMemberToCacheResp) ProtoMessage() {}
-func (*AddGroupMemberToCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{20}
+func (m *DelGroupMemberIDListFromCacheResp) Reset() { *m = DelGroupMemberIDListFromCacheResp{} }
+func (m *DelGroupMemberIDListFromCacheResp) String() string { return proto.CompactTextString(m) }
+func (*DelGroupMemberIDListFromCacheResp) ProtoMessage() {}
+func (*DelGroupMemberIDListFromCacheResp) Descriptor() ([]byte, []int) {
+ return fileDescriptor_cache_dd6bac081ee50bd6, []int{12}
}
-func (m *AddGroupMemberToCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AddGroupMemberToCacheResp.Unmarshal(m, b)
+func (m *DelGroupMemberIDListFromCacheResp) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DelGroupMemberIDListFromCacheResp.Unmarshal(m, b)
}
-func (m *AddGroupMemberToCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AddGroupMemberToCacheResp.Marshal(b, m, deterministic)
+func (m *DelGroupMemberIDListFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DelGroupMemberIDListFromCacheResp.Marshal(b, m, deterministic)
}
-func (dst *AddGroupMemberToCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AddGroupMemberToCacheResp.Merge(dst, src)
+func (dst *DelGroupMemberIDListFromCacheResp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DelGroupMemberIDListFromCacheResp.Merge(dst, src)
}
-func (m *AddGroupMemberToCacheResp) XXX_Size() int {
- return xxx_messageInfo_AddGroupMemberToCacheResp.Size(m)
+func (m *DelGroupMemberIDListFromCacheResp) XXX_Size() int {
+ return xxx_messageInfo_DelGroupMemberIDListFromCacheResp.Size(m)
}
-func (m *AddGroupMemberToCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_AddGroupMemberToCacheResp.DiscardUnknown(m)
+func (m *DelGroupMemberIDListFromCacheResp) XXX_DiscardUnknown() {
+ xxx_messageInfo_DelGroupMemberIDListFromCacheResp.DiscardUnknown(m)
}
-var xxx_messageInfo_AddGroupMemberToCacheResp proto.InternalMessageInfo
+var xxx_messageInfo_DelGroupMemberIDListFromCacheResp proto.InternalMessageInfo
-func (m *AddGroupMemberToCacheResp) GetCommonResp() *CommonResp {
- if m != nil {
- return m.CommonResp
- }
- return nil
-}
-
-type ReduceGroupMemberFromCacheReq struct {
- UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"`
- GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"`
- OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ReduceGroupMemberFromCacheReq) Reset() { *m = ReduceGroupMemberFromCacheReq{} }
-func (m *ReduceGroupMemberFromCacheReq) String() string { return proto.CompactTextString(m) }
-func (*ReduceGroupMemberFromCacheReq) ProtoMessage() {}
-func (*ReduceGroupMemberFromCacheReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{21}
-}
-func (m *ReduceGroupMemberFromCacheReq) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReduceGroupMemberFromCacheReq.Unmarshal(m, b)
-}
-func (m *ReduceGroupMemberFromCacheReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReduceGroupMemberFromCacheReq.Marshal(b, m, deterministic)
-}
-func (dst *ReduceGroupMemberFromCacheReq) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReduceGroupMemberFromCacheReq.Merge(dst, src)
-}
-func (m *ReduceGroupMemberFromCacheReq) XXX_Size() int {
- return xxx_messageInfo_ReduceGroupMemberFromCacheReq.Size(m)
-}
-func (m *ReduceGroupMemberFromCacheReq) XXX_DiscardUnknown() {
- xxx_messageInfo_ReduceGroupMemberFromCacheReq.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReduceGroupMemberFromCacheReq proto.InternalMessageInfo
-
-func (m *ReduceGroupMemberFromCacheReq) GetUserIDList() []string {
- if m != nil {
- return m.UserIDList
- }
- return nil
-}
-
-func (m *ReduceGroupMemberFromCacheReq) GetGroupID() string {
- if m != nil {
- return m.GroupID
- }
- return ""
-}
-
-func (m *ReduceGroupMemberFromCacheReq) GetOperationID() string {
- if m != nil {
- return m.OperationID
- }
- return ""
-}
-
-type ReduceGroupMemberFromCacheResp struct {
- CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *ReduceGroupMemberFromCacheResp) Reset() { *m = ReduceGroupMemberFromCacheResp{} }
-func (m *ReduceGroupMemberFromCacheResp) String() string { return proto.CompactTextString(m) }
-func (*ReduceGroupMemberFromCacheResp) ProtoMessage() {}
-func (*ReduceGroupMemberFromCacheResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_cache_cf8751e0f76be356, []int{22}
-}
-func (m *ReduceGroupMemberFromCacheResp) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_ReduceGroupMemberFromCacheResp.Unmarshal(m, b)
-}
-func (m *ReduceGroupMemberFromCacheResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_ReduceGroupMemberFromCacheResp.Marshal(b, m, deterministic)
-}
-func (dst *ReduceGroupMemberFromCacheResp) XXX_Merge(src proto.Message) {
- xxx_messageInfo_ReduceGroupMemberFromCacheResp.Merge(dst, src)
-}
-func (m *ReduceGroupMemberFromCacheResp) XXX_Size() int {
- return xxx_messageInfo_ReduceGroupMemberFromCacheResp.Size(m)
-}
-func (m *ReduceGroupMemberFromCacheResp) XXX_DiscardUnknown() {
- xxx_messageInfo_ReduceGroupMemberFromCacheResp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ReduceGroupMemberFromCacheResp proto.InternalMessageInfo
-
-func (m *ReduceGroupMemberFromCacheResp) GetCommonResp() *CommonResp {
+func (m *DelGroupMemberIDListFromCacheResp) GetCommonResp() *CommonResp {
if m != nil {
return m.CommonResp
}
@@ -1076,28 +600,18 @@ func (m *ReduceGroupMemberFromCacheResp) GetCommonResp() *CommonResp {
func init() {
proto.RegisterType((*CommonResp)(nil), "cache.CommonResp")
- proto.RegisterType((*GetUserInfoFromCacheReq)(nil), "cache.GetUserInfoFromCacheReq")
- proto.RegisterType((*GetUserInfoFromCacheResp)(nil), "cache.GetUserInfoFromCacheResp")
- proto.RegisterType((*UpdateUserInfoToCacheReq)(nil), "cache.UpdateUserInfoToCacheReq")
- proto.RegisterType((*UpdateUserInfoToCacheResp)(nil), "cache.UpdateUserInfoToCacheResp")
proto.RegisterType((*GetFriendIDListFromCacheReq)(nil), "cache.GetFriendIDListFromCacheReq")
proto.RegisterType((*GetFriendIDListFromCacheResp)(nil), "cache.GetFriendIDListFromCacheResp")
- proto.RegisterType((*AddFriendToCacheReq)(nil), "cache.AddFriendToCacheReq")
- proto.RegisterType((*AddFriendToCacheResp)(nil), "cache.AddFriendToCacheResp")
- proto.RegisterType((*ReduceFriendFromCacheReq)(nil), "cache.ReduceFriendFromCacheReq")
- proto.RegisterType((*ReduceFriendFromCacheResp)(nil), "cache.ReduceFriendFromCacheResp")
+ proto.RegisterType((*DelFriendIDListFromCacheReq)(nil), "cache.DelFriendIDListFromCacheReq")
+ proto.RegisterType((*DelFriendIDListFromCacheResp)(nil), "cache.DelFriendIDListFromCacheResp")
proto.RegisterType((*GetBlackIDListFromCacheReq)(nil), "cache.GetBlackIDListFromCacheReq")
proto.RegisterType((*GetBlackIDListFromCacheResp)(nil), "cache.GetBlackIDListFromCacheResp")
- proto.RegisterType((*AddBlackUserToCacheReq)(nil), "cache.AddBlackUserToCacheReq")
- proto.RegisterType((*AddBlackUserToCacheResp)(nil), "cache.AddBlackUserToCacheResp")
- proto.RegisterType((*ReduceBlackUserFromCacheReq)(nil), "cache.ReduceBlackUserFromCacheReq")
- proto.RegisterType((*ReduceBlackUserFromCacheResp)(nil), "cache.ReduceBlackUserFromCacheResp")
+ proto.RegisterType((*DelBlackIDListFromCacheReq)(nil), "cache.DelBlackIDListFromCacheReq")
+ proto.RegisterType((*DelBlackIDListFromCacheResp)(nil), "cache.DelBlackIDListFromCacheResp")
proto.RegisterType((*GetGroupMemberIDListFromCacheReq)(nil), "cache.GetGroupMemberIDListFromCacheReq")
proto.RegisterType((*GetGroupMemberIDListFromCacheResp)(nil), "cache.GetGroupMemberIDListFromCacheResp")
- proto.RegisterType((*AddGroupMemberToCacheReq)(nil), "cache.AddGroupMemberToCacheReq")
- proto.RegisterType((*AddGroupMemberToCacheResp)(nil), "cache.AddGroupMemberToCacheResp")
- proto.RegisterType((*ReduceGroupMemberFromCacheReq)(nil), "cache.ReduceGroupMemberFromCacheReq")
- proto.RegisterType((*ReduceGroupMemberFromCacheResp)(nil), "cache.ReduceGroupMemberFromCacheResp")
+ proto.RegisterType((*DelGroupMemberIDListFromCacheReq)(nil), "cache.DelGroupMemberIDListFromCacheReq")
+ proto.RegisterType((*DelGroupMemberIDListFromCacheResp)(nil), "cache.DelGroupMemberIDListFromCacheResp")
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -1111,21 +625,18 @@ const _ = grpc.SupportPackageIsVersion4
// Client API for Cache service
type CacheClient interface {
- // userInfo
- GetUserInfoFromCache(ctx context.Context, in *GetUserInfoFromCacheReq, opts ...grpc.CallOption) (*GetUserInfoFromCacheResp, error)
- UpdateUserInfoToCache(ctx context.Context, in *UpdateUserInfoToCacheReq, opts ...grpc.CallOption) (*UpdateUserInfoToCacheResp, error)
// friendInfo
GetFriendIDListFromCache(ctx context.Context, in *GetFriendIDListFromCacheReq, opts ...grpc.CallOption) (*GetFriendIDListFromCacheResp, error)
- AddFriendToCache(ctx context.Context, in *AddFriendToCacheReq, opts ...grpc.CallOption) (*AddFriendToCacheResp, error)
- ReduceFriendFromCache(ctx context.Context, in *ReduceFriendFromCacheReq, opts ...grpc.CallOption) (*ReduceFriendFromCacheResp, error)
+ // for dtm
+ DelFriendIDListFromCache(ctx context.Context, in *DelFriendIDListFromCacheReq, opts ...grpc.CallOption) (*DelFriendIDListFromCacheResp, error)
// blackList
GetBlackIDListFromCache(ctx context.Context, in *GetBlackIDListFromCacheReq, opts ...grpc.CallOption) (*GetBlackIDListFromCacheResp, error)
- AddBlackUserToCache(ctx context.Context, in *AddBlackUserToCacheReq, opts ...grpc.CallOption) (*AddBlackUserToCacheResp, error)
- ReduceBlackUserFromCache(ctx context.Context, in *ReduceBlackUserFromCacheReq, opts ...grpc.CallOption) (*ReduceBlackUserFromCacheResp, error)
+ // for dtm
+ DelBlackIDListFromCache(ctx context.Context, in *DelBlackIDListFromCacheReq, opts ...grpc.CallOption) (*DelBlackIDListFromCacheResp, error)
// group
GetGroupMemberIDListFromCache(ctx context.Context, in *GetGroupMemberIDListFromCacheReq, opts ...grpc.CallOption) (*GetGroupMemberIDListFromCacheResp, error)
- AddGroupMemberToCache(ctx context.Context, in *AddGroupMemberToCacheReq, opts ...grpc.CallOption) (*AddGroupMemberToCacheResp, error)
- ReduceGroupMemberFromCache(ctx context.Context, in *ReduceGroupMemberFromCacheReq, opts ...grpc.CallOption) (*ReduceGroupMemberFromCacheResp, error)
+ // for dtm
+ DelGroupMemberIDListFromCache(ctx context.Context, in *DelGroupMemberIDListFromCacheReq, opts ...grpc.CallOption) (*DelGroupMemberIDListFromCacheResp, error)
}
type cacheClient struct {
@@ -1136,24 +647,6 @@ func NewCacheClient(cc *grpc.ClientConn) CacheClient {
return &cacheClient{cc}
}
-func (c *cacheClient) GetUserInfoFromCache(ctx context.Context, in *GetUserInfoFromCacheReq, opts ...grpc.CallOption) (*GetUserInfoFromCacheResp, error) {
- out := new(GetUserInfoFromCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/GetUserInfoFromCache", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *cacheClient) UpdateUserInfoToCache(ctx context.Context, in *UpdateUserInfoToCacheReq, opts ...grpc.CallOption) (*UpdateUserInfoToCacheResp, error) {
- out := new(UpdateUserInfoToCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/UpdateUserInfoToCache", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
func (c *cacheClient) GetFriendIDListFromCache(ctx context.Context, in *GetFriendIDListFromCacheReq, opts ...grpc.CallOption) (*GetFriendIDListFromCacheResp, error) {
out := new(GetFriendIDListFromCacheResp)
err := grpc.Invoke(ctx, "/cache.cache/GetFriendIDListFromCache", in, out, c.cc, opts...)
@@ -1163,18 +656,9 @@ func (c *cacheClient) GetFriendIDListFromCache(ctx context.Context, in *GetFrien
return out, nil
}
-func (c *cacheClient) AddFriendToCache(ctx context.Context, in *AddFriendToCacheReq, opts ...grpc.CallOption) (*AddFriendToCacheResp, error) {
- out := new(AddFriendToCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/AddFriendToCache", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *cacheClient) ReduceFriendFromCache(ctx context.Context, in *ReduceFriendFromCacheReq, opts ...grpc.CallOption) (*ReduceFriendFromCacheResp, error) {
- out := new(ReduceFriendFromCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/ReduceFriendFromCache", in, out, c.cc, opts...)
+func (c *cacheClient) DelFriendIDListFromCache(ctx context.Context, in *DelFriendIDListFromCacheReq, opts ...grpc.CallOption) (*DelFriendIDListFromCacheResp, error) {
+ out := new(DelFriendIDListFromCacheResp)
+ err := grpc.Invoke(ctx, "/cache.cache/DelFriendIDListFromCache", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -1190,18 +674,9 @@ func (c *cacheClient) GetBlackIDListFromCache(ctx context.Context, in *GetBlackI
return out, nil
}
-func (c *cacheClient) AddBlackUserToCache(ctx context.Context, in *AddBlackUserToCacheReq, opts ...grpc.CallOption) (*AddBlackUserToCacheResp, error) {
- out := new(AddBlackUserToCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/AddBlackUserToCache", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *cacheClient) ReduceBlackUserFromCache(ctx context.Context, in *ReduceBlackUserFromCacheReq, opts ...grpc.CallOption) (*ReduceBlackUserFromCacheResp, error) {
- out := new(ReduceBlackUserFromCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/ReduceBlackUserFromCache", in, out, c.cc, opts...)
+func (c *cacheClient) DelBlackIDListFromCache(ctx context.Context, in *DelBlackIDListFromCacheReq, opts ...grpc.CallOption) (*DelBlackIDListFromCacheResp, error) {
+ out := new(DelBlackIDListFromCacheResp)
+ err := grpc.Invoke(ctx, "/cache.cache/DelBlackIDListFromCache", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -1217,18 +692,9 @@ func (c *cacheClient) GetGroupMemberIDListFromCache(ctx context.Context, in *Get
return out, nil
}
-func (c *cacheClient) AddGroupMemberToCache(ctx context.Context, in *AddGroupMemberToCacheReq, opts ...grpc.CallOption) (*AddGroupMemberToCacheResp, error) {
- out := new(AddGroupMemberToCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/AddGroupMemberToCache", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *cacheClient) ReduceGroupMemberFromCache(ctx context.Context, in *ReduceGroupMemberFromCacheReq, opts ...grpc.CallOption) (*ReduceGroupMemberFromCacheResp, error) {
- out := new(ReduceGroupMemberFromCacheResp)
- err := grpc.Invoke(ctx, "/cache.cache/ReduceGroupMemberFromCache", in, out, c.cc, opts...)
+func (c *cacheClient) DelGroupMemberIDListFromCache(ctx context.Context, in *DelGroupMemberIDListFromCacheReq, opts ...grpc.CallOption) (*DelGroupMemberIDListFromCacheResp, error) {
+ out := new(DelGroupMemberIDListFromCacheResp)
+ err := grpc.Invoke(ctx, "/cache.cache/DelGroupMemberIDListFromCache", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -1238,63 +704,24 @@ func (c *cacheClient) ReduceGroupMemberFromCache(ctx context.Context, in *Reduce
// Server API for Cache service
type CacheServer interface {
- // userInfo
- GetUserInfoFromCache(context.Context, *GetUserInfoFromCacheReq) (*GetUserInfoFromCacheResp, error)
- UpdateUserInfoToCache(context.Context, *UpdateUserInfoToCacheReq) (*UpdateUserInfoToCacheResp, error)
// friendInfo
GetFriendIDListFromCache(context.Context, *GetFriendIDListFromCacheReq) (*GetFriendIDListFromCacheResp, error)
- AddFriendToCache(context.Context, *AddFriendToCacheReq) (*AddFriendToCacheResp, error)
- ReduceFriendFromCache(context.Context, *ReduceFriendFromCacheReq) (*ReduceFriendFromCacheResp, error)
+ // for dtm
+ DelFriendIDListFromCache(context.Context, *DelFriendIDListFromCacheReq) (*DelFriendIDListFromCacheResp, error)
// blackList
GetBlackIDListFromCache(context.Context, *GetBlackIDListFromCacheReq) (*GetBlackIDListFromCacheResp, error)
- AddBlackUserToCache(context.Context, *AddBlackUserToCacheReq) (*AddBlackUserToCacheResp, error)
- ReduceBlackUserFromCache(context.Context, *ReduceBlackUserFromCacheReq) (*ReduceBlackUserFromCacheResp, error)
+ // for dtm
+ DelBlackIDListFromCache(context.Context, *DelBlackIDListFromCacheReq) (*DelBlackIDListFromCacheResp, error)
// group
GetGroupMemberIDListFromCache(context.Context, *GetGroupMemberIDListFromCacheReq) (*GetGroupMemberIDListFromCacheResp, error)
- AddGroupMemberToCache(context.Context, *AddGroupMemberToCacheReq) (*AddGroupMemberToCacheResp, error)
- ReduceGroupMemberFromCache(context.Context, *ReduceGroupMemberFromCacheReq) (*ReduceGroupMemberFromCacheResp, error)
+ // for dtm
+ DelGroupMemberIDListFromCache(context.Context, *DelGroupMemberIDListFromCacheReq) (*DelGroupMemberIDListFromCacheResp, error)
}
func RegisterCacheServer(s *grpc.Server, srv CacheServer) {
s.RegisterService(&_Cache_serviceDesc, srv)
}
-func _Cache_GetUserInfoFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetUserInfoFromCacheReq)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(CacheServer).GetUserInfoFromCache(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/cache.cache/GetUserInfoFromCache",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).GetUserInfoFromCache(ctx, req.(*GetUserInfoFromCacheReq))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _Cache_UpdateUserInfoToCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateUserInfoToCacheReq)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(CacheServer).UpdateUserInfoToCache(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/cache.cache/UpdateUserInfoToCache",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).UpdateUserInfoToCache(ctx, req.(*UpdateUserInfoToCacheReq))
- }
- return interceptor(ctx, in, info, handler)
-}
-
func _Cache_GetFriendIDListFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetFriendIDListFromCacheReq)
if err := dec(in); err != nil {
@@ -1313,38 +740,20 @@ func _Cache_GetFriendIDListFromCache_Handler(srv interface{}, ctx context.Contex
return interceptor(ctx, in, info, handler)
}
-func _Cache_AddFriendToCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(AddFriendToCacheReq)
+func _Cache_DelFriendIDListFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DelFriendIDListFromCacheReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(CacheServer).AddFriendToCache(ctx, in)
+ return srv.(CacheServer).DelFriendIDListFromCache(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/cache.cache/AddFriendToCache",
+ FullMethod: "/cache.cache/DelFriendIDListFromCache",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).AddFriendToCache(ctx, req.(*AddFriendToCacheReq))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _Cache_ReduceFriendFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ReduceFriendFromCacheReq)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(CacheServer).ReduceFriendFromCache(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/cache.cache/ReduceFriendFromCache",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).ReduceFriendFromCache(ctx, req.(*ReduceFriendFromCacheReq))
+ return srv.(CacheServer).DelFriendIDListFromCache(ctx, req.(*DelFriendIDListFromCacheReq))
}
return interceptor(ctx, in, info, handler)
}
@@ -1367,38 +776,20 @@ func _Cache_GetBlackIDListFromCache_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler)
}
-func _Cache_AddBlackUserToCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(AddBlackUserToCacheReq)
+func _Cache_DelBlackIDListFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DelBlackIDListFromCacheReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(CacheServer).AddBlackUserToCache(ctx, in)
+ return srv.(CacheServer).DelBlackIDListFromCache(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/cache.cache/AddBlackUserToCache",
+ FullMethod: "/cache.cache/DelBlackIDListFromCache",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).AddBlackUserToCache(ctx, req.(*AddBlackUserToCacheReq))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _Cache_ReduceBlackUserFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ReduceBlackUserFromCacheReq)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(CacheServer).ReduceBlackUserFromCache(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/cache.cache/ReduceBlackUserFromCache",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).ReduceBlackUserFromCache(ctx, req.(*ReduceBlackUserFromCacheReq))
+ return srv.(CacheServer).DelBlackIDListFromCache(ctx, req.(*DelBlackIDListFromCacheReq))
}
return interceptor(ctx, in, info, handler)
}
@@ -1421,38 +812,20 @@ func _Cache_GetGroupMemberIDListFromCache_Handler(srv interface{}, ctx context.C
return interceptor(ctx, in, info, handler)
}
-func _Cache_AddGroupMemberToCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(AddGroupMemberToCacheReq)
+func _Cache_DelGroupMemberIDListFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DelGroupMemberIDListFromCacheReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(CacheServer).AddGroupMemberToCache(ctx, in)
+ return srv.(CacheServer).DelGroupMemberIDListFromCache(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/cache.cache/AddGroupMemberToCache",
+ FullMethod: "/cache.cache/DelGroupMemberIDListFromCache",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).AddGroupMemberToCache(ctx, req.(*AddGroupMemberToCacheReq))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _Cache_ReduceGroupMemberFromCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ReduceGroupMemberFromCacheReq)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(CacheServer).ReduceGroupMemberFromCache(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/cache.cache/ReduceGroupMemberFromCache",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(CacheServer).ReduceGroupMemberFromCache(ctx, req.(*ReduceGroupMemberFromCacheReq))
+ return srv.(CacheServer).DelGroupMemberIDListFromCache(ctx, req.(*DelGroupMemberIDListFromCacheReq))
}
return interceptor(ctx, in, info, handler)
}
@@ -1461,104 +834,67 @@ var _Cache_serviceDesc = grpc.ServiceDesc{
ServiceName: "cache.cache",
HandlerType: (*CacheServer)(nil),
Methods: []grpc.MethodDesc{
- {
- MethodName: "GetUserInfoFromCache",
- Handler: _Cache_GetUserInfoFromCache_Handler,
- },
- {
- MethodName: "UpdateUserInfoToCache",
- Handler: _Cache_UpdateUserInfoToCache_Handler,
- },
{
MethodName: "GetFriendIDListFromCache",
Handler: _Cache_GetFriendIDListFromCache_Handler,
},
{
- MethodName: "AddFriendToCache",
- Handler: _Cache_AddFriendToCache_Handler,
- },
- {
- MethodName: "ReduceFriendFromCache",
- Handler: _Cache_ReduceFriendFromCache_Handler,
+ MethodName: "DelFriendIDListFromCache",
+ Handler: _Cache_DelFriendIDListFromCache_Handler,
},
{
MethodName: "GetBlackIDListFromCache",
Handler: _Cache_GetBlackIDListFromCache_Handler,
},
{
- MethodName: "AddBlackUserToCache",
- Handler: _Cache_AddBlackUserToCache_Handler,
- },
- {
- MethodName: "ReduceBlackUserFromCache",
- Handler: _Cache_ReduceBlackUserFromCache_Handler,
+ MethodName: "DelBlackIDListFromCache",
+ Handler: _Cache_DelBlackIDListFromCache_Handler,
},
{
MethodName: "GetGroupMemberIDListFromCache",
Handler: _Cache_GetGroupMemberIDListFromCache_Handler,
},
{
- MethodName: "AddGroupMemberToCache",
- Handler: _Cache_AddGroupMemberToCache_Handler,
- },
- {
- MethodName: "ReduceGroupMemberFromCache",
- Handler: _Cache_ReduceGroupMemberFromCache_Handler,
+ MethodName: "DelGroupMemberIDListFromCache",
+ Handler: _Cache_DelGroupMemberIDListFromCache_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cache/cache.proto",
}
-func init() { proto.RegisterFile("cache/cache.proto", fileDescriptor_cache_cf8751e0f76be356) }
+func init() { proto.RegisterFile("cache/cache.proto", fileDescriptor_cache_dd6bac081ee50bd6) }
-var fileDescriptor_cache_cf8751e0f76be356 = []byte{
- // 751 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x6f, 0x4f, 0x13, 0x4f,
- 0x10, 0xce, 0x95, 0xc0, 0x0f, 0xa6, 0x3f, 0xa3, 0xac, 0x08, 0xc7, 0x16, 0xea, 0x71, 0x6a, 0xec,
- 0xab, 0x36, 0xe2, 0x4b, 0x13, 0x0d, 0x7f, 0x42, 0xd3, 0x08, 0x18, 0x4f, 0x90, 0x04, 0x13, 0xeb,
- 0xd1, 0x5b, 0xb0, 0xa9, 0xed, 0x2d, 0xbb, 0x57, 0x88, 0x31, 0x7e, 0x05, 0x3f, 0x84, 0x9f, 0xd4,
- 0x74, 0xf7, 0xfe, 0x73, 0x7b, 0x3d, 0x0e, 0x7d, 0x73, 0xc9, 0xee, 0xce, 0x3d, 0x33, 0xcf, 0x3e,
- 0x73, 0x33, 0x73, 0xb0, 0xd8, 0xb3, 0x7b, 0x5f, 0x49, 0x4b, 0x3c, 0x9b, 0x94, 0xb9, 0x9e, 0x8b,
- 0x66, 0xc5, 0x02, 0x6f, 0xbc, 0xa3, 0x64, 0xd4, 0xed, 0x1c, 0xb4, 0xe8, 0xe0, 0xa2, 0x25, 0x4e,
- 0x5a, 0xdc, 0x19, 0x74, 0xaf, 0x79, 0xeb, 0x9a, 0x4b, 0x4b, 0xf3, 0x35, 0xc0, 0x8e, 0x3b, 0x1c,
- 0xba, 0x23, 0x8b, 0x70, 0x8a, 0x74, 0xf8, 0x8f, 0x30, 0xb6, 0xe3, 0x3a, 0x44, 0xd7, 0x0c, 0xad,
- 0x31, 0x6b, 0x05, 0x4b, 0xb4, 0x0c, 0x73, 0x84, 0xb1, 0x03, 0x7e, 0xa1, 0x57, 0x0c, 0xad, 0xb1,
- 0x60, 0xf9, 0x2b, 0xf3, 0x13, 0xac, 0xb4, 0x89, 0x77, 0xcc, 0x09, 0xeb, 0x8c, 0xce, 0xdd, 0x3d,
- 0xe6, 0x0e, 0x77, 0x26, 0xae, 0x2d, 0x72, 0x89, 0xea, 0x00, 0xe3, 0xc9, 0xfe, 0xee, 0x7e, 0x9f,
- 0x7b, 0xba, 0x66, 0xcc, 0x34, 0x16, 0xac, 0xd8, 0x0e, 0x32, 0xa0, 0xea, 0x52, 0xc2, 0x6c, 0xaf,
- 0xef, 0x8e, 0x3a, 0xbb, 0x3e, 0x6e, 0x7c, 0xcb, 0xfc, 0xa5, 0x81, 0x9e, 0x8d, 0xce, 0x29, 0x7a,
- 0x01, 0xd0, 0x0b, 0x23, 0x17, 0xe1, 0x56, 0x37, 0x17, 0x9b, 0xf2, 0x16, 0x22, 0x4a, 0x56, 0xcc,
- 0x08, 0xbd, 0x81, 0xff, 0xc7, 0x3e, 0x96, 0x88, 0xa9, 0x62, 0xcc, 0x34, 0xaa, 0x9b, 0xb5, 0x26,
- 0x27, 0xec, 0x8a, 0xb0, 0xae, 0x4d, 0xfb, 0x5d, 0x6a, 0x33, 0x7b, 0xc8, 0x9b, 0x81, 0x4b, 0x2b,
- 0xf1, 0x82, 0xf9, 0x13, 0xf4, 0x63, 0xea, 0xd8, 0x1e, 0x09, 0xce, 0x8f, 0xdc, 0x90, 0x6e, 0x1a,
- 0x5c, 0xbb, 0x25, 0x78, 0x81, 0xfb, 0x38, 0x84, 0x55, 0x85, 0xfb, 0x52, 0xf7, 0x61, 0x9e, 0x40,
- 0xad, 0x4d, 0xbc, 0x3d, 0xd6, 0x27, 0x23, 0x47, 0x8a, 0x92, 0x10, 0x70, 0x19, 0xe6, 0xa4, 0x5c,
- 0x02, 0x6d, 0xc1, 0xf2, 0x57, 0x05, 0x02, 0xbd, 0x84, 0x35, 0x35, 0x30, 0xa7, 0x53, 0x53, 0x23,
- 0xc9, 0xa5, 0x52, 0x84, 0xcb, 0x00, 0x1e, 0x6e, 0x39, 0x8e, 0x74, 0x19, 0x53, 0x45, 0xc5, 0x01,
- 0xc3, 0xfc, 0xb9, 0x1f, 0x9e, 0x4f, 0x20, 0x5c, 0xa7, 0xf9, 0xcd, 0xdc, 0xe4, 0xd7, 0x81, 0xa5,
- 0x9b, 0xce, 0xca, 0x69, 0x40, 0x41, 0xb7, 0x88, 0x33, 0xee, 0x11, 0x89, 0x56, 0x48, 0x80, 0xbb,
- 0x05, 0x7f, 0x08, 0xab, 0x0a, 0x8f, 0xe5, 0x18, 0x7c, 0x04, 0xdc, 0x26, 0xde, 0xf6, 0x37, 0xbb,
- 0x37, 0xf8, 0xab, 0x49, 0x44, 0x45, 0x76, 0x66, 0xe3, 0xfe, 0x9b, 0x1c, 0xf2, 0x60, 0x79, 0xcb,
- 0x71, 0x84, 0xc7, 0xc9, 0x17, 0x56, 0x20, 0x8d, 0x0c, 0xa8, 0x9e, 0x05, 0xe6, 0x11, 0x8b, 0xd8,
- 0x56, 0x01, 0x3d, 0xf6, 0x61, 0x25, 0xd3, 0x6b, 0x39, 0x35, 0xbe, 0x43, 0x4d, 0xaa, 0x1b, 0x02,
- 0x16, 0x95, 0xe3, 0xce, 0x44, 0xde, 0xc3, 0x9a, 0xda, 0x75, 0x39, 0x36, 0x9f, 0xc1, 0x68, 0x13,
- 0xaf, 0xcd, 0xdc, 0x31, 0x3d, 0x20, 0xc3, 0xb3, 0x40, 0xdc, 0x04, 0xa5, 0x54, 0x60, 0xda, 0x8d,
- 0xc0, 0x26, 0x6d, 0xed, 0x62, 0x02, 0x11, 0x12, 0x0b, 0x96, 0xe6, 0x15, 0x6c, 0x4c, 0xc1, 0x2f,
- 0xd7, 0x69, 0x92, 0xc9, 0x59, 0x49, 0x27, 0xa7, 0x79, 0x05, 0xfa, 0x96, 0xe3, 0xc4, 0xfc, 0xc6,
- 0x72, 0x6d, 0x5a, 0x62, 0x2b, 0xd9, 0x14, 0xfb, 0xf6, 0x15, 0x7e, 0xcb, 0xe9, 0xf3, 0x03, 0xd6,
- 0xa5, 0xe4, 0x31, 0xc8, 0x5b, 0x0d, 0x01, 0x77, 0x21, 0xf3, 0x01, 0xea, 0x79, 0xce, 0x4b, 0x31,
- 0xda, 0xfc, 0x3d, 0x0f, 0x72, 0x7a, 0x42, 0x27, 0xb0, 0x94, 0x35, 0x7c, 0xa0, 0xba, 0x0f, 0xa0,
- 0x98, 0x7b, 0xf0, 0xe3, 0xdc, 0x73, 0x4e, 0xd1, 0x29, 0x3c, 0xca, 0x6c, 0xe3, 0x28, 0x78, 0x53,
- 0x35, 0x63, 0x60, 0x23, 0xdf, 0x80, 0x53, 0xd4, 0x13, 0x13, 0x53, 0x66, 0xe7, 0x45, 0x66, 0x14,
- 0x98, 0xaa, 0xe7, 0xe3, 0x27, 0x53, 0x6d, 0x38, 0x45, 0x6f, 0xe1, 0x41, 0xba, 0xfd, 0x21, 0xec,
- 0xbf, 0x98, 0xd1, 0x84, 0x71, 0x4d, 0x79, 0x26, 0x6f, 0x23, 0xb3, 0x1d, 0x85, 0xb7, 0xa1, 0x6a,
- 0x8f, 0xe1, 0x6d, 0xa8, 0xbb, 0xd9, 0x17, 0x31, 0x9d, 0x66, 0xb5, 0x10, 0xb4, 0x11, 0x11, 0x55,
- 0xb4, 0x2e, 0x6c, 0x4e, 0x33, 0xe1, 0x14, 0x1d, 0x89, 0xb1, 0x23, 0x5d, 0xbc, 0xd1, 0x7a, 0xc4,
- 0x38, 0xa3, 0x9d, 0xe0, 0x7a, 0xde, 0xb1, 0x54, 0x51, 0x55, 0x49, 0x43, 0x15, 0x73, 0xaa, 0x7c,
- 0xa8, 0x62, 0x6e, 0x39, 0x66, 0xb0, 0x9e, 0x5b, 0xfb, 0xd0, 0xf3, 0x88, 0x7f, 0x6e, 0x05, 0xc6,
- 0x8d, 0x62, 0x86, 0x52, 0xec, 0xcc, 0xfa, 0x13, 0x8a, 0xad, 0xaa, 0x8a, 0xa1, 0xd8, 0xea, 0xf2,
- 0xd5, 0x07, 0xac, 0x2e, 0x07, 0xe8, 0x69, 0xe2, 0x4a, 0x14, 0xe5, 0x0a, 0x3f, 0x2b, 0x60, 0xc5,
- 0xe9, 0xf6, 0xfd, 0xd3, 0x7b, 0x4d, 0xf9, 0xc3, 0xf5, 0x4a, 0x3c, 0xcf, 0xe6, 0xc4, 0xdf, 0xd4,
- 0xcb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x94, 0x59, 0x33, 0x8c, 0x0d, 0x00, 0x00,
+var fileDescriptor_cache_dd6bac081ee50bd6 = []byte{
+ // 469 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x8f, 0x93, 0x40,
+ 0x14, 0x0f, 0xab, 0xbb, 0xa6, 0x6f, 0x63, 0xcc, 0xce, 0x41, 0x09, 0xae, 0x06, 0xf0, 0x20, 0xa7,
+ 0x12, 0xd7, 0xa3, 0x89, 0x87, 0x2d, 0x59, 0x42, 0x62, 0xa3, 0x72, 0xa8, 0x89, 0x07, 0xd7, 0x2e,
+ 0x7d, 0xa9, 0x4d, 0x81, 0x99, 0x9d, 0x61, 0xed, 0x5f, 0x6f, 0x62, 0x66, 0xa0, 0x94, 0xa2, 0x03,
+ 0x4d, 0xd3, 0x5e, 0x48, 0x1e, 0x3c, 0x7e, 0x1f, 0xf3, 0x3e, 0x06, 0x2e, 0x92, 0x69, 0xf2, 0x0b,
+ 0x7d, 0xf5, 0x1c, 0x32, 0x4e, 0x0b, 0x4a, 0x4e, 0x55, 0x60, 0x39, 0x9f, 0x19, 0xe6, 0xb7, 0xd1,
+ 0xd8, 0x67, 0xcb, 0xb9, 0xaf, 0xbe, 0xf8, 0x62, 0xb6, 0xbc, 0x5d, 0x09, 0x7f, 0x25, 0xca, 0x4c,
+ 0xf7, 0x23, 0xc0, 0x88, 0x66, 0x19, 0xcd, 0x63, 0x14, 0x8c, 0x98, 0xf0, 0x04, 0x39, 0x1f, 0xd1,
+ 0x19, 0x9a, 0x86, 0x6d, 0x78, 0xa7, 0xf1, 0x3a, 0x24, 0xcf, 0xe1, 0x0c, 0x39, 0x1f, 0x8b, 0xb9,
+ 0x79, 0x62, 0x1b, 0xde, 0x20, 0xae, 0x22, 0xf7, 0x1b, 0xbc, 0x0c, 0xb1, 0xb8, 0xe1, 0x0b, 0xcc,
+ 0x67, 0x51, 0xf0, 0x69, 0x21, 0x8a, 0x1b, 0x4e, 0xb3, 0x91, 0xa4, 0x8f, 0xf1, 0x5e, 0xfe, 0xf6,
+ 0x20, 0x90, 0x47, 0x81, 0xc2, 0x1b, 0xc4, 0x55, 0x44, 0x6c, 0x38, 0xa7, 0x0c, 0xf9, 0xb4, 0x58,
+ 0xd0, 0x3c, 0x0a, 0x2a, 0xcc, 0xe6, 0x2b, 0xf7, 0x1e, 0x2e, 0xf5, 0xc0, 0x82, 0x91, 0xd7, 0x00,
+ 0x25, 0x96, 0xfc, 0x64, 0x1a, 0xf6, 0x23, 0x6f, 0x10, 0x37, 0xde, 0x90, 0x77, 0x00, 0x49, 0x6d,
+ 0x4c, 0x11, 0x9c, 0x5f, 0x5d, 0x0c, 0xcb, 0x43, 0xda, 0x38, 0x8e, 0x1b, 0x49, 0xd2, 0x4b, 0x80,
+ 0xe9, 0x11, 0xbc, 0x7c, 0x85, 0x4b, 0x3d, 0xb0, 0x60, 0x2d, 0xad, 0xc6, 0x2e, 0x5a, 0x27, 0x60,
+ 0x85, 0x58, 0x5c, 0xa7, 0xd3, 0x64, 0x79, 0x50, 0xa9, 0x4c, 0xd5, 0xf3, 0xff, 0xb8, 0xc7, 0x39,
+ 0xf5, 0x09, 0x58, 0x01, 0xa6, 0x87, 0x77, 0xf2, 0x45, 0x55, 0x53, 0xeb, 0x64, 0x8f, 0x33, 0xff,
+ 0x01, 0x76, 0x88, 0x45, 0xc8, 0xe9, 0x03, 0x1b, 0x63, 0x76, 0xb7, 0x36, 0xbd, 0xa5, 0xb7, 0xa5,
+ 0xcb, 0xf8, 0x47, 0x97, 0x9c, 0xb1, 0xb9, 0x84, 0xa8, 0x55, 0xaf, 0x43, 0xf7, 0x37, 0x38, 0x3d,
+ 0xf8, 0x7b, 0xe9, 0x6e, 0x15, 0xed, 0xa4, 0x5d, 0x34, 0xe9, 0x2b, 0xc0, 0xb4, 0xdb, 0x57, 0x43,
+ 0xb5, 0xb1, 0xa5, 0x7a, 0x87, 0x4a, 0x4c, 0xc0, 0xe9, 0xc1, 0xdf, 0xcb, 0xd7, 0xd5, 0x9f, 0xc7,
+ 0x50, 0x2e, 0x3a, 0x92, 0x80, 0xa9, 0x5b, 0x16, 0xc4, 0xad, 0x40, 0x3a, 0xd6, 0x94, 0xf5, 0xa6,
+ 0x37, 0x47, 0x30, 0x49, 0xa2, 0x9b, 0xe2, 0x9a, 0xa4, 0x63, 0x7f, 0xd4, 0x24, 0x9d, 0xab, 0xe0,
+ 0x27, 0xbc, 0xd0, 0xcc, 0x1f, 0x71, 0x36, 0x22, 0x35, 0xd3, 0x62, 0xb9, 0x7d, 0x29, 0x25, 0x83,
+ 0x66, 0x2e, 0x6a, 0x06, 0xfd, 0x3c, 0x5a, 0x6e, 0x5f, 0x8a, 0x60, 0x84, 0xc3, 0xab, 0xce, 0x3e,
+ 0x26, 0x6f, 0x37, 0x32, 0x3b, 0xbb, 0xce, 0xf2, 0x76, 0x4b, 0x2c, 0x39, 0x3b, 0x7b, 0xac, 0xe6,
+ 0xec, 0xeb, 0xf4, 0x9a, 0xb3, 0xb7, 0x65, 0xaf, 0x9f, 0x7d, 0x7f, 0x3a, 0x2c, 0xaf, 0xdd, 0x0f,
+ 0xea, 0x79, 0x77, 0xa6, 0xee, 0xd4, 0xf7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xd1, 0x83,
+ 0x35, 0x92, 0x07, 0x00, 0x00,
}
diff --git a/pkg/proto/cache/cache.proto b/pkg/proto/cache/cache.proto
index b452ac1f1..7e1eeabdf 100644
--- a/pkg/proto/cache/cache.proto
+++ b/pkg/proto/cache/cache.proto
@@ -8,26 +8,6 @@ message CommonResp{
string errMsg = 2;
}
-message GetUserInfoFromCacheReq{
- repeated string userIDList = 1;
- string operationID = 2;
-}
-
-message GetUserInfoFromCacheResp{
- CommonResp commonResp = 1;
- repeated server_api_params.UserInfo userInfoList = 2;
-}
-
-
-message UpdateUserInfoToCacheReq{
- repeated server_api_params.UserInfo userInfoList = 1;
- string operationID = 2;
-}
-
-message UpdateUserInfoToCacheResp{
- CommonResp commonResp = 1;
-}
-
message GetFriendIDListFromCacheReq {
string userID = 1;
string operationID = 2;
@@ -38,24 +18,13 @@ message GetFriendIDListFromCacheResp {
CommonResp commonResp = 2;
}
-message AddFriendToCacheReq {
- string userID = 1;
- string friendID = 2;
- string operationID = 3;
+message DelFriendIDListFromCacheReq {
+ string userID = 1;
+ string operationID = 2;
}
-message AddFriendToCacheResp {
- CommonResp commonResp = 1;
-}
-
-message ReduceFriendFromCacheReq {
- string userID = 1;
- string friendID = 2;
- string operationID = 3;
-}
-
-message ReduceFriendFromCacheResp {
- CommonResp commonResp = 1;
+message DelFriendIDListFromCacheResp {
+ CommonResp commonResp = 1;
}
message GetBlackIDListFromCacheReq {
@@ -68,23 +37,12 @@ message GetBlackIDListFromCacheResp {
CommonResp commonResp = 2;
}
-message AddBlackUserToCacheReq {
+message DelBlackIDListFromCacheReq {
string userID = 1;
- string blackUserID = 2;
- string operationID = 3;
+ string operationID = 2;
}
-message AddBlackUserToCacheResp {
- CommonResp commonResp = 1;
-}
-
-message ReduceBlackUserFromCacheReq {
- string userID = 1;
- string blackUserID = 2;
- string operationID = 3;
-}
-
-message ReduceBlackUserFromCacheResp {
+message DelBlackIDListFromCacheResp {
CommonResp commonResp = 1;
}
@@ -98,45 +56,34 @@ message GetGroupMemberIDListFromCacheResp {
repeated string userIDList = 2;
}
-message AddGroupMemberToCacheReq {
- repeated string userIDList = 1;
- string groupID = 2;
- string operationID = 3;
+message DelGroupMemberIDListFromCacheReq {
+ string groupID = 1;
+ string operationID = 2;
}
-message AddGroupMemberToCacheResp {
- CommonResp commonResp = 1;
-}
-
-message ReduceGroupMemberFromCacheReq {
- repeated string userIDList = 1;
- string groupID = 2;
- string operationID = 3;
-}
-
-message ReduceGroupMemberFromCacheResp {
+message DelGroupMemberIDListFromCacheResp {
CommonResp commonResp = 1;
}
service cache{
- // userInfo
- rpc GetUserInfoFromCache(GetUserInfoFromCacheReq) returns(GetUserInfoFromCacheResp);
- rpc UpdateUserInfoToCache(UpdateUserInfoToCacheReq) returns(UpdateUserInfoToCacheResp);
// friendInfo
rpc GetFriendIDListFromCache(GetFriendIDListFromCacheReq) returns(GetFriendIDListFromCacheResp);
- rpc AddFriendToCache(AddFriendToCacheReq) returns(AddFriendToCacheResp);
- rpc ReduceFriendFromCache(ReduceFriendFromCacheReq) returns(ReduceFriendFromCacheResp);
+
+ // for dtm
+ rpc DelFriendIDListFromCache(DelFriendIDListFromCacheReq) returns(DelFriendIDListFromCacheResp);
// blackList
rpc GetBlackIDListFromCache(GetBlackIDListFromCacheReq) returns(GetBlackIDListFromCacheResp);
- rpc AddBlackUserToCache(AddBlackUserToCacheReq) returns(AddBlackUserToCacheResp);
- rpc ReduceBlackUserFromCache(ReduceBlackUserFromCacheReq) returns(ReduceBlackUserFromCacheResp);
+
+ // for dtm
+ rpc DelBlackIDListFromCache(DelBlackIDListFromCacheReq) returns (DelBlackIDListFromCacheResp);
// group
rpc GetGroupMemberIDListFromCache(GetGroupMemberIDListFromCacheReq) returns(GetGroupMemberIDListFromCacheResp);
- rpc AddGroupMemberToCache(AddGroupMemberToCacheReq) returns(AddGroupMemberToCacheResp);
- rpc ReduceGroupMemberFromCache(ReduceGroupMemberFromCacheReq) returns(ReduceGroupMemberFromCacheResp);
+
+ // for dtm
+ rpc DelGroupMemberIDListFromCache(DelGroupMemberIDListFromCacheReq) returns(DelGroupMemberIDListFromCacheResp);
}
diff --git a/pkg/proto/chat/chat.pb.go b/pkg/proto/msg/msg.pb.go
similarity index 61%
rename from pkg/proto/chat/chat.pb.go
rename to pkg/proto/msg/msg.pb.go
index b69f57018..807281950 100644
--- a/pkg/proto/chat/chat.pb.go
+++ b/pkg/proto/msg/msg.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: chat/chat.proto
+// source: msg/msg.proto
-package pbChat // import "./chat"
+package msg // import "./msg"
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
@@ -37,7 +37,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} }
func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMQ) ProtoMessage() {}
func (*MsgDataToMQ) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{0}
+ return fileDescriptor_msg_f78465087fd6709c, []int{0}
}
func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b)
@@ -90,7 +90,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} }
func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) }
func (*MsgDataToDB) ProtoMessage() {}
func (*MsgDataToDB) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{1}
+ return fileDescriptor_msg_f78465087fd6709c, []int{1}
}
func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b)
@@ -137,7 +137,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} }
func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*PushMsgDataToMQ) ProtoMessage() {}
func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{2}
+ return fileDescriptor_msg_f78465087fd6709c, []int{2}
}
func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b)
@@ -192,7 +192,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} }
func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMongoByMQ) ProtoMessage() {}
func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{3}
+ return fileDescriptor_msg_f78465087fd6709c, []int{3}
}
func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b)
@@ -272,7 +272,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{4}
+ return fileDescriptor_msg_f78465087fd6709c, []int{4}
}
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@@ -320,7 +320,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{5}
+ return fileDescriptor_msg_f78465087fd6709c, []int{5}
}
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@@ -381,7 +381,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} }
func (m *SendMsgReq) String() string { return proto.CompactTextString(m) }
func (*SendMsgReq) ProtoMessage() {}
func (*SendMsgReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{6}
+ return fileDescriptor_msg_f78465087fd6709c, []int{6}
}
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
@@ -437,7 +437,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} }
func (m *SendMsgResp) String() string { return proto.CompactTextString(m) }
func (*SendMsgResp) ProtoMessage() {}
func (*SendMsgResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{7}
+ return fileDescriptor_msg_f78465087fd6709c, []int{7}
}
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
@@ -505,7 +505,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} }
func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) }
func (*ClearMsgReq) ProtoMessage() {}
func (*ClearMsgReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{8}
+ return fileDescriptor_msg_f78465087fd6709c, []int{8}
}
func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b)
@@ -558,7 +558,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} }
func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) }
func (*ClearMsgResp) ProtoMessage() {}
func (*ClearMsgResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_chat_64077d68a66b2cfd, []int{9}
+ return fileDescriptor_msg_f78465087fd6709c, []int{9}
}
func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b)
@@ -592,17 +592,135 @@ func (m *ClearMsgResp) GetErrMsg() string {
return ""
}
+type SetMsgMinSeqReq struct {
+ UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
+ GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"`
+ MinSeq uint32 `protobuf:"varint,3,opt,name=minSeq" json:"minSeq,omitempty"`
+ OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"`
+ OpUserID string `protobuf:"bytes,5,opt,name=opUserID" json:"opUserID,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} }
+func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) }
+func (*SetMsgMinSeqReq) ProtoMessage() {}
+func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) {
+ return fileDescriptor_msg_f78465087fd6709c, []int{10}
+}
+func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b)
+}
+func (m *SetMsgMinSeqReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_SetMsgMinSeqReq.Marshal(b, m, deterministic)
+}
+func (dst *SetMsgMinSeqReq) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_SetMsgMinSeqReq.Merge(dst, src)
+}
+func (m *SetMsgMinSeqReq) XXX_Size() int {
+ return xxx_messageInfo_SetMsgMinSeqReq.Size(m)
+}
+func (m *SetMsgMinSeqReq) XXX_DiscardUnknown() {
+ xxx_messageInfo_SetMsgMinSeqReq.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SetMsgMinSeqReq proto.InternalMessageInfo
+
+func (m *SetMsgMinSeqReq) GetUserID() string {
+ if m != nil {
+ return m.UserID
+ }
+ return ""
+}
+
+func (m *SetMsgMinSeqReq) GetGroupID() string {
+ if m != nil {
+ return m.GroupID
+ }
+ return ""
+}
+
+func (m *SetMsgMinSeqReq) GetMinSeq() uint32 {
+ if m != nil {
+ return m.MinSeq
+ }
+ return 0
+}
+
+func (m *SetMsgMinSeqReq) GetOperationID() string {
+ if m != nil {
+ return m.OperationID
+ }
+ return ""
+}
+
+func (m *SetMsgMinSeqReq) GetOpUserID() string {
+ if m != nil {
+ return m.OpUserID
+ }
+ return ""
+}
+
+type SetMsgMinSeqResp struct {
+ ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"`
+ ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} }
+func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) }
+func (*SetMsgMinSeqResp) ProtoMessage() {}
+func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) {
+ return fileDescriptor_msg_f78465087fd6709c, []int{11}
+}
+func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b)
+}
+func (m *SetMsgMinSeqResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_SetMsgMinSeqResp.Marshal(b, m, deterministic)
+}
+func (dst *SetMsgMinSeqResp) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_SetMsgMinSeqResp.Merge(dst, src)
+}
+func (m *SetMsgMinSeqResp) XXX_Size() int {
+ return xxx_messageInfo_SetMsgMinSeqResp.Size(m)
+}
+func (m *SetMsgMinSeqResp) XXX_DiscardUnknown() {
+ xxx_messageInfo_SetMsgMinSeqResp.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SetMsgMinSeqResp proto.InternalMessageInfo
+
+func (m *SetMsgMinSeqResp) GetErrCode() int32 {
+ if m != nil {
+ return m.ErrCode
+ }
+ return 0
+}
+
+func (m *SetMsgMinSeqResp) GetErrMsg() string {
+ if m != nil {
+ return m.ErrMsg
+ }
+ return ""
+}
+
func init() {
- proto.RegisterType((*MsgDataToMQ)(nil), "pbChat.MsgDataToMQ")
- proto.RegisterType((*MsgDataToDB)(nil), "pbChat.MsgDataToDB")
- proto.RegisterType((*PushMsgDataToMQ)(nil), "pbChat.PushMsgDataToMQ")
- proto.RegisterType((*MsgDataToMongoByMQ)(nil), "pbChat.MsgDataToMongoByMQ")
- proto.RegisterType((*GetMaxAndMinSeqReq)(nil), "pbChat.GetMaxAndMinSeqReq")
- proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "pbChat.GetMaxAndMinSeqResp")
- proto.RegisterType((*SendMsgReq)(nil), "pbChat.SendMsgReq")
- proto.RegisterType((*SendMsgResp)(nil), "pbChat.SendMsgResp")
- proto.RegisterType((*ClearMsgReq)(nil), "pbChat.ClearMsgReq")
- proto.RegisterType((*ClearMsgResp)(nil), "pbChat.ClearMsgResp")
+ proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ")
+ proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB")
+ proto.RegisterType((*PushMsgDataToMQ)(nil), "msg.PushMsgDataToMQ")
+ proto.RegisterType((*MsgDataToMongoByMQ)(nil), "msg.MsgDataToMongoByMQ")
+ proto.RegisterType((*GetMaxAndMinSeqReq)(nil), "msg.GetMaxAndMinSeqReq")
+ proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "msg.GetMaxAndMinSeqResp")
+ proto.RegisterType((*SendMsgReq)(nil), "msg.SendMsgReq")
+ proto.RegisterType((*SendMsgResp)(nil), "msg.SendMsgResp")
+ proto.RegisterType((*ClearMsgReq)(nil), "msg.ClearMsgReq")
+ proto.RegisterType((*ClearMsgResp)(nil), "msg.ClearMsgResp")
+ proto.RegisterType((*SetMsgMinSeqReq)(nil), "msg.SetMsgMinSeqReq")
+ proto.RegisterType((*SetMsgMinSeqResp)(nil), "msg.SetMsgMinSeqResp")
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -613,244 +731,281 @@ var _ grpc.ClientConn
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
-// Client API for Chat service
+// Client API for Msg service
-type ChatClient interface {
+type MsgClient interface {
GetMaxAndMinSeq(ctx context.Context, in *sdk_ws.GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*sdk_ws.GetMaxAndMinSeqResp, error)
PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error)
SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error)
DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, opts ...grpc.CallOption) (*sdk_ws.DelMsgListResp, error)
ClearMsg(ctx context.Context, in *ClearMsgReq, opts ...grpc.CallOption) (*ClearMsgResp, error)
+ SetMsgMinSeq(ctx context.Context, in *SetMsgMinSeqReq, opts ...grpc.CallOption) (*SetMsgMinSeqResp, error)
}
-type chatClient struct {
+type msgClient struct {
cc *grpc.ClientConn
}
-func NewChatClient(cc *grpc.ClientConn) ChatClient {
- return &chatClient{cc}
+func NewMsgClient(cc *grpc.ClientConn) MsgClient {
+ return &msgClient{cc}
}
-func (c *chatClient) GetMaxAndMinSeq(ctx context.Context, in *sdk_ws.GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*sdk_ws.GetMaxAndMinSeqResp, error) {
+func (c *msgClient) GetMaxAndMinSeq(ctx context.Context, in *sdk_ws.GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*sdk_ws.GetMaxAndMinSeqResp, error) {
out := new(sdk_ws.GetMaxAndMinSeqResp)
- err := grpc.Invoke(ctx, "/pbChat.Chat/GetMaxAndMinSeq", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/msg.msg/GetMaxAndMinSeq", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *chatClient) PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error) {
+func (c *msgClient) PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error) {
out := new(sdk_ws.PullMessageBySeqListResp)
- err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessageBySeqList", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/msg.msg/PullMessageBySeqList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *chatClient) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error) {
+func (c *msgClient) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error) {
out := new(SendMsgResp)
- err := grpc.Invoke(ctx, "/pbChat.Chat/SendMsg", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/msg.msg/SendMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *chatClient) DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, opts ...grpc.CallOption) (*sdk_ws.DelMsgListResp, error) {
+func (c *msgClient) DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, opts ...grpc.CallOption) (*sdk_ws.DelMsgListResp, error) {
out := new(sdk_ws.DelMsgListResp)
- err := grpc.Invoke(ctx, "/pbChat.Chat/DelMsgList", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/msg.msg/DelMsgList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *chatClient) ClearMsg(ctx context.Context, in *ClearMsgReq, opts ...grpc.CallOption) (*ClearMsgResp, error) {
+func (c *msgClient) ClearMsg(ctx context.Context, in *ClearMsgReq, opts ...grpc.CallOption) (*ClearMsgResp, error) {
out := new(ClearMsgResp)
- err := grpc.Invoke(ctx, "/pbChat.Chat/ClearMsg", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/msg.msg/ClearMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-// Server API for Chat service
+func (c *msgClient) SetMsgMinSeq(ctx context.Context, in *SetMsgMinSeqReq, opts ...grpc.CallOption) (*SetMsgMinSeqResp, error) {
+ out := new(SetMsgMinSeqResp)
+ err := grpc.Invoke(ctx, "/msg.msg/SetMsgMinSeq", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
-type ChatServer interface {
+// Server API for Msg service
+
+type MsgServer interface {
GetMaxAndMinSeq(context.Context, *sdk_ws.GetMaxAndMinSeqReq) (*sdk_ws.GetMaxAndMinSeqResp, error)
PullMessageBySeqList(context.Context, *sdk_ws.PullMessageBySeqListReq) (*sdk_ws.PullMessageBySeqListResp, error)
SendMsg(context.Context, *SendMsgReq) (*SendMsgResp, error)
DelMsgList(context.Context, *sdk_ws.DelMsgListReq) (*sdk_ws.DelMsgListResp, error)
ClearMsg(context.Context, *ClearMsgReq) (*ClearMsgResp, error)
+ SetMsgMinSeq(context.Context, *SetMsgMinSeqReq) (*SetMsgMinSeqResp, error)
}
-func RegisterChatServer(s *grpc.Server, srv ChatServer) {
- s.RegisterService(&_Chat_serviceDesc, srv)
+func RegisterMsgServer(s *grpc.Server, srv MsgServer) {
+ s.RegisterService(&_Msg_serviceDesc, srv)
}
-func _Chat_GetMaxAndMinSeq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Msg_GetMaxAndMinSeq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sdk_ws.GetMaxAndMinSeqReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(ChatServer).GetMaxAndMinSeq(ctx, in)
+ return srv.(MsgServer).GetMaxAndMinSeq(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/pbChat.Chat/GetMaxAndMinSeq",
+ FullMethod: "/msg.msg/GetMaxAndMinSeq",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ChatServer).GetMaxAndMinSeq(ctx, req.(*sdk_ws.GetMaxAndMinSeqReq))
+ return srv.(MsgServer).GetMaxAndMinSeq(ctx, req.(*sdk_ws.GetMaxAndMinSeqReq))
}
return interceptor(ctx, in, info, handler)
}
-func _Chat_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Msg_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sdk_ws.PullMessageBySeqListReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(ChatServer).PullMessageBySeqList(ctx, in)
+ return srv.(MsgServer).PullMessageBySeqList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/pbChat.Chat/PullMessageBySeqList",
+ FullMethod: "/msg.msg/PullMessageBySeqList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ChatServer).PullMessageBySeqList(ctx, req.(*sdk_ws.PullMessageBySeqListReq))
+ return srv.(MsgServer).PullMessageBySeqList(ctx, req.(*sdk_ws.PullMessageBySeqListReq))
}
return interceptor(ctx, in, info, handler)
}
-func _Chat_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Msg_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SendMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(ChatServer).SendMsg(ctx, in)
+ return srv.(MsgServer).SendMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/pbChat.Chat/SendMsg",
+ FullMethod: "/msg.msg/SendMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ChatServer).SendMsg(ctx, req.(*SendMsgReq))
+ return srv.(MsgServer).SendMsg(ctx, req.(*SendMsgReq))
}
return interceptor(ctx, in, info, handler)
}
-func _Chat_DelMsgList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Msg_DelMsgList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sdk_ws.DelMsgListReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(ChatServer).DelMsgList(ctx, in)
+ return srv.(MsgServer).DelMsgList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/pbChat.Chat/DelMsgList",
+ FullMethod: "/msg.msg/DelMsgList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ChatServer).DelMsgList(ctx, req.(*sdk_ws.DelMsgListReq))
+ return srv.(MsgServer).DelMsgList(ctx, req.(*sdk_ws.DelMsgListReq))
}
return interceptor(ctx, in, info, handler)
}
-func _Chat_ClearMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Msg_ClearMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ClearMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(ChatServer).ClearMsg(ctx, in)
+ return srv.(MsgServer).ClearMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/pbChat.Chat/ClearMsg",
+ FullMethod: "/msg.msg/ClearMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ChatServer).ClearMsg(ctx, req.(*ClearMsgReq))
+ return srv.(MsgServer).ClearMsg(ctx, req.(*ClearMsgReq))
}
return interceptor(ctx, in, info, handler)
}
-var _Chat_serviceDesc = grpc.ServiceDesc{
- ServiceName: "pbChat.Chat",
- HandlerType: (*ChatServer)(nil),
+func _Msg_SetMsgMinSeq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(SetMsgMinSeqReq)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MsgServer).SetMsgMinSeq(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/msg.msg/SetMsgMinSeq",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MsgServer).SetMsgMinSeq(ctx, req.(*SetMsgMinSeqReq))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _Msg_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "msg.msg",
+ HandlerType: (*MsgServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetMaxAndMinSeq",
- Handler: _Chat_GetMaxAndMinSeq_Handler,
+ Handler: _Msg_GetMaxAndMinSeq_Handler,
},
{
MethodName: "PullMessageBySeqList",
- Handler: _Chat_PullMessageBySeqList_Handler,
+ Handler: _Msg_PullMessageBySeqList_Handler,
},
{
MethodName: "SendMsg",
- Handler: _Chat_SendMsg_Handler,
+ Handler: _Msg_SendMsg_Handler,
},
{
MethodName: "DelMsgList",
- Handler: _Chat_DelMsgList_Handler,
+ Handler: _Msg_DelMsgList_Handler,
},
{
MethodName: "ClearMsg",
- Handler: _Chat_ClearMsg_Handler,
+ Handler: _Msg_ClearMsg_Handler,
+ },
+ {
+ MethodName: "SetMsgMinSeq",
+ Handler: _Msg_SetMsgMinSeq_Handler,
},
},
Streams: []grpc.StreamDesc{},
- Metadata: "chat/chat.proto",
+ Metadata: "msg/msg.proto",
}
-func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_64077d68a66b2cfd) }
+func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_f78465087fd6709c) }
-var fileDescriptor_chat_64077d68a66b2cfd = []byte{
- // 636 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x41, 0x6f, 0xda, 0x4c,
- 0x10, 0x95, 0x43, 0x42, 0x92, 0x71, 0x22, 0xa4, 0x4d, 0x14, 0x21, 0xf4, 0x1d, 0x1c, 0xeb, 0x6b,
- 0x85, 0x5a, 0x09, 0x24, 0xda, 0x9c, 0x7a, 0x69, 0x09, 0x51, 0x15, 0xa9, 0x6e, 0x12, 0x93, 0x5e,
- 0x7a, 0xa1, 0x9b, 0x30, 0x5a, 0xac, 0x80, 0xbd, 0xec, 0x98, 0x26, 0x69, 0x7f, 0x43, 0xcf, 0x3d,
- 0xf6, 0xdc, 0x7f, 0x59, 0xed, 0xae, 0x01, 0x83, 0x91, 0x82, 0x7a, 0xe8, 0x05, 0xe9, 0xbd, 0x7d,
- 0xbc, 0x99, 0x37, 0x3b, 0x2b, 0x43, 0xe5, 0x76, 0xc0, 0xd3, 0xa6, 0xfe, 0x69, 0x48, 0x95, 0xa4,
- 0x09, 0x2b, 0xcb, 0x9b, 0xd3, 0x01, 0x4f, 0x6b, 0xc7, 0x17, 0x12, 0xe3, 0xde, 0x79, 0xd0, 0x94,
- 0x77, 0xa2, 0x69, 0x8e, 0x9a, 0xd4, 0xbf, 0xeb, 0xdd, 0x53, 0xf3, 0x9e, 0xac, 0xd4, 0xff, 0x0e,
- 0x6e, 0x40, 0xa2, 0xc3, 0x53, 0x7e, 0x9d, 0x04, 0x57, 0xec, 0x10, 0xb6, 0xd2, 0xe4, 0x0e, 0xe3,
- 0xaa, 0xe3, 0x39, 0xf5, 0xdd, 0xd0, 0x02, 0xe6, 0x81, 0x9b, 0x48, 0x54, 0x3c, 0x8d, 0x92, 0xf8,
- 0xbc, 0x53, 0xdd, 0x30, 0x67, 0x79, 0x8a, 0xbd, 0x86, 0xed, 0x91, 0xb5, 0xa9, 0x96, 0x3c, 0xa7,
- 0xee, 0xb6, 0x6a, 0x0d, 0x42, 0xf5, 0x15, 0x55, 0x8f, 0xcb, 0xa8, 0x27, 0xb9, 0xe2, 0x23, 0x6a,
- 0x64, 0x85, 0xc2, 0xa9, 0xd4, 0xc7, 0x5c, 0xf1, 0x4e, 0x3b, 0x6f, 0xe2, 0xac, 0x6d, 0xf2, 0x74,
- 0x73, 0xfe, 0x0f, 0x07, 0x2a, 0x97, 0x13, 0x1a, 0xe4, 0x83, 0x7a, 0xe0, 0x5e, 0xe4, 0xfe, 0x65,
- 0xe3, 0xe6, 0xa9, 0x7c, 0x37, 0x1b, 0xeb, 0x77, 0xe3, 0xc3, 0x9e, 0x9c, 0xd0, 0xe0, 0x3a, 0xf9,
- 0x44, 0xa8, 0xce, 0x3b, 0x66, 0x1a, 0xbb, 0xe1, 0x02, 0xe7, 0xff, 0x76, 0x80, 0xcd, 0x7b, 0x49,
- 0x62, 0x91, 0xb4, 0x1f, 0x83, 0x2b, 0x56, 0x85, 0xed, 0x21, 0xa7, 0xb4, 0x8b, 0x63, 0xd3, 0xce,
- 0x66, 0x38, 0x85, 0xec, 0x7f, 0xd8, 0xe7, 0x42, 0x28, 0x14, 0x8b, 0x21, 0x17, 0x49, 0x76, 0x02,
- 0xee, 0x08, 0x89, 0xb8, 0xc0, 0x0f, 0x11, 0xa5, 0xd5, 0x92, 0x57, 0xaa, 0xbb, 0xad, 0x83, 0x86,
- 0xdd, 0x85, 0x46, 0x2e, 0x7c, 0x98, 0xd7, 0xb1, 0xff, 0x60, 0x37, 0x55, 0x91, 0x10, 0xa6, 0xdd,
- 0x4d, 0x63, 0x3c, 0x27, 0xfc, 0x8f, 0xc0, 0xde, 0x63, 0x1a, 0xf0, 0x87, 0x77, 0x71, 0x3f, 0x88,
- 0xe2, 0x2e, 0x8e, 0x43, 0x1c, 0xb3, 0x23, 0x28, 0x67, 0xf9, 0xec, 0xe0, 0x32, 0xb4, 0x3c, 0xd5,
- 0x8d, 0xc2, 0x54, 0xfd, 0x7b, 0x38, 0x28, 0xf8, 0x91, 0xd4, 0xd9, 0xcf, 0x94, 0x3a, 0x4d, 0xfa,
- 0x68, 0x1c, 0xb7, 0xc2, 0x29, 0xd4, 0xa5, 0xce, 0x94, 0x0a, 0x48, 0x64, 0x6e, 0x19, 0xd2, 0x7c,
- 0xc0, 0x1f, 0xf4, 0xb0, 0xf4, 0x88, 0xf7, 0xc3, 0x0c, 0x19, 0xde, 0xf8, 0x9a, 0x2c, 0x9a, 0x37,
- 0xc8, 0xff, 0x06, 0xd0, 0xc5, 0xb8, 0x1f, 0x90, 0xd0, 0x01, 0xfe, 0xed, 0x9e, 0xff, 0x72, 0xc0,
- 0x9d, 0x15, 0xb7, 0x69, 0x71, 0x31, 0x2d, 0xce, 0xd3, 0xe2, 0x42, 0x5a, 0x8b, 0x74, 0x67, 0xb6,
- 0x4e, 0x40, 0x62, 0x76, 0x4d, 0x79, 0x4a, 0x2b, 0x6e, 0x87, 0x11, 0xc6, 0xa9, 0x55, 0x6c, 0x59,
- 0x45, 0x8e, 0x62, 0x35, 0xd8, 0x21, 0x8c, 0xfb, 0xd7, 0xd1, 0x08, 0xab, 0x65, 0xcf, 0xa9, 0x97,
- 0xc2, 0x19, 0xf6, 0x6f, 0xc1, 0x3d, 0x1d, 0x22, 0x57, 0xd9, 0x78, 0x8e, 0xa0, 0x3c, 0x59, 0xb8,
- 0x5f, 0x8b, 0xb4, 0x45, 0x22, 0xb3, 0x9b, 0xb7, 0x0d, 0xce, 0xf0, 0xf2, 0xf0, 0x4a, 0xc5, 0x77,
- 0xf8, 0x16, 0xf6, 0xe6, 0x45, 0xfe, 0x66, 0x0c, 0xad, 0x9f, 0x25, 0xd8, 0xd4, 0xdb, 0xcc, 0xbe,
- 0x40, 0x65, 0x69, 0x8d, 0xd8, 0xb3, 0x15, 0x37, 0x51, 0x5c, 0xdd, 0xda, 0xf3, 0x75, 0x64, 0x24,
- 0x59, 0x02, 0x87, 0x97, 0x93, 0xe1, 0x30, 0xb0, 0x2f, 0xa5, 0xfd, 0xd8, 0xc5, 0xb1, 0x79, 0x2e,
- 0x2f, 0x56, 0xfc, 0x7f, 0x95, 0x50, 0xd7, 0x7a, 0xb9, 0xb6, 0x96, 0x24, 0x6b, 0xc1, 0x76, 0xb6,
- 0x23, 0x8c, 0x4d, 0x1f, 0xed, 0x7c, 0x63, 0x6b, 0x07, 0x05, 0x8e, 0x24, 0xbb, 0x02, 0xe8, 0xe0,
- 0x30, 0x20, 0x61, 0x5a, 0xf3, 0x56, 0x94, 0x9b, 0x1f, 0x6b, 0x93, 0xe3, 0x27, 0x14, 0x24, 0xd9,
- 0x09, 0xec, 0x4c, 0x2f, 0x89, 0xcd, 0x6a, 0xe6, 0x76, 0xa3, 0x76, 0x58, 0x24, 0x49, 0xb6, 0x2b,
- 0x9f, 0xf7, 0x1b, 0xe6, 0x13, 0xf4, 0xc6, 0x9e, 0xde, 0x94, 0xcd, 0xf7, 0xe5, 0xd5, 0x9f, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0x88, 0x55, 0xa7, 0xa7, 0x9d, 0x06, 0x00, 0x00,
+var fileDescriptor_msg_f78465087fd6709c = []byte{
+ // 696 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xc1, 0x6e, 0xd3, 0x4c,
+ 0x10, 0x96, 0x9b, 0x26, 0x69, 0xc6, 0xad, 0xd2, 0x7f, 0xff, 0x52, 0x45, 0x16, 0x07, 0xd7, 0x02,
+ 0x14, 0x01, 0x4a, 0xa4, 0xc0, 0xad, 0x17, 0x48, 0x53, 0xa1, 0x4a, 0x98, 0xb6, 0x4e, 0xb9, 0x70,
+ 0x09, 0xa6, 0x59, 0x6d, 0xad, 0xc6, 0xf6, 0x66, 0xc7, 0xa1, 0x2d, 0x3c, 0x03, 0x0f, 0xc0, 0x89,
+ 0x1b, 0xaf, 0xc2, 0x6b, 0xa1, 0xdd, 0x75, 0x92, 0x75, 0x12, 0xa9, 0x51, 0x0f, 0x1c, 0xbf, 0xcf,
+ 0xb3, 0x33, 0xdf, 0x37, 0x3b, 0xb3, 0x86, 0x9d, 0x18, 0x59, 0x3b, 0x46, 0xd6, 0xe2, 0x22, 0xcd,
+ 0x52, 0x52, 0x8a, 0x91, 0x39, 0x07, 0xa7, 0x9c, 0x26, 0x83, 0x13, 0xbf, 0xcd, 0xaf, 0x59, 0x5b,
+ 0xf1, 0x6d, 0x1c, 0x5e, 0x0f, 0x6e, 0xb0, 0x7d, 0x83, 0x3a, 0xce, 0xfb, 0x0e, 0xb6, 0x8f, 0xac,
+ 0x17, 0x66, 0xe1, 0x45, 0xea, 0x9f, 0x93, 0x3d, 0x28, 0x67, 0xe9, 0x35, 0x4d, 0x1a, 0x96, 0x6b,
+ 0x35, 0x6b, 0x81, 0x06, 0xc4, 0x05, 0x3b, 0xe5, 0x54, 0x84, 0x59, 0x94, 0x26, 0x27, 0xbd, 0xc6,
+ 0x86, 0xfa, 0x66, 0x52, 0xe4, 0x35, 0x54, 0x63, 0x9d, 0xa6, 0x51, 0x72, 0xad, 0xa6, 0xdd, 0x71,
+ 0x5a, 0x48, 0xc5, 0x57, 0x2a, 0x06, 0x21, 0x8f, 0x06, 0x3c, 0x14, 0x61, 0x8c, 0xad, 0xbc, 0x50,
+ 0x30, 0x0d, 0xf5, 0xa8, 0x51, 0xbc, 0xd7, 0x35, 0x93, 0x58, 0x6b, 0x27, 0xb9, 0x5f, 0x9c, 0xf7,
+ 0xc3, 0x82, 0xfa, 0xd9, 0x04, 0xaf, 0x4c, 0xa3, 0x2e, 0xd8, 0xa7, 0xc6, 0x29, 0x6d, 0xd7, 0xa4,
+ 0x4c, 0x35, 0x1b, 0xeb, 0xab, 0xf1, 0x60, 0x9b, 0x4f, 0xf0, 0xea, 0x22, 0xfd, 0x88, 0x54, 0x9c,
+ 0xf4, 0x54, 0x37, 0x6a, 0x41, 0x81, 0xf3, 0x7e, 0x5b, 0x40, 0xe6, 0x5a, 0xd2, 0x84, 0xa5, 0xdd,
+ 0x3b, 0xff, 0x9c, 0x34, 0xa0, 0x3a, 0x0a, 0x31, 0xeb, 0xd3, 0xb1, 0x92, 0xb3, 0x19, 0x4c, 0x21,
+ 0x79, 0x02, 0x3b, 0x21, 0x63, 0x82, 0xb2, 0xa2, 0xc9, 0x22, 0x49, 0x3a, 0x60, 0xc7, 0x14, 0x31,
+ 0x64, 0xf4, 0x7d, 0x84, 0x59, 0xa3, 0xe4, 0x96, 0x9a, 0x76, 0x67, 0xb7, 0x25, 0x67, 0xc2, 0x70,
+ 0x1e, 0x98, 0x41, 0xe4, 0x31, 0xd4, 0x32, 0x11, 0x31, 0xa6, 0xb4, 0x6e, 0xaa, 0xac, 0x73, 0xc2,
+ 0xfb, 0x00, 0xe4, 0x1d, 0xcd, 0xfc, 0xf0, 0xf6, 0x6d, 0x32, 0xf4, 0xa3, 0xa4, 0x4f, 0xc7, 0x01,
+ 0x1d, 0x93, 0x7d, 0xa8, 0xe4, 0xe6, 0x74, 0xd7, 0x72, 0xb4, 0xd8, 0xd2, 0x8d, 0xa5, 0x96, 0x7a,
+ 0x37, 0xf0, 0xff, 0x52, 0x3e, 0xe4, 0xd2, 0xf8, 0xb1, 0x10, 0x47, 0xe9, 0x90, 0xaa, 0x8c, 0xe5,
+ 0x60, 0x0a, 0x65, 0xa9, 0x63, 0x21, 0x7c, 0x64, 0x79, 0xb6, 0x1c, 0x49, 0xde, 0x0f, 0x6f, 0x65,
+ 0xa7, 0x64, 0x7f, 0x77, 0x82, 0x1c, 0x29, 0x5e, 0xe5, 0x55, 0x5e, 0x24, 0xaf, 0x90, 0xf7, 0x0d,
+ 0xa0, 0x4f, 0x93, 0xa1, 0x8f, 0x4c, 0x1a, 0xf8, 0xb7, 0x43, 0xfe, 0xcb, 0x02, 0x7b, 0x56, 0x5c,
+ 0xbb, 0xa5, 0x45, 0xb7, 0x74, 0xee, 0x96, 0x16, 0xdc, 0x6a, 0x24, 0x95, 0xe9, 0x3a, 0x3e, 0xb2,
+ 0xd9, 0x35, 0x99, 0x94, 0x8c, 0xb8, 0x1c, 0x45, 0x34, 0xc9, 0x74, 0x44, 0x59, 0x47, 0x18, 0x14,
+ 0x71, 0x60, 0x0b, 0x69, 0x32, 0xbc, 0x88, 0x62, 0xda, 0xa8, 0xb8, 0x56, 0xb3, 0x14, 0xcc, 0xb0,
+ 0x77, 0x09, 0xf6, 0xd1, 0x88, 0x86, 0x22, 0x6f, 0xcf, 0x3e, 0x54, 0x26, 0x85, 0xfb, 0xd5, 0x48,
+ 0xa6, 0x48, 0x79, 0x7e, 0xf3, 0x5a, 0xe0, 0x0c, 0x2f, 0x36, 0xaf, 0xb4, 0xbc, 0x84, 0x6f, 0x60,
+ 0x7b, 0x5e, 0xe4, 0x21, 0x6d, 0xf0, 0x7e, 0x5a, 0x50, 0xef, 0x53, 0xe9, 0xa7, 0x30, 0x8b, 0x2b,
+ 0xb5, 0x36, 0xa0, 0xca, 0x44, 0x3a, 0xe1, 0x33, 0xa9, 0x53, 0x28, 0x4f, 0xc4, 0x7a, 0x44, 0xf2,
+ 0xd1, 0xd1, 0x68, 0xd1, 0xc1, 0xe6, 0xf2, 0xf5, 0x9b, 0xfe, 0xcb, 0x45, 0xff, 0x5e, 0x0f, 0x76,
+ 0x8b, 0xd2, 0x1e, 0xe2, 0xb0, 0xf3, 0xa7, 0x04, 0xf2, 0xdd, 0x26, 0x9f, 0xa1, 0xbe, 0xb0, 0x27,
+ 0xe4, 0xe9, 0x8a, 0x51, 0x5b, 0xde, 0x4d, 0xe7, 0xd9, 0x3a, 0x61, 0xc8, 0x49, 0x0a, 0x7b, 0x67,
+ 0x93, 0xd1, 0xc8, 0xd7, 0x4f, 0x41, 0xf7, 0xae, 0x4f, 0xc7, 0xea, 0x3d, 0x78, 0xbe, 0xe2, 0xfc,
+ 0xaa, 0x40, 0x59, 0xeb, 0xc5, 0xda, 0xb1, 0xc8, 0xc9, 0x4b, 0xa8, 0xe6, 0x4b, 0x40, 0xea, 0xea,
+ 0x49, 0x9a, 0xef, 0xa3, 0xb3, 0x5b, 0x24, 0x90, 0x93, 0x73, 0x80, 0x1e, 0x1d, 0xf9, 0xc8, 0x94,
+ 0x28, 0x77, 0x45, 0xa1, 0xf9, 0x67, 0x99, 0xe1, 0xe0, 0x9e, 0x08, 0xe4, 0xa4, 0x0d, 0x5b, 0xd3,
+ 0xf9, 0x23, 0xba, 0xa0, 0x31, 0xf3, 0xce, 0x7f, 0x0b, 0x0c, 0x72, 0x72, 0x08, 0xdb, 0xe6, 0x95,
+ 0x92, 0xbd, 0x5c, 0x65, 0x61, 0x00, 0x9d, 0x47, 0x2b, 0x58, 0xe4, 0x5d, 0xfb, 0x53, 0xad, 0x25,
+ 0xff, 0xc6, 0x87, 0x31, 0xb2, 0x2f, 0x15, 0xf5, 0xab, 0x7d, 0xf5, 0x37, 0x00, 0x00, 0xff, 0xff,
+ 0x3e, 0x48, 0x33, 0x18, 0xa3, 0x07, 0x00, 0x00,
}
diff --git a/pkg/proto/chat/chat.proto b/pkg/proto/msg/msg.proto
similarity index 85%
rename from pkg/proto/chat/chat.proto
rename to pkg/proto/msg/msg.proto
index 74ea0f396..657e1cf28 100644
--- a/pkg/proto/chat/chat.proto
+++ b/pkg/proto/msg/msg.proto
@@ -1,7 +1,7 @@
syntax = "proto3";
import "Open_IM/pkg/proto/sdk_ws/ws.proto";
-option go_package = "./chat;pbChat";
-package pbChat;
+option go_package = "./msg;msg";
+package msg;
@@ -92,10 +92,23 @@ message ClearMsgResp{
string errMsg = 2;
}
-service Chat {
+message SetMsgMinSeqReq{
+ string userID = 1;
+ string groupID = 2;
+ uint32 minSeq = 3;
+ string operationID = 4;
+ string opUserID = 5;
+}
+message SetMsgMinSeqResp{
+ int32 errCode = 1;
+ string errMsg = 2;
+}
+
+service msg {
rpc GetMaxAndMinSeq(server_api_params.GetMaxAndMinSeqReq) returns(server_api_params.GetMaxAndMinSeqResp);
rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp);
rpc SendMsg(SendMsgReq) returns(SendMsgResp);
rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp);
rpc ClearMsg(ClearMsgReq) returns(ClearMsgResp);
+ rpc SetMsgMinSeq(SetMsgMinSeqReq) returns(SetMsgMinSeqResp);
}
diff --git a/pkg/proto/relay/relay.pb.go b/pkg/proto/relay/relay.pb.go
index 7affbc050..c26e1816f 100644
--- a/pkg/proto/relay/relay.pb.go
+++ b/pkg/proto/relay/relay.pb.go
@@ -37,7 +37,7 @@ func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} }
func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) }
func (*OnlinePushMsgReq) ProtoMessage() {}
func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{0}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{0}
}
func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b)
@@ -89,7 +89,7 @@ func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} }
func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) }
func (*OnlinePushMsgResp) ProtoMessage() {}
func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{1}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{1}
}
func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b)
@@ -129,7 +129,7 @@ func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResult
func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) }
func (*SingelMsgToUserResultList) ProtoMessage() {}
func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{2}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{2}
}
func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b)
@@ -183,7 +183,7 @@ func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgR
func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) }
func (*OnlineBatchPushOneMsgReq) ProtoMessage() {}
func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{3}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{3}
}
func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b)
@@ -235,7 +235,7 @@ func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsg
func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) }
func (*OnlineBatchPushOneMsgResp) ProtoMessage() {}
func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{4}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{4}
}
func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b)
@@ -275,7 +275,7 @@ func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform
func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) }
func (*SingleMsgToUserPlatform) ProtoMessage() {}
func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{5}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{5}
}
func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b)
@@ -329,7 +329,7 @@ func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq
func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) }
func (*GetUsersOnlineStatusReq) ProtoMessage() {}
func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{6}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{6}
}
func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b)
@@ -384,7 +384,7 @@ func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusRe
func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) }
func (*GetUsersOnlineStatusResp) ProtoMessage() {}
func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{7}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{7}
}
func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b)
@@ -446,7 +446,7 @@ func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() {
func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) }
func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {}
func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{7, 0}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{7, 0}
}
func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b)
@@ -493,7 +493,7 @@ func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersO
func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) }
func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {}
func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{7, 1}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{7, 1}
}
func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b)
@@ -549,7 +549,7 @@ func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() {
func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) }
func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {}
func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{7, 2}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{7, 2}
}
func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b)
@@ -603,7 +603,7 @@ func (m *KickUserOfflineReq) Reset() { *m = KickUserOfflineReq{} }
func (m *KickUserOfflineReq) String() string { return proto.CompactTextString(m) }
func (*KickUserOfflineReq) ProtoMessage() {}
func (*KickUserOfflineReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{8}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{8}
}
func (m *KickUserOfflineReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickUserOfflineReq.Unmarshal(m, b)
@@ -654,7 +654,7 @@ func (m *KickUserOfflineResp) Reset() { *m = KickUserOfflineResp{} }
func (m *KickUserOfflineResp) String() string { return proto.CompactTextString(m) }
func (*KickUserOfflineResp) ProtoMessage() {}
func (*KickUserOfflineResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_relay_eb517eee82ca0aca, []int{9}
+ return fileDescriptor_relay_9ac412c3c8c99f28, []int{9}
}
func (m *KickUserOfflineResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickUserOfflineResp.Unmarshal(m, b)
@@ -698,9 +698,9 @@ var _ grpc.ClientConn
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
-// Client API for OnlineMessageRelayService service
+// Client API for Relay service
-type OnlineMessageRelayServiceClient interface {
+type RelayClient interface {
OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error)
GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error)
OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error)
@@ -708,62 +708,62 @@ type OnlineMessageRelayServiceClient interface {
KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error)
}
-type onlineMessageRelayServiceClient struct {
+type relayClient struct {
cc *grpc.ClientConn
}
-func NewOnlineMessageRelayServiceClient(cc *grpc.ClientConn) OnlineMessageRelayServiceClient {
- return &onlineMessageRelayServiceClient{cc}
+func NewRelayClient(cc *grpc.ClientConn) RelayClient {
+ return &relayClient{cc}
}
-func (c *onlineMessageRelayServiceClient) OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) {
+func (c *relayClient) OnlinePushMsg(ctx context.Context, in *OnlinePushMsgReq, opts ...grpc.CallOption) (*OnlinePushMsgResp, error) {
out := new(OnlinePushMsgResp)
- err := grpc.Invoke(ctx, "/relay.OnlineMessageRelayService/OnlinePushMsg", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/relay.relay/OnlinePushMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *onlineMessageRelayServiceClient) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) {
+func (c *relayClient) GetUsersOnlineStatus(ctx context.Context, in *GetUsersOnlineStatusReq, opts ...grpc.CallOption) (*GetUsersOnlineStatusResp, error) {
out := new(GetUsersOnlineStatusResp)
- err := grpc.Invoke(ctx, "/relay.OnlineMessageRelayService/GetUsersOnlineStatus", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/relay.relay/GetUsersOnlineStatus", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *onlineMessageRelayServiceClient) OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) {
+func (c *relayClient) OnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) {
out := new(OnlineBatchPushOneMsgResp)
- err := grpc.Invoke(ctx, "/relay.OnlineMessageRelayService/OnlineBatchPushOneMsg", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/relay.relay/OnlineBatchPushOneMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *onlineMessageRelayServiceClient) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) {
+func (c *relayClient) SuperGroupOnlineBatchPushOneMsg(ctx context.Context, in *OnlineBatchPushOneMsgReq, opts ...grpc.CallOption) (*OnlineBatchPushOneMsgResp, error) {
out := new(OnlineBatchPushOneMsgResp)
- err := grpc.Invoke(ctx, "/relay.OnlineMessageRelayService/SuperGroupOnlineBatchPushOneMsg", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/relay.relay/SuperGroupOnlineBatchPushOneMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *onlineMessageRelayServiceClient) KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) {
+func (c *relayClient) KickUserOffline(ctx context.Context, in *KickUserOfflineReq, opts ...grpc.CallOption) (*KickUserOfflineResp, error) {
out := new(KickUserOfflineResp)
- err := grpc.Invoke(ctx, "/relay.OnlineMessageRelayService/KickUserOffline", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/relay.relay/KickUserOffline", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-// Server API for OnlineMessageRelayService service
+// Server API for Relay service
-type OnlineMessageRelayServiceServer interface {
+type RelayServer interface {
OnlinePushMsg(context.Context, *OnlinePushMsgReq) (*OnlinePushMsgResp, error)
GetUsersOnlineStatus(context.Context, *GetUsersOnlineStatusReq) (*GetUsersOnlineStatusResp, error)
OnlineBatchPushOneMsg(context.Context, *OnlineBatchPushOneMsgReq) (*OnlineBatchPushOneMsgResp, error)
@@ -771,178 +771,178 @@ type OnlineMessageRelayServiceServer interface {
KickUserOffline(context.Context, *KickUserOfflineReq) (*KickUserOfflineResp, error)
}
-func RegisterOnlineMessageRelayServiceServer(s *grpc.Server, srv OnlineMessageRelayServiceServer) {
- s.RegisterService(&_OnlineMessageRelayService_serviceDesc, srv)
+func RegisterRelayServer(s *grpc.Server, srv RelayServer) {
+ s.RegisterService(&_Relay_serviceDesc, srv)
}
-func _OnlineMessageRelayService_OnlinePushMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Relay_OnlinePushMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(OnlinePushMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(OnlineMessageRelayServiceServer).OnlinePushMsg(ctx, in)
+ return srv.(RelayServer).OnlinePushMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/relay.OnlineMessageRelayService/OnlinePushMsg",
+ FullMethod: "/relay.relay/OnlinePushMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(OnlineMessageRelayServiceServer).OnlinePushMsg(ctx, req.(*OnlinePushMsgReq))
+ return srv.(RelayServer).OnlinePushMsg(ctx, req.(*OnlinePushMsgReq))
}
return interceptor(ctx, in, info, handler)
}
-func _OnlineMessageRelayService_GetUsersOnlineStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Relay_GetUsersOnlineStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUsersOnlineStatusReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(OnlineMessageRelayServiceServer).GetUsersOnlineStatus(ctx, in)
+ return srv.(RelayServer).GetUsersOnlineStatus(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/relay.OnlineMessageRelayService/GetUsersOnlineStatus",
+ FullMethod: "/relay.relay/GetUsersOnlineStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(OnlineMessageRelayServiceServer).GetUsersOnlineStatus(ctx, req.(*GetUsersOnlineStatusReq))
+ return srv.(RelayServer).GetUsersOnlineStatus(ctx, req.(*GetUsersOnlineStatusReq))
}
return interceptor(ctx, in, info, handler)
}
-func _OnlineMessageRelayService_OnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Relay_OnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(OnlineBatchPushOneMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(OnlineMessageRelayServiceServer).OnlineBatchPushOneMsg(ctx, in)
+ return srv.(RelayServer).OnlineBatchPushOneMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/relay.OnlineMessageRelayService/OnlineBatchPushOneMsg",
+ FullMethod: "/relay.relay/OnlineBatchPushOneMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(OnlineMessageRelayServiceServer).OnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq))
+ return srv.(RelayServer).OnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq))
}
return interceptor(ctx, in, info, handler)
}
-func _OnlineMessageRelayService_SuperGroupOnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Relay_SuperGroupOnlineBatchPushOneMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(OnlineBatchPushOneMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(OnlineMessageRelayServiceServer).SuperGroupOnlineBatchPushOneMsg(ctx, in)
+ return srv.(RelayServer).SuperGroupOnlineBatchPushOneMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/relay.OnlineMessageRelayService/SuperGroupOnlineBatchPushOneMsg",
+ FullMethod: "/relay.relay/SuperGroupOnlineBatchPushOneMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(OnlineMessageRelayServiceServer).SuperGroupOnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq))
+ return srv.(RelayServer).SuperGroupOnlineBatchPushOneMsg(ctx, req.(*OnlineBatchPushOneMsgReq))
}
return interceptor(ctx, in, info, handler)
}
-func _OnlineMessageRelayService_KickUserOffline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Relay_KickUserOffline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(KickUserOfflineReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(OnlineMessageRelayServiceServer).KickUserOffline(ctx, in)
+ return srv.(RelayServer).KickUserOffline(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/relay.OnlineMessageRelayService/KickUserOffline",
+ FullMethod: "/relay.relay/KickUserOffline",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(OnlineMessageRelayServiceServer).KickUserOffline(ctx, req.(*KickUserOfflineReq))
+ return srv.(RelayServer).KickUserOffline(ctx, req.(*KickUserOfflineReq))
}
return interceptor(ctx, in, info, handler)
}
-var _OnlineMessageRelayService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "relay.OnlineMessageRelayService",
- HandlerType: (*OnlineMessageRelayServiceServer)(nil),
+var _Relay_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "relay.relay",
+ HandlerType: (*RelayServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "OnlinePushMsg",
- Handler: _OnlineMessageRelayService_OnlinePushMsg_Handler,
+ Handler: _Relay_OnlinePushMsg_Handler,
},
{
MethodName: "GetUsersOnlineStatus",
- Handler: _OnlineMessageRelayService_GetUsersOnlineStatus_Handler,
+ Handler: _Relay_GetUsersOnlineStatus_Handler,
},
{
MethodName: "OnlineBatchPushOneMsg",
- Handler: _OnlineMessageRelayService_OnlineBatchPushOneMsg_Handler,
+ Handler: _Relay_OnlineBatchPushOneMsg_Handler,
},
{
MethodName: "SuperGroupOnlineBatchPushOneMsg",
- Handler: _OnlineMessageRelayService_SuperGroupOnlineBatchPushOneMsg_Handler,
+ Handler: _Relay_SuperGroupOnlineBatchPushOneMsg_Handler,
},
{
MethodName: "KickUserOffline",
- Handler: _OnlineMessageRelayService_KickUserOffline_Handler,
+ Handler: _Relay_KickUserOffline_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "relay/relay.proto",
}
-func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_eb517eee82ca0aca) }
+func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_9ac412c3c8c99f28) }
-var fileDescriptor_relay_eb517eee82ca0aca = []byte{
- // 749 bytes of a gzipped FileDescriptorProto
+var fileDescriptor_relay_9ac412c3c8c99f28 = []byte{
+ // 737 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x4e, 0xdb, 0x5a,
0x10, 0x96, 0x31, 0xe1, 0x67, 0x80, 0x0b, 0x9c, 0x0b, 0x17, 0xe3, 0x45, 0xc8, 0xf5, 0xe2, 0x2a,
0xba, 0x6a, 0x13, 0x29, 0xed, 0xae, 0x3b, 0x88, 0xa0, 0x51, 0x89, 0x82, 0x4e, 0x5a, 0xb5, 0x62,
0x13, 0x99, 0xe4, 0x24, 0x58, 0x71, 0xe2, 0xc3, 0x19, 0x1b, 0xc4, 0xa6, 0xdb, 0xee, 0xfa, 0x08,
- 0x5d, 0xf4, 0x25, 0xfa, 0x02, 0x7d, 0xb0, 0xea, 0xfc, 0xc4, 0xb5, 0xf3, 0x03, 0x65, 0xc1, 0x06,
- 0x31, 0x73, 0xe6, 0xcc, 0xcc, 0xf7, 0x7d, 0x73, 0x26, 0x86, 0x5d, 0xc1, 0x42, 0xff, 0xbe, 0xaa,
- 0xfe, 0x56, 0xb8, 0x88, 0xe2, 0x88, 0x14, 0x94, 0xe1, 0xfe, 0xdb, 0xe2, 0x6c, 0xdc, 0x69, 0x34,
- 0xab, 0x7c, 0x38, 0xa8, 0xaa, 0x93, 0x2a, 0xf6, 0x86, 0x9d, 0x3b, 0xac, 0xde, 0xa1, 0x8e, 0xf4,
- 0xbe, 0x5a, 0xb0, 0xd3, 0x1a, 0x87, 0xc1, 0x98, 0x5d, 0x24, 0x78, 0xdd, 0xc4, 0x01, 0x65, 0x37,
- 0xa4, 0x04, 0x1b, 0x2d, 0xce, 0x84, 0x1f, 0x07, 0xd1, 0xb8, 0x51, 0x77, 0xac, 0x92, 0x55, 0x5e,
- 0xa7, 0x59, 0x17, 0x79, 0x0d, 0xab, 0x23, 0x1c, 0xd4, 0xfd, 0xd8, 0x77, 0x96, 0x4a, 0x56, 0x79,
- 0xa3, 0xe6, 0x56, 0x90, 0x89, 0x5b, 0x26, 0x3a, 0x3e, 0x0f, 0x3a, 0xdc, 0x17, 0xfe, 0x08, 0x2b,
- 0x4d, 0x1d, 0x41, 0x27, 0xa1, 0xc4, 0x83, 0x4d, 0x9e, 0xe0, 0xf5, 0xfb, 0xe8, 0x03, 0x32, 0xd1,
- 0xa8, 0x3b, 0xb6, 0x4a, 0x9c, 0xf3, 0x79, 0x67, 0xb0, 0x3b, 0xd5, 0x0f, 0x72, 0x52, 0x83, 0x65,
- 0xc1, 0x90, 0x3b, 0x56, 0xc9, 0x2e, 0x6f, 0xd4, 0x8a, 0x15, 0x8d, 0xb5, 0x1d, 0x8c, 0x07, 0x21,
- 0x6b, 0xe2, 0x40, 0x5f, 0xbe, 0x08, 0xfd, 0xb8, 0x1f, 0x89, 0x11, 0x55, 0xb1, 0xde, 0x17, 0x0b,
- 0x0e, 0x65, 0x04, 0x0b, 0xd3, 0x08, 0xca, 0x30, 0x09, 0xe3, 0xf3, 0x00, 0x63, 0xf2, 0x0f, 0xac,
- 0x24, 0xba, 0x09, 0x8d, 0xce, 0x58, 0x69, 0xa5, 0xa5, 0x3f, 0xaf, 0x44, 0x8a, 0x00, 0x51, 0xda,
- 0xb2, 0x02, 0xb5, 0x46, 0x33, 0x1e, 0xef, 0x9b, 0x05, 0x8e, 0xc6, 0x74, 0xec, 0xc7, 0xdd, 0x6b,
- 0xe9, 0x6b, 0x8d, 0xd9, 0x33, 0x73, 0xfd, 0x3f, 0xec, 0x64, 0x79, 0x95, 0xa0, 0x1d, 0xbb, 0x64,
- 0x97, 0xd7, 0xe9, 0x8c, 0xdf, 0x0b, 0xe0, 0x70, 0x41, 0x7f, 0xc8, 0xc9, 0x39, 0xec, 0xa0, 0x82,
- 0x2f, 0xfd, 0x9a, 0x41, 0xa3, 0x43, 0x29, 0xc3, 0xce, 0x5c, 0x96, 0xe9, 0xcc, 0x4d, 0xef, 0x1e,
- 0x0e, 0x16, 0x90, 0x29, 0x69, 0xd4, 0x41, 0x27, 0x51, 0x8f, 0x29, 0x22, 0x6c, 0x9a, 0xf1, 0x48,
- 0xc9, 0x28, 0xeb, 0xde, 0x36, 0xea, 0x8a, 0x86, 0x75, 0x6a, 0x2c, 0xf2, 0x1f, 0xfc, 0x25, 0xff,
- 0x93, 0x79, 0x4e, 0x23, 0x31, 0x32, 0x73, 0x55, 0xa0, 0x53, 0x5e, 0xef, 0x0e, 0x0e, 0xce, 0x58,
- 0x2c, 0x4b, 0xa2, 0x46, 0xdb, 0x8e, 0xfd, 0x38, 0x41, 0x29, 0x42, 0x11, 0x20, 0xf9, 0x4d, 0x93,
- 0xa5, 0x68, 0xca, 0x78, 0xa4, 0x48, 0x51, 0x46, 0x24, 0x5d, 0x3f, 0xeb, 0x22, 0x2e, 0xac, 0x45,
- 0x3c, 0x37, 0xd6, 0xa9, 0xed, 0xfd, 0x58, 0x06, 0x67, 0x7e, 0x65, 0xe4, 0xc4, 0x81, 0x55, 0x26,
- 0x44, 0x0a, 0xb9, 0x40, 0x27, 0xa6, 0xc4, 0xcb, 0x84, 0x68, 0xe2, 0x60, 0x82, 0x57, 0x5b, 0xa4,
- 0x0d, 0x5b, 0x98, 0x74, 0xbb, 0x0c, 0xd1, 0xa8, 0x61, 0x2b, 0x35, 0x5e, 0x1a, 0x35, 0x16, 0x55,
- 0xaa, 0xb4, 0xb3, 0x97, 0x68, 0x3e, 0x07, 0xb9, 0x80, 0xcd, 0xbe, 0x1f, 0x84, 0xac, 0x67, 0x72,
- 0x2e, 0xab, 0x9c, 0x2f, 0x1e, 0xcb, 0x79, 0xaa, 0xee, 0xd4, 0x59, 0xec, 0x07, 0x21, 0xcd, 0x65,
- 0x70, 0x4f, 0x60, 0xcb, 0x54, 0xd4, 0xc7, 0x92, 0x22, 0x6e, 0xb4, 0x36, 0x63, 0x9e, 0xda, 0x12,
- 0x2b, 0xaa, 0xac, 0x13, 0xac, 0xda, 0x72, 0x3f, 0xc1, 0x66, 0xb6, 0x44, 0xe6, 0xd9, 0xda, 0xb9,
- 0x67, 0xfb, 0x64, 0x16, 0xdd, 0xef, 0x56, 0xda, 0x9f, 0xa1, 0x60, 0xd1, 0x4a, 0x58, 0xd0, 0x1b,
- 0xf1, 0x61, 0xaf, 0xa7, 0xba, 0x9a, 0x4c, 0xb0, 0xe6, 0xe5, 0x89, 0x72, 0x18, 0xee, 0xe6, 0xa6,
- 0xf2, 0x3e, 0x03, 0x79, 0x17, 0x74, 0x87, 0x32, 0x41, 0xab, 0xdf, 0x97, 0x09, 0xcc, 0xca, 0x88,
- 0x66, 0x57, 0x46, 0x76, 0x1a, 0x8b, 0x00, 0x13, 0x6a, 0xcd, 0xb8, 0x16, 0x68, 0xc6, 0x23, 0x9f,
- 0xcc, 0xd0, 0xe4, 0xcd, 0xad, 0x86, 0x29, 0xaf, 0xb7, 0x0f, 0x7f, 0xcf, 0xd4, 0x47, 0x5e, 0xfb,
- 0x69, 0x4f, 0x16, 0x46, 0x93, 0x21, 0xfa, 0x03, 0x46, 0x25, 0xd4, 0x36, 0x13, 0xb7, 0x41, 0x97,
- 0x91, 0x63, 0xd8, 0xca, 0x6d, 0x70, 0x72, 0x60, 0xa8, 0x98, 0xfe, 0x9d, 0x71, 0x9d, 0xf9, 0x07,
- 0xc8, 0xc9, 0x47, 0xd8, 0x9b, 0x47, 0x1c, 0x29, 0x3e, 0xc8, 0xea, 0x8d, 0x7b, 0xf4, 0x08, 0xeb,
- 0xe4, 0x12, 0xf6, 0xe7, 0xae, 0x3a, 0x72, 0x94, 0xeb, 0x65, 0x76, 0x51, 0xbb, 0xa5, 0x87, 0x03,
- 0x90, 0x93, 0x1e, 0x1c, 0xb5, 0x13, 0xce, 0xc4, 0x99, 0x88, 0x12, 0xfe, 0x6c, 0x55, 0xde, 0xc2,
- 0xf6, 0x94, 0x26, 0xe4, 0xd0, 0x5c, 0x9a, 0x9d, 0x15, 0xd7, 0x5d, 0x74, 0x84, 0xfc, 0x78, 0xf7,
- 0x72, 0xbb, 0xa2, 0x3f, 0x1b, 0xde, 0xf0, 0x2b, 0x25, 0xe1, 0xd5, 0x8a, 0xfa, 0x2a, 0x78, 0xf5,
- 0x2b, 0x00, 0x00, 0xff, 0xff, 0x01, 0x6a, 0x94, 0x1f, 0x54, 0x08, 0x00, 0x00,
+ 0x5d, 0xf4, 0x09, 0xba, 0xeb, 0xeb, 0x55, 0xe7, 0x27, 0xae, 0x9d, 0x1f, 0x28, 0x0b, 0x36, 0x90,
+ 0x99, 0x33, 0xe7, 0x9b, 0xf9, 0xbe, 0x19, 0x8f, 0x0d, 0xbb, 0x82, 0x85, 0xfe, 0x7d, 0x55, 0xfd,
+ 0xad, 0x70, 0x11, 0xc5, 0x11, 0x29, 0x28, 0xc3, 0xfd, 0xb7, 0xc5, 0xd9, 0xb8, 0xd3, 0x68, 0x56,
+ 0xf9, 0x70, 0x50, 0x55, 0x27, 0x55, 0xec, 0x0d, 0x3b, 0x77, 0x58, 0xbd, 0x43, 0x1d, 0xe9, 0x7d,
+ 0xb5, 0x60, 0xa7, 0x35, 0x0e, 0x83, 0x31, 0xbb, 0x48, 0xf0, 0xba, 0x89, 0x03, 0xca, 0x6e, 0x48,
+ 0x09, 0x36, 0x5a, 0x9c, 0x09, 0x3f, 0x0e, 0xa2, 0x71, 0xa3, 0xee, 0x58, 0x25, 0xab, 0xbc, 0x4e,
+ 0xb3, 0x2e, 0xf2, 0x1a, 0x56, 0x47, 0x38, 0xa8, 0xfb, 0xb1, 0xef, 0x2c, 0x95, 0xac, 0xf2, 0x46,
+ 0xcd, 0xad, 0x20, 0x13, 0xb7, 0x4c, 0x74, 0x7c, 0x1e, 0x74, 0xb8, 0x2f, 0xfc, 0x11, 0x56, 0x9a,
+ 0x3a, 0x82, 0x4e, 0x42, 0x89, 0x07, 0x9b, 0x3c, 0xc1, 0xeb, 0xf7, 0xd1, 0x07, 0x64, 0xa2, 0x51,
+ 0x77, 0x6c, 0x05, 0x9c, 0xf3, 0x79, 0x67, 0xb0, 0x3b, 0x55, 0x0f, 0x72, 0x52, 0x83, 0x65, 0xc1,
+ 0x90, 0x3b, 0x56, 0xc9, 0x2e, 0x6f, 0xd4, 0x8a, 0x15, 0xcd, 0xb5, 0x1d, 0x8c, 0x07, 0x21, 0x6b,
+ 0xe2, 0x40, 0x5f, 0xbe, 0x08, 0xfd, 0xb8, 0x1f, 0x89, 0x11, 0x55, 0xb1, 0xde, 0x17, 0x0b, 0x0e,
+ 0x65, 0x04, 0x0b, 0xd3, 0x08, 0xca, 0x30, 0x09, 0xe3, 0xf3, 0x00, 0x63, 0xf2, 0x0f, 0xac, 0x24,
+ 0xba, 0x08, 0xcd, 0xce, 0x58, 0x69, 0xa6, 0xa5, 0x3f, 0xcf, 0x44, 0x8a, 0x00, 0x51, 0x5a, 0xb2,
+ 0x22, 0xb5, 0x46, 0x33, 0x1e, 0xef, 0x9b, 0x05, 0x8e, 0xe6, 0x74, 0xec, 0xc7, 0xdd, 0x6b, 0xe9,
+ 0x6b, 0x8d, 0xd9, 0x33, 0x6b, 0xfd, 0x3f, 0xec, 0x64, 0x75, 0x95, 0xa4, 0x1d, 0xbb, 0x64, 0x97,
+ 0xd7, 0xe9, 0x8c, 0xdf, 0x0b, 0xe0, 0x70, 0x41, 0x7d, 0xc8, 0xc9, 0x39, 0xec, 0xa0, 0xa2, 0x2f,
+ 0xfd, 0x5a, 0x41, 0xd3, 0x87, 0x52, 0x46, 0x9d, 0xb9, 0x2a, 0xd3, 0x99, 0x9b, 0xde, 0x3d, 0x1c,
+ 0x2c, 0x10, 0x53, 0xca, 0xa8, 0x83, 0x4e, 0xa2, 0x1e, 0x53, 0x42, 0xd8, 0x34, 0xe3, 0x91, 0x2d,
+ 0xa3, 0xac, 0x7b, 0xdb, 0xa8, 0x2b, 0x19, 0xd6, 0xa9, 0xb1, 0xc8, 0x7f, 0xf0, 0x97, 0xfc, 0x25,
+ 0x71, 0x4e, 0x23, 0x31, 0x32, 0x73, 0x55, 0xa0, 0x53, 0x5e, 0xef, 0x0e, 0x0e, 0xce, 0x58, 0x2c,
+ 0x53, 0xa2, 0x66, 0xdb, 0x8e, 0xfd, 0x38, 0x41, 0xd9, 0x84, 0x22, 0x40, 0xf2, 0x5b, 0x26, 0x4b,
+ 0xc9, 0x94, 0xf1, 0xc8, 0x26, 0x45, 0x99, 0x26, 0xe9, 0xfc, 0x59, 0x17, 0x71, 0x61, 0x2d, 0xe2,
+ 0xb9, 0xb1, 0x4e, 0x6d, 0xef, 0xe7, 0x32, 0x38, 0xf3, 0x33, 0x23, 0x27, 0x0e, 0xac, 0x32, 0x21,
+ 0x52, 0xca, 0x05, 0x3a, 0x31, 0x25, 0x5f, 0x26, 0x44, 0x13, 0x07, 0x13, 0xbe, 0xda, 0x22, 0x6d,
+ 0xd8, 0xc2, 0xa4, 0xdb, 0x65, 0x88, 0xa6, 0x1b, 0xb6, 0xea, 0xc6, 0x4b, 0xd3, 0x8d, 0x45, 0x99,
+ 0x2a, 0xed, 0xec, 0x25, 0x9a, 0xc7, 0x20, 0x17, 0xb0, 0xd9, 0xf7, 0x83, 0x90, 0xf5, 0x0c, 0xe6,
+ 0xb2, 0xc2, 0x7c, 0xf1, 0x18, 0xe6, 0xa9, 0xba, 0x53, 0x67, 0xb1, 0x1f, 0x84, 0x34, 0x87, 0xe0,
+ 0x9e, 0xc0, 0x96, 0xc9, 0xa8, 0x8f, 0xa5, 0x44, 0xdc, 0xf4, 0xda, 0x8c, 0x79, 0x6a, 0x4b, 0xae,
+ 0xa8, 0x50, 0x27, 0x5c, 0xb5, 0xe5, 0x7e, 0x82, 0xcd, 0x6c, 0x8a, 0xcc, 0x63, 0x6b, 0xe7, 0x1e,
+ 0xdb, 0x27, 0xab, 0xe8, 0x7e, 0xb7, 0xd2, 0xfa, 0x8c, 0x04, 0x8b, 0x56, 0xc2, 0x82, 0xda, 0x88,
+ 0x0f, 0x7b, 0x3d, 0x55, 0xd5, 0x64, 0x82, 0xb5, 0x2e, 0x4f, 0x6c, 0x87, 0xd1, 0x6e, 0x2e, 0x94,
+ 0xf7, 0x19, 0xc8, 0xbb, 0xa0, 0x3b, 0x94, 0x00, 0xad, 0x7e, 0x5f, 0x02, 0x98, 0x95, 0x11, 0xcd,
+ 0xae, 0x8c, 0xec, 0x34, 0x16, 0x01, 0x26, 0xd2, 0x9a, 0x71, 0x2d, 0xd0, 0x8c, 0x47, 0x3e, 0x32,
+ 0x43, 0x83, 0x9b, 0x5b, 0x0d, 0x53, 0x5e, 0x6f, 0x1f, 0xfe, 0x9e, 0xc9, 0x8f, 0xbc, 0xf6, 0xc3,
+ 0x06, 0xfd, 0x86, 0x21, 0xc7, 0xb0, 0x95, 0xdb, 0xd6, 0xe4, 0xc0, 0xd0, 0x9e, 0x7e, 0xa7, 0xb8,
+ 0xce, 0xfc, 0x03, 0xe4, 0xe4, 0x23, 0xec, 0xcd, 0x13, 0x89, 0x14, 0x1f, 0x54, 0xf0, 0xc6, 0x3d,
+ 0x7a, 0x44, 0x61, 0x72, 0x09, 0xfb, 0x73, 0xd7, 0x1a, 0x39, 0xca, 0xd5, 0x32, 0xbb, 0x94, 0xdd,
+ 0xd2, 0xc3, 0x01, 0xc8, 0x49, 0x0f, 0x8e, 0xda, 0x09, 0x67, 0xe2, 0x4c, 0x44, 0x09, 0x7f, 0xb6,
+ 0x2c, 0x6f, 0x61, 0x7b, 0x4a, 0x7f, 0x72, 0x68, 0x2e, 0xcd, 0xce, 0x85, 0xeb, 0x2e, 0x3a, 0x42,
+ 0x7e, 0xbc, 0x7b, 0xb9, 0x5d, 0xd1, 0x9f, 0x08, 0x6f, 0xf8, 0x15, 0x95, 0xff, 0xaf, 0x56, 0xd4,
+ 0x17, 0xc0, 0xab, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x08, 0x9a, 0x1f, 0x1c, 0x40, 0x08, 0x00,
+ 0x00,
}
diff --git a/pkg/proto/relay/relay.proto b/pkg/proto/relay/relay.proto
index 0203aa7ad..91ff335e4 100644
--- a/pkg/proto/relay/relay.proto
+++ b/pkg/proto/relay/relay.proto
@@ -76,7 +76,7 @@ int32 platformID = 2;
message KickUserOfflineResp{
}
-service OnlineMessageRelayService {
+service relay {
rpc OnlinePushMsg(OnlinePushMsgReq) returns(OnlinePushMsgResp);
rpc GetUsersOnlineStatus(GetUsersOnlineStatusReq)returns(GetUsersOnlineStatusResp);
rpc OnlineBatchPushOneMsg(OnlineBatchPushOneMsgReq) returns(OnlineBatchPushOneMsgResp);
diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go
index 2118f34b4..d6c81186b 100644
--- a/pkg/proto/sdk_ws/ws.pb.go
+++ b/pkg/proto/sdk_ws/ws.pb.go
@@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage() {}
func (*GroupInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{0}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{0}
}
func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
@@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} }
func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) }
func (*GroupInfoForSet) ProtoMessage() {}
func (*GroupInfoForSet) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{1}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{1}
}
func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b)
@@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} }
func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfo) ProtoMessage() {}
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{2}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{2}
}
func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b)
@@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} }
func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) }
func (*PublicUserInfo) ProtoMessage() {}
func (*PublicUserInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{3}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{3}
}
func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b)
@@ -504,7 +504,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} }
func (m *UserInfo) String() string { return proto.CompactTextString(m) }
func (*UserInfo) ProtoMessage() {}
func (*UserInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{4}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{4}
}
func (m *UserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfo.Unmarshal(m, b)
@@ -618,7 +618,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} }
func (m *FriendInfo) String() string { return proto.CompactTextString(m) }
func (*FriendInfo) ProtoMessage() {}
func (*FriendInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{5}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{5}
}
func (m *FriendInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfo.Unmarshal(m, b)
@@ -703,7 +703,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} }
func (m *BlackInfo) String() string { return proto.CompactTextString(m) }
func (*BlackInfo) ProtoMessage() {}
func (*BlackInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{6}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{6}
}
func (m *BlackInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackInfo.Unmarshal(m, b)
@@ -775,6 +775,8 @@ type GroupRequest struct {
HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID" json:"handleUserID,omitempty"`
HandleTime uint32 `protobuf:"varint,8,opt,name=handleTime" json:"handleTime,omitempty"`
Ex string `protobuf:"bytes,9,opt,name=ex" json:"ex,omitempty"`
+ JoinSource int32 `protobuf:"varint,10,opt,name=joinSource" json:"joinSource,omitempty"`
+ InviterUserID string `protobuf:"bytes,11,opt,name=inviterUserID" json:"inviterUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -784,7 +786,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} }
func (m *GroupRequest) String() string { return proto.CompactTextString(m) }
func (*GroupRequest) ProtoMessage() {}
func (*GroupRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{7}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{7}
}
func (m *GroupRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupRequest.Unmarshal(m, b)
@@ -867,6 +869,20 @@ func (m *GroupRequest) GetEx() string {
return ""
}
+func (m *GroupRequest) GetJoinSource() int32 {
+ if m != nil {
+ return m.JoinSource
+ }
+ return 0
+}
+
+func (m *GroupRequest) GetInviterUserID() string {
+ if m != nil {
+ return m.InviterUserID
+ }
+ return ""
+}
+
type FriendRequest struct {
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID" json:"fromUserID,omitempty"`
FromNickname string `protobuf:"bytes,2,opt,name=fromNickname" json:"fromNickname,omitempty"`
@@ -892,7 +908,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} }
func (m *FriendRequest) String() string { return proto.CompactTextString(m) }
func (*FriendRequest) ProtoMessage() {}
func (*FriendRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{8}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{8}
}
func (m *FriendRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendRequest.Unmarshal(m, b)
@@ -1037,7 +1053,7 @@ func (m *Department) Reset() { *m = Department{} }
func (m *Department) String() string { return proto.CompactTextString(m) }
func (*Department) ProtoMessage() {}
func (*Department) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{9}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{9}
}
func (m *Department) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Department.Unmarshal(m, b)
@@ -1148,7 +1164,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} }
func (m *OrganizationUser) String() string { return proto.CompactTextString(m) }
func (*OrganizationUser) ProtoMessage() {}
func (*OrganizationUser) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{10}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{10}
}
func (m *OrganizationUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OrganizationUser.Unmarshal(m, b)
@@ -1262,7 +1278,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} }
func (m *DepartmentMember) String() string { return proto.CompactTextString(m) }
func (*DepartmentMember) ProtoMessage() {}
func (*DepartmentMember) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{11}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{11}
}
func (m *DepartmentMember) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DepartmentMember.Unmarshal(m, b)
@@ -1343,7 +1359,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} }
func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) }
func (*UserDepartmentMember) ProtoMessage() {}
func (*UserDepartmentMember) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{12}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{12}
}
func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b)
@@ -1389,7 +1405,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} }
func (m *UserInDepartment) String() string { return proto.CompactTextString(m) }
func (*UserInDepartment) ProtoMessage() {}
func (*UserInDepartment) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{13}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{13}
}
func (m *UserInDepartment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInDepartment.Unmarshal(m, b)
@@ -1438,7 +1454,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{14}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{14}
}
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@@ -1497,7 +1513,7 @@ func (m *SeqList) Reset() { *m = SeqList{} }
func (m *SeqList) String() string { return proto.CompactTextString(m) }
func (*SeqList) ProtoMessage() {}
func (*SeqList) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{15}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{15}
}
func (m *SeqList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SeqList.Unmarshal(m, b)
@@ -1535,7 +1551,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} }
func (m *MsgDataList) String() string { return proto.CompactTextString(m) }
func (*MsgDataList) ProtoMessage() {}
func (*MsgDataList) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{16}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{16}
}
func (m *MsgDataList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataList.Unmarshal(m, b)
@@ -1576,7 +1592,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage() {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{17}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{17}
}
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
@@ -1637,7 +1653,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{18}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{18}
}
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@@ -1690,7 +1706,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} }
func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) }
func (*MaxAndMinSeq) ProtoMessage() {}
func (*MaxAndMinSeq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{19}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{19}
}
func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b)
@@ -1739,7 +1755,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{20}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{20}
}
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@@ -1807,7 +1823,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{21}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{21}
}
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
@@ -1878,7 +1894,7 @@ func (m *MsgData) Reset() { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage() {}
func (*MsgData) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{22}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{22}
}
func (m *MsgData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgData.Unmarshal(m, b)
@@ -2053,7 +2069,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage() {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{23}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{23}
}
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
@@ -2121,7 +2137,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} }
func (m *TipsComm) String() string { return proto.CompactTextString(m) }
func (*TipsComm) ProtoMessage() {}
func (*TipsComm) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{24}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{24}
}
func (m *TipsComm) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TipsComm.Unmarshal(m, b)
@@ -2178,7 +2194,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} }
func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCreatedTips) ProtoMessage() {}
func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{25}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{25}
}
func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b)
@@ -2247,7 +2263,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} }
func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) }
func (*GroupInfoSetTips) ProtoMessage() {}
func (*GroupInfoSetTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{26}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{26}
}
func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b)
@@ -2302,7 +2318,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi
func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) }
func (*JoinGroupApplicationTips) ProtoMessage() {}
func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{27}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{27}
}
func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b)
@@ -2358,7 +2374,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} }
func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) }
func (*MemberQuitTips) ProtoMessage() {}
func (*MemberQuitTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{28}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{28}
}
func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b)
@@ -2413,7 +2429,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc
func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationAcceptedTips) ProtoMessage() {}
func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{29}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{29}
}
func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b)
@@ -2468,7 +2484,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe
func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationRejectedTips) ProtoMessage() {}
func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{30}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{30}
}
func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b)
@@ -2524,7 +2540,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred
func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) }
func (*GroupOwnerTransferredTips) ProtoMessage() {}
func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{31}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{31}
}
func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b)
@@ -2587,7 +2603,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} }
func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) }
func (*MemberKickedTips) ProtoMessage() {}
func (*MemberKickedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{32}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{32}
}
func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b)
@@ -2650,7 +2666,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} }
func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInvitedTips) ProtoMessage() {}
func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{33}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{33}
}
func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b)
@@ -2712,7 +2728,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} }
func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) }
func (*MemberEnterTips) ProtoMessage() {}
func (*MemberEnterTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{34}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{34}
}
func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b)
@@ -2766,7 +2782,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} }
func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) }
func (*GroupDismissedTips) ProtoMessage() {}
func (*GroupDismissedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{35}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{35}
}
func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b)
@@ -2822,7 +2838,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} }
func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) }
func (*GroupMemberMutedTips) ProtoMessage() {}
func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{36}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{36}
}
func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b)
@@ -2891,7 +2907,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut
func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) }
func (*GroupMemberCancelMutedTips) ProtoMessage() {}
func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{37}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{37}
}
func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b)
@@ -2952,7 +2968,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} }
func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) }
func (*GroupMutedTips) ProtoMessage() {}
func (*GroupMutedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{38}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{38}
}
func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b)
@@ -3006,7 +3022,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} }
func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCancelMutedTips) ProtoMessage() {}
func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{39}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{39}
}
func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b)
@@ -3061,7 +3077,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{}
func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) }
func (*GroupMemberInfoSetTips) ProtoMessage() {}
func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{40}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{40}
}
func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b)
@@ -3121,7 +3137,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips
func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) }
func (*OrganizationChangedTips) ProtoMessage() {}
func (*OrganizationChangedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{41}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{41}
}
func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b)
@@ -3168,7 +3184,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} }
func (m *FriendApplication) String() string { return proto.CompactTextString(m) }
func (*FriendApplication) ProtoMessage() {}
func (*FriendApplication) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{42}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{42}
}
func (m *FriendApplication) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplication.Unmarshal(m, b)
@@ -3221,7 +3237,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} }
func (m *FromToUserID) String() string { return proto.CompactTextString(m) }
func (*FromToUserID) ProtoMessage() {}
func (*FromToUserID) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{43}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{43}
}
func (m *FromToUserID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FromToUserID.Unmarshal(m, b)
@@ -3267,7 +3283,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} }
func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationTips) ProtoMessage() {}
func (*FriendApplicationTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{44}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{44}
}
func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b)
@@ -3307,7 +3323,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication
func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationApprovedTips) ProtoMessage() {}
func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{45}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{45}
}
func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b)
@@ -3354,7 +3370,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication
func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationRejectedTips) ProtoMessage() {}
func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{46}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{46}
}
func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b)
@@ -3402,7 +3418,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} }
func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendAddedTips) ProtoMessage() {}
func (*FriendAddedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{47}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{47}
}
func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b)
@@ -3455,7 +3471,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} }
func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) }
func (*FriendDeletedTips) ProtoMessage() {}
func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{48}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{48}
}
func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b)
@@ -3493,7 +3509,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} }
func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) }
func (*BlackAddedTips) ProtoMessage() {}
func (*BlackAddedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{49}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{49}
}
func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b)
@@ -3531,7 +3547,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} }
func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) }
func (*BlackDeletedTips) ProtoMessage() {}
func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{50}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{50}
}
func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b)
@@ -3569,7 +3585,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} }
func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*FriendInfoChangedTips) ProtoMessage() {}
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{51}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{51}
}
func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b)
@@ -3608,7 +3624,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} }
func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) }
func (*UserInfoUpdatedTips) ProtoMessage() {}
func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{52}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{52}
}
func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b)
@@ -3647,7 +3663,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{}
func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) }
func (*ConversationUpdateTips) ProtoMessage() {}
func (*ConversationUpdateTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{53}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{53}
}
func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b)
@@ -3687,7 +3703,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva
func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) }
func (*ConversationSetPrivateTips) ProtoMessage() {}
func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{54}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{54}
}
func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b)
@@ -3742,7 +3758,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} }
func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageTips) ProtoMessage() {}
func (*DeleteMessageTips) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{55}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{55}
}
func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b)
@@ -3796,7 +3812,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} }
func (m *RequestPagination) String() string { return proto.CompactTextString(m) }
func (*RequestPagination) ProtoMessage() {}
func (*RequestPagination) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{56}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{56}
}
func (m *RequestPagination) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RequestPagination.Unmarshal(m, b)
@@ -3842,7 +3858,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} }
func (m *ResponsePagination) String() string { return proto.CompactTextString(m) }
func (*ResponsePagination) ProtoMessage() {}
func (*ResponsePagination) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{57}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{57}
}
func (m *ResponsePagination) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResponsePagination.Unmarshal(m, b)
@@ -3895,7 +3911,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} }
func (m *SignalReq) String() string { return proto.CompactTextString(m) }
func (*SignalReq) ProtoMessage() {}
func (*SignalReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{58}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{58}
}
func (m *SignalReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalReq.Unmarshal(m, b)
@@ -4162,7 +4178,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} }
func (m *SignalResp) String() string { return proto.CompactTextString(m) }
func (*SignalResp) ProtoMessage() {}
func (*SignalResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{59}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{59}
}
func (m *SignalResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalResp.Unmarshal(m, b)
@@ -4431,7 +4447,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} }
func (m *InvitationInfo) String() string { return proto.CompactTextString(m) }
func (*InvitationInfo) ProtoMessage() {}
func (*InvitationInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{60}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{60}
}
func (m *InvitationInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InvitationInfo.Unmarshal(m, b)
@@ -4534,7 +4550,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} }
func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) }
func (*ParticipantMetaData) ProtoMessage() {}
func (*ParticipantMetaData) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{61}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{61}
}
func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b)
@@ -4589,7 +4605,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} }
func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) }
func (*SignalInviteReq) ProtoMessage() {}
func (*SignalInviteReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{62}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{62}
}
func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b)
@@ -4650,7 +4666,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} }
func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) }
func (*SignalInviteReply) ProtoMessage() {}
func (*SignalInviteReply) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{63}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{63}
}
func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b)
@@ -4705,7 +4721,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{}
func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) }
func (*SignalInviteInGroupReq) ProtoMessage() {}
func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{64}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{64}
}
func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b)
@@ -4766,7 +4782,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep
func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) }
func (*SignalInviteInGroupReply) ProtoMessage() {}
func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{65}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{65}
}
func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b)
@@ -4821,7 +4837,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} }
func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) }
func (*SignalCancelReq) ProtoMessage() {}
func (*SignalCancelReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{66}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{66}
}
func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b)
@@ -4879,7 +4895,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} }
func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) }
func (*SignalCancelReply) ProtoMessage() {}
func (*SignalCancelReply) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{67}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{67}
}
func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b)
@@ -4914,7 +4930,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} }
func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) }
func (*SignalAcceptReq) ProtoMessage() {}
func (*SignalAcceptReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{68}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{68}
}
func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b)
@@ -4982,7 +4998,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} }
func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) }
func (*SignalAcceptReply) ProtoMessage() {}
func (*SignalAcceptReply) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{69}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{69}
}
func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b)
@@ -5036,7 +5052,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} }
func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) }
func (*SignalHungUpReq) ProtoMessage() {}
func (*SignalHungUpReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{70}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{70}
}
func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b)
@@ -5087,7 +5103,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} }
func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) }
func (*SignalHungUpReply) ProtoMessage() {}
func (*SignalHungUpReply) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{71}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{71}
}
func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b)
@@ -5122,7 +5138,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} }
func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) }
func (*SignalRejectReq) ProtoMessage() {}
func (*SignalRejectReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{72}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{72}
}
func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b)
@@ -5187,7 +5203,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} }
func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) }
func (*SignalRejectReply) ProtoMessage() {}
func (*SignalRejectReply) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{73}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{73}
}
func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b)
@@ -5221,7 +5237,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} }
func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) }
func (*DelMsgListReq) ProtoMessage() {}
func (*DelMsgListReq) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{74}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{74}
}
func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b)
@@ -5281,7 +5297,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} }
func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) }
func (*DelMsgListResp) ProtoMessage() {}
func (*DelMsgListResp) Descriptor() ([]byte, []int) {
- return fileDescriptor_ws_7a6f9f3abd69f213, []int{75}
+ return fileDescriptor_ws_63960bbd3e4ca6d2, []int{75}
}
func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b)
@@ -5398,225 +5414,226 @@ func init() {
proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp")
}
-func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_7a6f9f3abd69f213) }
+func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_63960bbd3e4ca6d2) }
-var fileDescriptor_ws_7a6f9f3abd69f213 = []byte{
- // 3469 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcb, 0x6f, 0x24, 0x57,
- 0xd5, 0xff, 0xaa, 0xda, 0xdd, 0x76, 0x9f, 0xf6, 0xa3, 0x5d, 0x33, 0x71, 0xfa, 0x33, 0x93, 0xc1,
- 0x54, 0xac, 0x24, 0x0c, 0xc1, 0x13, 0x4d, 0x08, 0x82, 0x3c, 0x06, 0xf9, 0x91, 0x79, 0x24, 0xd3,
- 0xb6, 0x53, 0x3d, 0x93, 0x20, 0x82, 0x34, 0x94, 0xbb, 0xae, 0xdb, 0x35, 0xae, 0xae, 0x5b, 0xae,
- 0x87, 0x67, 0xcc, 0x06, 0x29, 0x48, 0x88, 0x1d, 0x1b, 0xd8, 0xb0, 0x41, 0x62, 0x83, 0x40, 0x51,
- 0x84, 0x10, 0x48, 0x2c, 0x10, 0x42, 0x88, 0x1d, 0x1b, 0x90, 0xd8, 0xb1, 0x40, 0x62, 0xcd, 0x3f,
- 0x80, 0x84, 0x14, 0x74, 0xef, 0xb9, 0x55, 0x75, 0x6f, 0x55, 0xb5, 0xdd, 0x63, 0x59, 0x99, 0x89,
- 0x86, 0x5d, 0x9f, 0x53, 0xf7, 0x9c, 0x7b, 0xee, 0xf9, 0x9d, 0x7b, 0xcf, 0xb9, 0x8f, 0x86, 0xb9,
- 0xc8, 0xd9, 0xbf, 0x7b, 0x3f, 0xba, 0x7c, 0x3f, 0x5a, 0x09, 0x42, 0x1a, 0x53, 0x63, 0x3e, 0x22,
- 0xe1, 0x21, 0x09, 0xef, 0xda, 0x81, 0x7b, 0x37, 0xb0, 0x43, 0x7b, 0x18, 0x2d, 0x3e, 0xbf, 0x15,
- 0x10, 0xff, 0xee, 0xcd, 0xee, 0xe5, 0x60, 0x7f, 0x70, 0x99, 0xb7, 0xba, 0x9c, 0x4a, 0x85, 0x76,
- 0x10, 0x90, 0x50, 0xc8, 0x9a, 0xff, 0x98, 0x80, 0xe6, 0xf5, 0x90, 0x26, 0xc1, 0x4d, 0x7f, 0x97,
- 0x1a, 0x1d, 0x98, 0x1c, 0x70, 0x62, 0xa3, 0xa3, 0x2d, 0x69, 0x2f, 0x34, 0xad, 0x94, 0x34, 0x2e,
- 0x40, 0x93, 0xff, 0xdc, 0xb4, 0x87, 0xa4, 0xa3, 0xf3, 0x6f, 0x39, 0xc3, 0x30, 0x61, 0xda, 0xa7,
- 0xb1, 0xbb, 0xeb, 0xf6, 0xed, 0xd8, 0xa5, 0x7e, 0xa7, 0xc6, 0x1b, 0x28, 0x3c, 0xd6, 0xc6, 0xf5,
- 0xe3, 0x90, 0x3a, 0x49, 0x9f, 0xb7, 0x99, 0xc0, 0x36, 0x32, 0x8f, 0xf5, 0xbf, 0x6b, 0xf7, 0xc9,
- 0x1d, 0xeb, 0x56, 0xa7, 0x8e, 0xfd, 0x0b, 0xd2, 0x58, 0x82, 0x16, 0xbd, 0xef, 0x93, 0xf0, 0x4e,
- 0x44, 0xc2, 0x9b, 0x1b, 0x9d, 0x06, 0xff, 0x2a, 0xb3, 0x8c, 0x8b, 0x00, 0xfd, 0x90, 0xd8, 0x31,
- 0xb9, 0xed, 0x0e, 0x49, 0x67, 0x72, 0x49, 0x7b, 0x61, 0xc6, 0x92, 0x38, 0x4c, 0xc3, 0x90, 0x0c,
- 0x77, 0x48, 0xb8, 0x4e, 0x13, 0x3f, 0xee, 0x4c, 0xf1, 0x06, 0x32, 0xcb, 0x98, 0x05, 0x9d, 0x3c,
- 0xe8, 0x34, 0xb9, 0x6a, 0x9d, 0x3c, 0x30, 0x16, 0xa0, 0x11, 0xc5, 0x76, 0x9c, 0x44, 0x1d, 0x58,
- 0xd2, 0x5e, 0xa8, 0x5b, 0x82, 0x32, 0x96, 0x61, 0x86, 0xeb, 0xa5, 0xa9, 0x35, 0x2d, 0x2e, 0xa2,
- 0x32, 0x33, 0x8f, 0xdd, 0x3e, 0x0a, 0x48, 0x67, 0x9a, 0x2b, 0xc8, 0x19, 0xc6, 0x25, 0x68, 0xfb,
- 0x84, 0x38, 0xef, 0x92, 0x30, 0xf7, 0xda, 0x0c, 0x6f, 0x54, 0xe2, 0x1b, 0xcf, 0xc1, 0xac, 0x47,
- 0xe9, 0x7e, 0x97, 0x9b, 0xca, 0x70, 0xea, 0xcc, 0xf2, 0x96, 0x05, 0xae, 0xf1, 0x22, 0xcc, 0xdb,
- 0x41, 0xe0, 0x1d, 0x21, 0xeb, 0x5a, 0xe8, 0x12, 0xdf, 0xe9, 0xcc, 0xf1, 0xa6, 0xe5, 0x0f, 0xc6,
- 0x97, 0x61, 0x41, 0xc6, 0xe7, 0x4e, 0xe0, 0xa4, 0xbe, 0x6b, 0x73, 0xd7, 0x8c, 0xf8, 0x6a, 0xac,
- 0x80, 0xa1, 0x7c, 0x41, 0x17, 0xcc, 0x73, 0x17, 0x54, 0x7c, 0x31, 0x7f, 0x58, 0x83, 0xb9, 0x2c,
- 0xc2, 0xae, 0xd1, 0xb0, 0x47, 0xe2, 0xc7, 0x38, 0xce, 0x30, 0x06, 0x1a, 0x59, 0x0c, 0x5c, 0xaf,
- 0xc0, 0x89, 0xc5, 0x56, 0xeb, 0xca, 0x67, 0x56, 0x06, 0x94, 0x0e, 0x3c, 0x82, 0x13, 0x69, 0x27,
- 0xd9, 0x5d, 0xb9, 0xe9, 0xc7, 0x2f, 0x5f, 0x79, 0xd7, 0xf6, 0x12, 0x52, 0x01, 0xe2, 0x7a, 0x09,
- 0xc4, 0xa9, 0x93, 0xd5, 0x14, 0x11, 0xbe, 0x59, 0x85, 0x70, 0xf3, 0x64, 0x3d, 0x65, 0x29, 0xf3,
- 0x63, 0x1d, 0xce, 0x71, 0x58, 0x04, 0x37, 0xf1, 0xbc, 0x13, 0x96, 0x80, 0x05, 0x68, 0x24, 0x08,
- 0x36, 0xe2, 0x22, 0x28, 0x06, 0x59, 0x48, 0x3d, 0x72, 0x8b, 0x1c, 0x12, 0x8f, 0x23, 0x52, 0xb7,
- 0x72, 0x86, 0xb1, 0x08, 0x53, 0xf7, 0xa8, 0xeb, 0xf3, 0xc0, 0x9a, 0xe0, 0x1f, 0x33, 0x9a, 0x7d,
- 0xf3, 0xdd, 0xfe, 0xbe, 0xcf, 0xb0, 0x46, 0x1c, 0x32, 0x5a, 0x86, 0xa8, 0xa1, 0x42, 0xf4, 0x1c,
- 0xcc, 0xda, 0x41, 0xd0, 0xb5, 0xfd, 0x01, 0x09, 0xb1, 0xd3, 0x49, 0x9c, 0x0e, 0x2a, 0x97, 0x2d,
- 0x08, 0xac, 0xa7, 0x1e, 0x4d, 0xc2, 0x3e, 0xe1, 0xde, 0xae, 0x5b, 0x12, 0x87, 0xe9, 0xa1, 0x01,
- 0x09, 0xa5, 0x79, 0x8c, 0x53, 0xbf, 0xc0, 0x15, 0x21, 0x01, 0x59, 0x48, 0xb0, 0x85, 0x24, 0x89,
- 0xc9, 0x9b, 0xbe, 0xc3, 0x07, 0xd5, 0x12, 0x0b, 0x49, 0xce, 0x62, 0x0b, 0x84, 0xeb, 0x1f, 0xba,
- 0x71, 0xb6, 0x5c, 0x4d, 0xe3, 0x02, 0xa1, 0x30, 0xcd, 0xef, 0x69, 0x30, 0xbb, 0x9d, 0xec, 0x78,
- 0x6e, 0x9f, 0x33, 0x98, 0xf3, 0x73, 0x17, 0x6b, 0x8a, 0x8b, 0x65, 0x47, 0xe9, 0xa3, 0x1d, 0x55,
- 0x53, 0x1d, 0xb5, 0x00, 0x8d, 0x01, 0xf1, 0x1d, 0x12, 0x0a, 0xc7, 0x0b, 0x4a, 0x0c, 0xa8, 0x9e,
- 0x0e, 0xc8, 0xfc, 0xa3, 0x0e, 0x53, 0x9f, 0xb0, 0x09, 0x4b, 0xd0, 0x0a, 0xf6, 0xa8, 0x4f, 0x36,
- 0x13, 0x16, 0x7c, 0xc2, 0x16, 0x99, 0x65, 0x9c, 0x87, 0xfa, 0x8e, 0x1b, 0xc6, 0x7b, 0x1c, 0xfd,
- 0x19, 0x0b, 0x09, 0xc6, 0x25, 0x43, 0xdb, 0x45, 0xc8, 0x9b, 0x16, 0x12, 0x62, 0x40, 0x53, 0x19,
- 0x42, 0x6a, 0x2a, 0x68, 0x96, 0x52, 0x41, 0x39, 0x82, 0xa0, 0x32, 0x82, 0x2e, 0x41, 0x7b, 0xe0,
- 0xd1, 0x1d, 0xdb, 0xb3, 0x48, 0xff, 0xb0, 0x1b, 0x0d, 0xb6, 0x82, 0x98, 0xc3, 0x5d, 0xb7, 0x4a,
- 0x7c, 0xf3, 0xdf, 0x1a, 0x00, 0x4e, 0x2d, 0xee, 0xc6, 0x42, 0xbe, 0xd2, 0xca, 0xf9, 0x6a, 0x01,
- 0x1a, 0x21, 0x19, 0xda, 0xe1, 0x7e, 0x3a, 0x9d, 0x90, 0x2a, 0x18, 0x5f, 0x2b, 0x19, 0xff, 0x1a,
- 0xc0, 0x2e, 0xef, 0x87, 0xe9, 0xe1, 0x6e, 0x65, 0x93, 0xbf, 0x54, 0x02, 0xac, 0xa4, 0x88, 0x5a,
- 0x52, 0x73, 0x36, 0x57, 0x6d, 0xc7, 0x11, 0x53, 0xa2, 0x8e, 0x73, 0x35, 0x63, 0x54, 0xcc, 0x88,
- 0xc6, 0x31, 0x33, 0x62, 0x32, 0x0b, 0xa0, 0x7f, 0x69, 0xd0, 0x5c, 0xf3, 0xec, 0xfe, 0xfe, 0x98,
- 0x43, 0x57, 0x87, 0xa8, 0x97, 0x86, 0x78, 0x1d, 0x66, 0x76, 0x98, 0xba, 0x74, 0x08, 0xdc, 0x0b,
- 0xad, 0x2b, 0x9f, 0xab, 0x18, 0xa5, 0x3a, 0x81, 0x2c, 0x55, 0x4e, 0x1d, 0xee, 0xc4, 0xc9, 0xc3,
- 0xad, 0x1f, 0x33, 0xdc, 0x2c, 0x27, 0x98, 0x7f, 0xd5, 0x61, 0x9a, 0x2f, 0x9d, 0x16, 0x39, 0x48,
- 0x48, 0x14, 0x1b, 0x6f, 0xc0, 0x54, 0x92, 0x9a, 0xaa, 0x8d, 0x6b, 0x6a, 0x26, 0x62, 0xbc, 0x2a,
- 0x72, 0x1e, 0x97, 0xd7, 0xb9, 0xfc, 0x85, 0x0a, 0xf9, 0x2c, 0x89, 0x5a, 0x79, 0x73, 0x96, 0xed,
- 0xf6, 0x6c, 0xdf, 0xf1, 0x88, 0x45, 0xa2, 0xc4, 0x8b, 0xc5, 0xfa, 0xab, 0xf0, 0x30, 0xd2, 0x0e,
- 0xba, 0xd1, 0x40, 0xe4, 0x42, 0x41, 0x31, 0xef, 0x60, 0x3b, 0xf6, 0x09, 0x87, 0x9e, 0x33, 0xd8,
- 0xa4, 0x0e, 0xc9, 0x01, 0x47, 0x08, 0xa7, 0x60, 0x4a, 0xe6, 0x7d, 0x0a, 0xaf, 0x61, 0x20, 0x28,
- 0x3c, 0x06, 0x31, 0xd2, 0x5c, 0x01, 0x16, 0x5b, 0x12, 0xa7, 0x58, 0x6b, 0x99, 0x7f, 0xaf, 0xc1,
- 0x0c, 0x4e, 0x9f, 0xd4, 0xa9, 0x17, 0x59, 0x9c, 0xd3, 0xa1, 0x12, 0x45, 0x12, 0x87, 0x59, 0xc1,
- 0xa8, 0x4d, 0x75, 0x51, 0x52, 0x78, 0x2c, 0x14, 0x19, 0x7d, 0x4d, 0x59, 0x9c, 0x64, 0x56, 0xda,
- 0xcb, 0x75, 0x79, 0x91, 0x92, 0x38, 0x6c, 0xd9, 0x8b, 0xa9, 0x12, 0x1d, 0x19, 0xcd, 0x64, 0x63,
- 0x9a, 0xf5, 0x8f, 0xf1, 0x21, 0x71, 0x98, 0x7f, 0x63, 0x9a, 0xf6, 0x8d, 0x4e, 0xca, 0x19, 0xa8,
- 0x59, 0xf4, 0x8b, 0xc9, 0x29, 0xa3, 0x4b, 0xa8, 0x36, 0x8f, 0x45, 0x15, 0x14, 0x54, 0xd5, 0xc9,
- 0xd5, 0x2a, 0x4d, 0xae, 0x65, 0x98, 0x41, 0x3d, 0x85, 0xe4, 0xa4, 0x30, 0xd5, 0xd8, 0x98, 0x29,
- 0xc6, 0x86, 0x8a, 0xee, 0xec, 0x08, 0x74, 0xe7, 0x32, 0x74, 0x7f, 0xa5, 0x03, 0x6c, 0x90, 0xc0,
- 0x0e, 0xe3, 0x21, 0xf1, 0x63, 0x36, 0x3c, 0x27, 0xa3, 0x32, 0x70, 0x15, 0x9e, 0x9c, 0x53, 0x74,
- 0x35, 0xa7, 0x18, 0x30, 0xc1, 0x1d, 0x8e, 0x68, 0xf2, 0xdf, 0xcc, 0x99, 0x81, 0x1d, 0xa2, 0x36,
- 0x0c, 0xf2, 0x8c, 0x66, 0x39, 0x83, 0x86, 0x8e, 0xc8, 0x32, 0x75, 0x0b, 0x09, 0x36, 0xf9, 0xf3,
- 0xfe, 0x78, 0x8d, 0xde, 0xc0, 0x1c, 0xa0, 0x72, 0x4f, 0xdc, 0x56, 0x5c, 0x82, 0x76, 0x94, 0xec,
- 0xe4, 0x83, 0xdb, 0x4c, 0x86, 0x22, 0xdc, 0x4b, 0x7c, 0xe6, 0x54, 0xdc, 0x6f, 0xb0, 0x46, 0x98,
- 0x96, 0x72, 0x46, 0xb1, 0xce, 0x30, 0x3f, 0xd4, 0xa1, 0xbd, 0x15, 0x0e, 0x6c, 0xdf, 0xfd, 0x76,
- 0x56, 0x4f, 0x9f, 0x2a, 0x3d, 0x2f, 0x41, 0x8b, 0xf8, 0x03, 0xcf, 0x8d, 0xf6, 0x36, 0x73, 0xbf,
- 0xc9, 0x2c, 0xd9, 0xd9, 0x13, 0xa3, 0x12, 0x78, 0x5d, 0x49, 0xe0, 0x0b, 0xd0, 0x18, 0xd2, 0x1d,
- 0xd7, 0x4b, 0xe3, 0x5e, 0x50, 0x3c, 0xe6, 0x89, 0x47, 0x78, 0x26, 0xcf, 0x62, 0x3e, 0x65, 0xe4,
- 0x49, 0x7d, 0xaa, 0x32, 0xa9, 0x37, 0xe5, 0xa4, 0xae, 0x3a, 0x1e, 0x4a, 0x8e, 0x47, 0x77, 0xb5,
- 0x32, 0x77, 0xfd, 0x41, 0x83, 0x76, 0xee, 0x6e, 0xac, 0x6a, 0x47, 0xba, 0xab, 0x18, 0x81, 0x7a,
- 0x45, 0x04, 0x66, 0x71, 0x53, 0x93, 0xe3, 0x86, 0x45, 0x1a, 0x8d, 0x5c, 0x69, 0x6b, 0x91, 0xd1,
- 0xac, 0x37, 0x8f, 0xd8, 0x92, 0xb3, 0x90, 0x92, 0x36, 0x92, 0x0d, 0x65, 0x23, 0x59, 0xcc, 0xa3,
- 0xbf, 0xd5, 0xe0, 0x3c, 0x43, 0xb9, 0x34, 0x8c, 0x2d, 0x68, 0xd3, 0x42, 0x24, 0x88, 0x44, 0xf3,
- 0x6c, 0x45, 0xa2, 0x28, 0x06, 0x8d, 0x55, 0x12, 0x66, 0x0a, 0x9d, 0x42, 0x27, 0x22, 0xf3, 0x54,
- 0x29, 0x2c, 0xda, 0x63, 0x95, 0x84, 0xcd, 0xdf, 0x69, 0xd0, 0xc6, 0xd4, 0x26, 0xcd, 0xf3, 0x33,
- 0x37, 0xfb, 0x3d, 0x38, 0x5f, 0xec, 0xf9, 0x96, 0x1b, 0xc5, 0x1d, 0x7d, 0xa9, 0x36, 0xae, 0xe9,
- 0x95, 0x0a, 0xd8, 0x5c, 0x7b, 0x7a, 0x3b, 0xf1, 0xbc, 0x2e, 0x89, 0x22, 0x7b, 0x40, 0xd6, 0x8e,
- 0x7a, 0xe4, 0x80, 0x7d, 0xb0, 0xc8, 0xc1, 0xc8, 0x18, 0x62, 0x75, 0x0e, 0x2f, 0x14, 0x5c, 0xea,
- 0x67, 0x21, 0x24, 0xb3, 0xd8, 0xb4, 0x8a, 0x50, 0x4f, 0xa7, 0xb6, 0x54, 0x63, 0x29, 0x54, 0x90,
- 0xc6, 0xb7, 0x60, 0x9a, 0xe7, 0x70, 0xd1, 0x4d, 0x67, 0x82, 0x0f, 0xe0, 0xf5, 0xca, 0xaa, 0xa1,
- 0xd2, 0x2a, 0xac, 0x06, 0x04, 0xfd, 0xa6, 0x1f, 0x87, 0x47, 0x96, 0xa2, 0x71, 0xf1, 0x7d, 0x98,
- 0x2f, 0x35, 0x31, 0xda, 0x50, 0xdb, 0x27, 0x47, 0x62, 0x1c, 0xec, 0xa7, 0xf1, 0x12, 0xd4, 0x0f,
- 0xd9, 0x16, 0x51, 0xa0, 0xbf, 0x58, 0x61, 0x81, 0xb0, 0xd9, 0xc2, 0x86, 0xaf, 0xea, 0x5f, 0xd1,
- 0xcc, 0x67, 0xb3, 0x81, 0xc9, 0x63, 0xd4, 0x94, 0x31, 0x9a, 0x6f, 0x43, 0xab, 0x1b, 0x0d, 0x36,
- 0xec, 0xd8, 0xe6, 0x0d, 0x5f, 0x87, 0xd6, 0x30, 0x27, 0x79, 0xe3, 0xea, 0xfe, 0x84, 0x90, 0x25,
- 0x37, 0x37, 0xff, 0xa2, 0x43, 0xa7, 0xda, 0x15, 0x51, 0xc0, 0x6c, 0x20, 0x61, 0xb8, 0x4e, 0x1d,
- 0xc2, 0x87, 0x56, 0xb7, 0x52, 0x92, 0x61, 0x47, 0xc2, 0x90, 0xe5, 0x30, 0x51, 0x64, 0x23, 0x65,
- 0xac, 0xc0, 0x84, 0x97, 0xc2, 0x72, 0xbc, 0x15, 0xbc, 0x9d, 0x31, 0x84, 0x36, 0xf7, 0xae, 0x34,
- 0x20, 0x81, 0xd9, 0xea, 0xd8, 0x98, 0x45, 0x01, 0x82, 0x26, 0xe9, 0x40, 0xe0, 0x4a, 0xaa, 0x17,
- 0xfb, 0xf0, 0x54, 0x65, 0xd3, 0x0a, 0x00, 0xbf, 0xa4, 0x02, 0x78, 0x71, 0xf4, 0x50, 0x8a, 0x20,
- 0x06, 0x60, 0x5c, 0x27, 0x71, 0xd7, 0x7e, 0xb0, 0xea, 0x3b, 0x5d, 0xd7, 0xef, 0x91, 0x03, 0x16,
- 0xed, 0x4b, 0xd0, 0x12, 0x1b, 0xfe, 0x0c, 0xa6, 0xa6, 0x25, 0xb3, 0x46, 0x9e, 0x03, 0x14, 0xe6,
- 0x43, 0xad, 0x34, 0x1f, 0xcc, 0xab, 0x30, 0x2d, 0x77, 0xc7, 0x93, 0x88, 0xfd, 0xa0, 0x47, 0x0e,
- 0xf8, 0x80, 0x66, 0x2c, 0x41, 0x71, 0x3e, 0x6f, 0x21, 0xf6, 0x06, 0x82, 0x32, 0xff, 0xac, 0xc3,
- 0xb9, 0x92, 0xc9, 0x51, 0xf0, 0xb0, 0x7a, 0xe4, 0x78, 0xa9, 0x8d, 0x8a, 0x97, 0x09, 0x25, 0x5e,
- 0xf6, 0x61, 0x1e, 0x41, 0x92, 0xba, 0xee, 0xd4, 0x79, 0x00, 0xbc, 0x51, 0x55, 0xaa, 0x97, 0x8d,
- 0x14, 0xd8, 0x4b, 0x5c, 0x04, 0xbf, 0xac, 0x77, 0x91, 0xc0, 0x42, 0x75, 0xe3, 0x0a, 0xf8, 0x5f,
- 0x51, 0xe1, 0xff, 0x6c, 0x15, 0xfc, 0xb2, 0x25, 0x12, 0xfe, 0x07, 0x30, 0xc7, 0x16, 0xd5, 0x1e,
- 0xf1, 0x9d, 0x6e, 0x34, 0xe0, 0x8e, 0x5c, 0x82, 0x16, 0xca, 0x77, 0xa3, 0x41, 0xbe, 0x75, 0x93,
- 0x58, 0xac, 0x45, 0xdf, 0x73, 0xd9, 0xe2, 0xc9, 0x5b, 0x88, 0x45, 0x4f, 0x62, 0xb1, 0x04, 0x19,
- 0x11, 0x71, 0x36, 0xc2, 0xbc, 0x5b, 0xb3, 0x32, 0xda, 0xfc, 0xa0, 0x01, 0x93, 0x22, 0x1a, 0x79,
- 0x52, 0x64, 0xbb, 0xe5, 0x6c, 0x59, 0x45, 0x0a, 0xeb, 0xda, 0xfe, 0x61, 0x1e, 0x5e, 0x48, 0xc9,
- 0x07, 0x53, 0x35, 0xf5, 0x60, 0xaa, 0x60, 0xd3, 0x44, 0xd9, 0xa6, 0xc2, 0xb8, 0xea, 0xe5, 0x71,
- 0xb1, 0x32, 0x8e, 0x57, 0x36, 0xdb, 0x9e, 0x1d, 0xef, 0xd2, 0x70, 0x28, 0x36, 0xbf, 0x75, 0xab,
- 0xc4, 0x67, 0xa5, 0x23, 0xf2, 0xb2, 0xda, 0x1f, 0x53, 0x78, 0x81, 0xcb, 0x2a, 0x6d, 0xe4, 0xa4,
- 0x7b, 0x00, 0x3c, 0xa1, 0x50, 0x99, 0x68, 0x5b, 0x14, 0xb9, 0xd4, 0xe7, 0x55, 0x28, 0x96, 0xfa,
- 0x32, 0x8b, 0x8d, 0x7c, 0x18, 0x0d, 0xae, 0x85, 0x74, 0x28, 0xce, 0x29, 0x52, 0x92, 0x8f, 0x9c,
- 0xfa, 0x71, 0x5a, 0xc1, 0xe2, 0xd9, 0x84, 0xcc, 0x62, 0xb2, 0x82, 0xe4, 0x75, 0xfe, 0xb4, 0x95,
- 0x92, 0x2c, 0x96, 0x22, 0x72, 0x20, 0x8a, 0x77, 0xf6, 0x53, 0x41, 0x6e, 0x4e, 0x45, 0xae, 0x50,
- 0x8d, 0xb5, 0xf9, 0x57, 0xb9, 0x1a, 0xcb, 0x4b, 0x9c, 0x79, 0xa5, 0xc4, 0x59, 0x85, 0x49, 0x1a,
- 0xb0, 0xe9, 0x1f, 0x75, 0x0c, 0x3e, 0x5d, 0x9e, 0x1f, 0xbd, 0x40, 0xad, 0x6c, 0x61, 0x4b, 0x9c,
- 0x18, 0xa9, 0x9c, 0x71, 0x0b, 0xe6, 0xe8, 0xee, 0xae, 0xe7, 0xfa, 0x64, 0x3b, 0x89, 0xf6, 0xf8,
- 0x26, 0xf9, 0x1c, 0x0f, 0x76, 0xb3, 0xaa, 0x88, 0x50, 0x5b, 0x5a, 0x45, 0x51, 0x56, 0xf9, 0xd9,
- 0x31, 0x6e, 0x72, 0xf8, 0x02, 0x77, 0x9e, 0x2f, 0x70, 0x0a, 0x8f, 0x9f, 0xf0, 0x49, 0x0b, 0xfd,
- 0x53, 0xdc, 0x71, 0x32, 0x6b, 0xf1, 0x55, 0x98, 0x96, 0x8d, 0xad, 0x98, 0x98, 0xe7, 0xe5, 0x89,
- 0x39, 0x25, 0xcf, 0xbb, 0x1f, 0x69, 0x30, 0x57, 0x30, 0x93, 0xb5, 0x8e, 0xdd, 0xd8, 0x23, 0x42,
- 0x03, 0x12, 0x6c, 0xa7, 0xe3, 0x90, 0xa8, 0x2f, 0x26, 0x02, 0xff, 0x2d, 0x6a, 0xc6, 0x5a, 0x76,
- 0xd6, 0x65, 0xc2, 0xb4, 0xbb, 0xd5, 0x63, 0x8a, 0x7a, 0x34, 0xf1, 0x9d, 0xec, 0xb8, 0x5b, 0xe2,
- 0xf1, 0xf3, 0xc8, 0xad, 0xde, 0x9a, 0xed, 0x0c, 0x08, 0x5e, 0x7e, 0xd4, 0xb9, 0x4d, 0x2a, 0xd3,
- 0x74, 0x60, 0xea, 0xb6, 0x1b, 0x44, 0xeb, 0x74, 0x38, 0x64, 0x70, 0x3a, 0x24, 0x66, 0x35, 0xb9,
- 0xc6, 0x07, 0x2f, 0x28, 0xe6, 0x19, 0x87, 0xec, 0xda, 0x89, 0x17, 0xb3, 0xa6, 0xe9, 0xf4, 0x97,
- 0x58, 0xfc, 0xd4, 0x35, 0xa2, 0xfe, 0x06, 0x4a, 0xa3, 0x9d, 0x12, 0xc7, 0xfc, 0x93, 0x0e, 0x6d,
- 0xbe, 0xba, 0xad, 0xf3, 0xe0, 0x71, 0xb8, 0xd0, 0x15, 0xa8, 0xf3, 0xc9, 0x2c, 0xaa, 0xc3, 0xe3,
- 0x4f, 0x3f, 0xb0, 0xa9, 0x71, 0x15, 0x1a, 0x34, 0xe0, 0x25, 0x25, 0x2e, 0x7d, 0xcf, 0x8d, 0x12,
- 0x52, 0x0f, 0xb8, 0x2d, 0x21, 0x65, 0x5c, 0x03, 0x18, 0xe6, 0x15, 0x24, 0x16, 0x02, 0xe3, 0xea,
- 0x90, 0x24, 0x99, 0x73, 0xb3, 0x1c, 0x97, 0x9d, 0x72, 0xd7, 0x2c, 0x95, 0x69, 0x6c, 0xc2, 0x2c,
- 0x37, 0x7b, 0x2b, 0x3d, 0x06, 0xe3, 0x18, 0x8c, 0xdf, 0x63, 0x41, 0xda, 0xfc, 0xa9, 0x26, 0xdc,
- 0xc8, 0xbe, 0xf6, 0x08, 0xfa, 0x3e, 0x77, 0x89, 0x76, 0x2a, 0x97, 0x2c, 0xc2, 0xd4, 0x30, 0x91,
- 0x4e, 0xe5, 0x6a, 0x56, 0x46, 0xe7, 0x10, 0xd5, 0xc6, 0x86, 0xc8, 0xfc, 0x99, 0x06, 0x9d, 0xb7,
- 0xa8, 0xeb, 0xf3, 0x0f, 0xab, 0x41, 0xe0, 0x89, 0xcb, 0x90, 0x53, 0x63, 0xfe, 0x35, 0x68, 0xda,
- 0xa8, 0xc6, 0x8f, 0x05, 0xec, 0x63, 0x9c, 0xb4, 0xe5, 0x32, 0xd2, 0xa1, 0x49, 0x4d, 0x3e, 0x34,
- 0x31, 0x3f, 0xd2, 0x60, 0x16, 0x9d, 0xf2, 0x4e, 0xe2, 0xc6, 0xa7, 0xb6, 0x6f, 0x0d, 0xa6, 0x0e,
- 0x12, 0x37, 0x3e, 0x45, 0x54, 0x66, 0x72, 0xe5, 0x78, 0xaa, 0x55, 0xc4, 0x93, 0xf9, 0x4b, 0x0d,
- 0x2e, 0x14, 0xdd, 0xba, 0xda, 0xef, 0x93, 0xe0, 0x51, 0x4e, 0x29, 0xe5, 0xd0, 0x68, 0xa2, 0x70,
- 0x68, 0x54, 0x69, 0xb2, 0x45, 0xee, 0x91, 0xfe, 0xe3, 0x6b, 0xf2, 0x77, 0x75, 0xf8, 0xff, 0xeb,
- 0xd9, 0xc4, 0xbb, 0x1d, 0xda, 0x7e, 0xb4, 0x4b, 0xc2, 0xf0, 0x11, 0xda, 0x7b, 0x0b, 0x66, 0x7c,
- 0x72, 0x3f, 0xb7, 0x49, 0x4c, 0xc7, 0x71, 0xd5, 0xa8, 0xc2, 0xe3, 0xad, 0x5d, 0xe6, 0x7f, 0x34,
- 0x68, 0xa3, 0x9e, 0xb7, 0xdd, 0xfe, 0xfe, 0x23, 0x1c, 0xfc, 0x26, 0xcc, 0xee, 0x73, 0x0b, 0x18,
- 0x75, 0x8a, 0x65, 0xbb, 0x20, 0x3d, 0xe6, 0xf0, 0x3f, 0xd6, 0x60, 0x3e, 0xbd, 0x83, 0x3d, 0x74,
- 0x1f, 0x65, 0xb0, 0x6e, 0xc3, 0x1c, 0x5e, 0x21, 0x9e, 0xd6, 0x01, 0x45, 0xf1, 0x31, 0x3d, 0xf0,
- 0x1b, 0x0d, 0xe6, 0x50, 0xd3, 0x9b, 0x7e, 0x4c, 0xc2, 0x53, 0x8f, 0xff, 0x06, 0xb4, 0x88, 0x1f,
- 0x87, 0xb6, 0x7f, 0x9a, 0x15, 0x52, 0x16, 0x1d, 0x73, 0x91, 0xfc, 0x48, 0x03, 0x83, 0xab, 0xda,
- 0x70, 0xa3, 0xa1, 0x1b, 0x45, 0x8f, 0x10, 0xba, 0xf1, 0x0c, 0xfe, 0xb1, 0x0e, 0xe7, 0x25, 0x2d,
- 0xdd, 0x24, 0x7e, 0xdc, 0x4d, 0x36, 0x36, 0xa0, 0xc9, 0x6a, 0x04, 0xf9, 0x36, 0x72, 0xdc, 0x8e,
- 0x72, 0x41, 0x56, 0xc5, 0x72, 0xa2, 0x47, 0xfa, 0xd4, 0x77, 0x22, 0x5e, 0x1c, 0xcd, 0x58, 0x0a,
- 0x8f, 0x2d, 0x43, 0x8b, 0x92, 0x9a, 0x75, 0xdb, 0xef, 0x13, 0xef, 0x89, 0x71, 0x91, 0xf9, 0x0b,
- 0x0d, 0x66, 0xb1, 0xc9, 0xe3, 0x3f, 0x64, 0x96, 0xeb, 0x31, 0x90, 0x3f, 0x35, 0x28, 0xb1, 0xf0,
- 0x5a, 0x90, 0xb4, 0xc8, 0x75, 0xf5, 0xe3, 0x1b, 0x5a, 0x37, 0xa0, 0xd5, 0xdf, 0xb3, 0xfd, 0xc1,
- 0xa9, 0x82, 0x4b, 0x16, 0x35, 0x63, 0x78, 0x5a, 0x3e, 0x80, 0x5f, 0xc7, 0x4f, 0x7c, 0xf8, 0x2f,
- 0x17, 0x86, 0x72, 0xec, 0x6b, 0x83, 0x87, 0x73, 0xfa, 0x3e, 0xcc, 0xe3, 0xad, 0xaf, 0x54, 0x13,
- 0x1a, 0x1d, 0x98, 0xb4, 0x1d, 0x3c, 0x86, 0xd0, 0xb8, 0x50, 0x4a, 0xaa, 0xf7, 0xf9, 0xe2, 0x75,
- 0x58, 0x7e, 0x9f, 0x7f, 0x11, 0xc0, 0x76, 0x9c, 0xf7, 0x68, 0xe8, 0xb8, 0x7e, 0x5a, 0xe0, 0x4b,
- 0x1c, 0xf3, 0x2d, 0x98, 0xbe, 0x16, 0xd2, 0xe1, 0x6d, 0xe9, 0xfe, 0xf6, 0xd8, 0x1b, 0x66, 0xf9,
- 0xee, 0x57, 0x57, 0xef, 0x7e, 0xcd, 0x6f, 0xc2, 0x53, 0x25, 0xc3, 0xb9, 0xb3, 0xd6, 0xf1, 0x5a,
- 0x3a, 0xed, 0x44, 0x84, 0x4c, 0xd5, 0xb9, 0x9c, 0x6c, 0x8b, 0xa5, 0x08, 0x99, 0x1f, 0x68, 0xf0,
- 0x4c, 0x49, 0xfd, 0x6a, 0x10, 0x84, 0xf4, 0x50, 0x60, 0x72, 0x16, 0xdd, 0xa8, 0xc5, 0xaf, 0x5e,
- 0x2c, 0x7e, 0x2b, 0x8d, 0x50, 0x0a, 0xf6, 0x4f, 0xc0, 0x88, 0x9f, 0x6b, 0x30, 0x27, 0x8c, 0x70,
- 0x1c, 0xd1, 0xed, 0x2b, 0xd0, 0xc0, 0x27, 0x2d, 0xa2, 0xc3, 0x67, 0x2a, 0x3b, 0x4c, 0x9f, 0xe2,
- 0x58, 0xa2, 0x71, 0x39, 0x22, 0xf5, 0xaa, 0x19, 0xf5, 0xd5, 0x2c, 0xd8, 0xc7, 0x7e, 0x74, 0x22,
- 0x04, 0xcc, 0xaf, 0xa7, 0xc1, 0xbc, 0x41, 0x3c, 0x72, 0x96, 0x3e, 0x32, 0xef, 0xc0, 0x2c, 0x7f,
- 0x5f, 0x93, 0xfb, 0xe0, 0x4c, 0xd4, 0xbe, 0x07, 0x6d, 0xae, 0xf6, 0xcc, 0xed, 0xcd, 0x66, 0x07,
- 0xf3, 0x8f, 0xbc, 0x94, 0x9c, 0x89, 0xf6, 0x2f, 0xc2, 0xb9, 0xd4, 0xf7, 0xf8, 0x2e, 0x15, 0x75,
- 0x8f, 0xb8, 0xa7, 0x33, 0x5f, 0x82, 0x85, 0x75, 0xea, 0x1f, 0x92, 0x30, 0x52, 0x9e, 0xb2, 0xa2,
- 0x84, 0x32, 0xf9, 0x05, 0x65, 0xde, 0x83, 0x45, 0x59, 0xa2, 0x47, 0xe2, 0xed, 0xd0, 0x3d, 0x94,
- 0xa4, 0xc4, 0x01, 0xb5, 0xa6, 0x1c, 0x50, 0xe7, 0x07, 0xda, 0xba, 0x72, 0xa0, 0x7d, 0x01, 0x9a,
- 0x6e, 0x24, 0x14, 0xf0, 0xa0, 0x9a, 0xb2, 0x72, 0x86, 0x69, 0xc3, 0x3c, 0xba, 0x5f, 0x5c, 0x18,
- 0xf1, 0x2e, 0x16, 0x61, 0x0a, 0x63, 0x2a, 0xeb, 0x24, 0xa3, 0x47, 0x5e, 0xbf, 0x8c, 0xbc, 0x6c,
- 0x34, 0x7b, 0x30, 0x2f, 0x1e, 0xd5, 0x6c, 0xdb, 0x03, 0xd7, 0xc7, 0x45, 0xf6, 0x22, 0x40, 0x60,
- 0x0f, 0xd2, 0x07, 0x78, 0x78, 0x6d, 0x26, 0x71, 0xd8, 0xf7, 0x68, 0x8f, 0xde, 0x17, 0xdf, 0x75,
- 0xfc, 0x9e, 0x73, 0xcc, 0x77, 0xc1, 0xb0, 0x48, 0x14, 0x50, 0x3f, 0x22, 0x92, 0xd6, 0x25, 0x68,
- 0xad, 0x27, 0x61, 0x48, 0x7c, 0xd6, 0x55, 0xfa, 0xc2, 0x4c, 0x66, 0x31, 0xbd, 0xbd, 0x5c, 0x2f,
- 0x1e, 0xb1, 0x4b, 0x1c, 0xf3, 0x27, 0x35, 0x68, 0xf6, 0xdc, 0x81, 0x6f, 0x7b, 0x16, 0x39, 0x30,
- 0x5e, 0x87, 0x06, 0x6e, 0x59, 0x44, 0xa4, 0x54, 0x1d, 0xf9, 0x62, 0x6b, 0xdc, 0x9b, 0x59, 0xe4,
- 0xe0, 0xc6, 0xff, 0x59, 0x42, 0xc6, 0x78, 0x27, 0x7d, 0x87, 0x79, 0x13, 0x8f, 0xa0, 0x44, 0xfe,
- 0xfa, 0xfc, 0x09, 0x4a, 0x44, 0x6b, 0xd4, 0xa5, 0x6a, 0x60, 0x06, 0xf5, 0x79, 0x49, 0x23, 0x96,
- 0x87, 0xd1, 0x06, 0x61, 0xe5, 0x23, 0x0c, 0x42, 0x19, 0x26, 0x6d, 0xf3, 0x43, 0x1a, 0x91, 0xa9,
- 0x47, 0x4b, 0xe3, 0x59, 0x8e, 0x90, 0x46, 0x19, 0x26, 0xbd, 0x97, 0xf8, 0x83, 0x3b, 0x81, 0x38,
- 0x3b, 0x1c, 0x2d, 0x7d, 0x83, 0x37, 0x13, 0xd2, 0x28, 0xc3, 0xa4, 0x43, 0xbe, 0x78, 0x73, 0xa7,
- 0x1f, 0x27, 0x8d, 0x6b, 0xbc, 0x90, 0x46, 0x99, 0xb5, 0x26, 0x4c, 0x06, 0xf6, 0x91, 0x47, 0x6d,
- 0xc7, 0xfc, 0xb0, 0x06, 0x90, 0x36, 0x8c, 0x78, 0xa1, 0xa3, 0x40, 0xb4, 0x7c, 0x22, 0x44, 0x81,
- 0x77, 0x24, 0x81, 0xd4, 0xab, 0x06, 0xe9, 0x0b, 0xe3, 0x82, 0x84, 0xda, 0x0a, 0x30, 0x5d, 0x2d,
- 0xc0, 0xb4, 0x7c, 0x22, 0x4c, 0xc2, 0x28, 0x01, 0xd4, 0xd5, 0x02, 0x50, 0xcb, 0x27, 0x02, 0x25,
- 0xe4, 0x05, 0x54, 0x57, 0x0b, 0x50, 0x2d, 0x9f, 0x08, 0x95, 0x90, 0x17, 0x60, 0x5d, 0x2d, 0x80,
- 0xb5, 0x7c, 0x22, 0x58, 0x42, 0xbe, 0x0c, 0xd7, 0xdf, 0x74, 0x98, 0xe5, 0x2e, 0xc3, 0x5b, 0x58,
- 0x7f, 0x97, 0x96, 0xdf, 0x27, 0x6b, 0x15, 0xef, 0x93, 0x8d, 0x17, 0x61, 0x1e, 0x19, 0x44, 0xba,
- 0x2e, 0xd1, 0xf9, 0x75, 0x49, 0xf9, 0x03, 0xbf, 0x20, 0x4a, 0xa2, 0x98, 0x0e, 0x37, 0xec, 0xd8,
- 0x4e, 0x8b, 0xaf, 0x9c, 0x23, 0x5f, 0xdf, 0x4d, 0x94, 0xde, 0x95, 0x87, 0x94, 0x0e, 0xb3, 0x7b,
- 0x39, 0x41, 0x31, 0x89, 0xd8, 0x1d, 0x12, 0x9a, 0xc4, 0x62, 0x99, 0x48, 0x49, 0x7c, 0x47, 0xe5,
- 0xb8, 0x36, 0xbf, 0xf4, 0x12, 0x8f, 0x8c, 0x32, 0x06, 0x5f, 0xd9, 0xf2, 0x4b, 0x3c, 0xf1, 0xee,
- 0x3b, 0xe7, 0x8c, 0x71, 0xe1, 0xc6, 0xff, 0x42, 0xe0, 0xc6, 0xae, 0xfc, 0xf8, 0xa8, 0x6e, 0x29,
- 0x3c, 0xf3, 0x9f, 0x1a, 0x9c, 0xdb, 0xb6, 0xc3, 0xd8, 0xed, 0xbb, 0x81, 0xed, 0xc7, 0x5d, 0x12,
- 0xdb, 0x7c, 0x9c, 0xca, 0x63, 0x4e, 0xed, 0xe1, 0x1e, 0x73, 0x6e, 0xc3, 0xdc, 0x40, 0xdd, 0x81,
- 0x3c, 0xe4, 0xe6, 0xa1, 0x28, 0xae, 0xbc, 0x4c, 0xad, 0x3d, 0xf4, 0xcb, 0x54, 0xf3, 0xfb, 0x3a,
- 0xcc, 0x15, 0x96, 0xd7, 0x63, 0x73, 0xd3, 0x2a, 0x80, 0x9b, 0x85, 0xda, 0x31, 0x07, 0xf4, 0x6a,
- 0x3c, 0x5a, 0x92, 0x50, 0xd5, 0x6d, 0x5f, 0xed, 0xf4, 0xb7, 0x7d, 0x37, 0xa0, 0x15, 0xe4, 0x20,
- 0x1d, 0xb3, 0x3f, 0xaa, 0x80, 0xd2, 0x92, 0x45, 0xcd, 0xf7, 0x61, 0xbe, 0xb4, 0x8a, 0xf1, 0x6b,
- 0x3b, 0xba, 0x4f, 0xfc, 0xec, 0xda, 0x8e, 0x11, 0x52, 0x40, 0xeb, 0xc5, 0x80, 0xf6, 0xdc, 0x43,
- 0xf9, 0x99, 0xbc, 0x20, 0xcd, 0x1f, 0xe8, 0xb0, 0x50, 0x9d, 0x81, 0x9e, 0x54, 0x77, 0xef, 0x40,
- 0x67, 0xd4, 0x6a, 0x7f, 0x66, 0x5e, 0xcf, 0xa3, 0x3b, 0xcb, 0xd5, 0x4f, 0xaa, 0xbb, 0xcf, 0xa5,
- 0xd1, 0x2d, 0xa5, 0x43, 0xf3, 0xd7, 0x99, 0x7f, 0xb2, 0x6a, 0xe4, 0x09, 0xf5, 0x8f, 0x71, 0x09,
- 0xda, 0x38, 0x4c, 0xe9, 0x79, 0x08, 0x16, 0xb7, 0x25, 0x7e, 0xbe, 0x52, 0x48, 0xa5, 0xc1, 0x99,
- 0xc5, 0xec, 0xef, 0xb5, 0x14, 0x93, 0xac, 0xc6, 0xfb, 0x54, 0x61, 0x92, 0x47, 0x9a, 0x54, 0xf8,
- 0x48, 0x91, 0x96, 0xd5, 0x9e, 0xff, 0x8b, 0xb4, 0x93, 0x23, 0x2d, 0xf3, 0xa5, 0x54, 0x04, 0x9a,
- 0xdf, 0x81, 0x99, 0x0d, 0xe2, 0x75, 0xa3, 0x41, 0xfa, 0x7e, 0xf5, 0x4c, 0x37, 0x93, 0xc5, 0x57,
- 0x7e, 0x13, 0xe5, 0x57, 0x7e, 0x6b, 0x30, 0x2b, 0x1b, 0x70, 0x9a, 0xf7, 0x99, 0x6b, 0x17, 0xbe,
- 0xb1, 0xb8, 0x22, 0xfe, 0xb1, 0xfc, 0x5a, 0xc9, 0x89, 0x3b, 0x0d, 0xfe, 0x1f, 0xc7, 0x97, 0xff,
- 0x1b, 0x00, 0x00, 0xff, 0xff, 0x58, 0x71, 0xf4, 0x85, 0x0a, 0x3d, 0x00, 0x00,
+var fileDescriptor_ws_63960bbd3e4ca6d2 = []byte{
+ // 3479 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3b, 0xcd, 0x6f, 0x24, 0x47,
+ 0xf5, 0xbf, 0xee, 0xf1, 0x8c, 0x3d, 0x6f, 0xfc, 0x31, 0xee, 0xdd, 0x38, 0xf3, 0x33, 0x9b, 0xc5,
+ 0x74, 0xac, 0x24, 0x2c, 0xc1, 0x1b, 0x6d, 0x08, 0x82, 0x7c, 0x2c, 0xf2, 0x47, 0xf6, 0x23, 0xd9,
+ 0xb1, 0x9d, 0x9e, 0xdd, 0x04, 0x11, 0xa4, 0xa5, 0x3d, 0x5d, 0x1e, 0xf7, 0xba, 0xa7, 0xab, 0xdd,
+ 0x1f, 0xde, 0x35, 0x17, 0xa4, 0x20, 0x21, 0x6e, 0x5c, 0x40, 0x48, 0x5c, 0x90, 0xb8, 0x20, 0x50,
+ 0x14, 0x21, 0x04, 0x12, 0x07, 0x84, 0x10, 0xe2, 0xc6, 0x85, 0x03, 0x37, 0x0e, 0x48, 0x9c, 0xf9,
+ 0x07, 0x90, 0x90, 0x82, 0xaa, 0x5e, 0x75, 0x77, 0x55, 0x77, 0x8f, 0x3d, 0x6b, 0x59, 0xd9, 0x8d,
+ 0x96, 0xdb, 0xbc, 0xd7, 0xf5, 0x5e, 0xbd, 0xef, 0x7a, 0xf5, 0x31, 0x30, 0x17, 0x39, 0xfb, 0x77,
+ 0xef, 0x47, 0x97, 0xef, 0x47, 0x2b, 0x41, 0x48, 0x63, 0x6a, 0xcc, 0x47, 0x24, 0x3c, 0x24, 0xe1,
+ 0x5d, 0x3b, 0x70, 0xef, 0x06, 0x76, 0x68, 0x0f, 0xa3, 0xc5, 0xe7, 0xb7, 0x02, 0xe2, 0xdf, 0xbd,
+ 0xd9, 0xbd, 0x1c, 0xec, 0x0f, 0x2e, 0xf3, 0x51, 0x97, 0x53, 0xaa, 0xd0, 0x0e, 0x02, 0x12, 0x0a,
+ 0x5a, 0xf3, 0x1f, 0x13, 0xd0, 0xbc, 0x1e, 0xd2, 0x24, 0xb8, 0xe9, 0xef, 0x52, 0xa3, 0x03, 0x93,
+ 0x03, 0x0e, 0x6c, 0x74, 0xb4, 0x25, 0xed, 0x85, 0xa6, 0x95, 0x82, 0xc6, 0x05, 0x68, 0xf2, 0x9f,
+ 0x9b, 0xf6, 0x90, 0x74, 0x74, 0xfe, 0x2d, 0x47, 0x18, 0x26, 0x4c, 0xfb, 0x34, 0x76, 0x77, 0xdd,
+ 0xbe, 0x1d, 0xbb, 0xd4, 0xef, 0xd4, 0xf8, 0x00, 0x05, 0xc7, 0xc6, 0xb8, 0x7e, 0x1c, 0x52, 0x27,
+ 0xe9, 0xf3, 0x31, 0x13, 0x38, 0x46, 0xc6, 0xb1, 0xf9, 0x77, 0xed, 0x3e, 0xb9, 0x63, 0xdd, 0xea,
+ 0xd4, 0x71, 0x7e, 0x01, 0x1a, 0x4b, 0xd0, 0xa2, 0xf7, 0x7d, 0x12, 0xde, 0x89, 0x48, 0x78, 0x73,
+ 0xa3, 0xd3, 0xe0, 0x5f, 0x65, 0x94, 0x71, 0x11, 0xa0, 0x1f, 0x12, 0x3b, 0x26, 0xb7, 0xdd, 0x21,
+ 0xe9, 0x4c, 0x2e, 0x69, 0x2f, 0xcc, 0x58, 0x12, 0x86, 0x71, 0x18, 0x92, 0xe1, 0x0e, 0x09, 0xd7,
+ 0x69, 0xe2, 0xc7, 0x9d, 0x29, 0x3e, 0x40, 0x46, 0x19, 0xb3, 0xa0, 0x93, 0x07, 0x9d, 0x26, 0x67,
+ 0xad, 0x93, 0x07, 0xc6, 0x02, 0x34, 0xa2, 0xd8, 0x8e, 0x93, 0xa8, 0x03, 0x4b, 0xda, 0x0b, 0x75,
+ 0x4b, 0x40, 0xc6, 0x32, 0xcc, 0x70, 0xbe, 0x34, 0x95, 0xa6, 0xc5, 0x49, 0x54, 0x64, 0x66, 0xb1,
+ 0xdb, 0x47, 0x01, 0xe9, 0x4c, 0x73, 0x06, 0x39, 0xc2, 0xb8, 0x04, 0x6d, 0x9f, 0x10, 0xe7, 0x5d,
+ 0x12, 0xe6, 0x56, 0x9b, 0xe1, 0x83, 0x4a, 0x78, 0xe3, 0x39, 0x98, 0xf5, 0x28, 0xdd, 0xef, 0x72,
+ 0x51, 0x99, 0x9f, 0x3a, 0xb3, 0x7c, 0x64, 0x01, 0x6b, 0xbc, 0x08, 0xf3, 0x76, 0x10, 0x78, 0x47,
+ 0x88, 0xba, 0x16, 0xba, 0xc4, 0x77, 0x3a, 0x73, 0x7c, 0x68, 0xf9, 0x83, 0xf1, 0x65, 0x58, 0x90,
+ 0xfd, 0x73, 0x27, 0x70, 0x52, 0xdb, 0xb5, 0xb9, 0x69, 0x46, 0x7c, 0x35, 0x56, 0xc0, 0x50, 0xbe,
+ 0xa0, 0x09, 0xe6, 0xb9, 0x09, 0x2a, 0xbe, 0x98, 0x3f, 0xac, 0xc1, 0x5c, 0x16, 0x61, 0xd7, 0x68,
+ 0xd8, 0x23, 0xf1, 0x63, 0x1c, 0x67, 0x18, 0x03, 0x8d, 0x2c, 0x06, 0xae, 0x57, 0xf8, 0x89, 0xc5,
+ 0x56, 0xeb, 0xca, 0x67, 0x56, 0x06, 0x94, 0x0e, 0x3c, 0x82, 0x89, 0xb4, 0x93, 0xec, 0xae, 0xdc,
+ 0xf4, 0xe3, 0x97, 0xaf, 0xbc, 0x6b, 0x7b, 0x09, 0xa9, 0x70, 0xe2, 0x7a, 0xc9, 0x89, 0x53, 0x27,
+ 0xb3, 0x29, 0x7a, 0xf8, 0x66, 0x95, 0x87, 0x9b, 0x27, 0xf3, 0x29, 0x53, 0x99, 0x1f, 0xeb, 0x70,
+ 0x8e, 0xbb, 0x45, 0x60, 0x13, 0xcf, 0x3b, 0xa1, 0x04, 0x2c, 0x40, 0x23, 0x41, 0x67, 0xa3, 0x5f,
+ 0x04, 0xc4, 0x5c, 0x16, 0x52, 0x8f, 0xdc, 0x22, 0x87, 0xc4, 0xe3, 0x1e, 0xa9, 0x5b, 0x39, 0xc2,
+ 0x58, 0x84, 0xa9, 0x7b, 0xd4, 0xf5, 0x79, 0x60, 0x4d, 0xf0, 0x8f, 0x19, 0xcc, 0xbe, 0xf9, 0x6e,
+ 0x7f, 0xdf, 0x67, 0xbe, 0x46, 0x3f, 0x64, 0xb0, 0xec, 0xa2, 0x86, 0xea, 0xa2, 0xe7, 0x60, 0xd6,
+ 0x0e, 0x82, 0xae, 0xed, 0x0f, 0x48, 0x88, 0x93, 0x4e, 0x62, 0x3a, 0xa8, 0x58, 0x56, 0x10, 0xd8,
+ 0x4c, 0x3d, 0x9a, 0x84, 0x7d, 0xc2, 0xad, 0x5d, 0xb7, 0x24, 0x0c, 0xe3, 0x43, 0x03, 0x12, 0x4a,
+ 0x79, 0x8c, 0xa9, 0x5f, 0xc0, 0x8a, 0x90, 0x80, 0x2c, 0x24, 0x58, 0x21, 0x49, 0x62, 0xf2, 0xa6,
+ 0xef, 0x70, 0xa5, 0x5a, 0xa2, 0x90, 0xe4, 0x28, 0x56, 0x20, 0x5c, 0xff, 0xd0, 0x8d, 0xb3, 0x72,
+ 0x35, 0x8d, 0x05, 0x42, 0x41, 0x9a, 0xdf, 0xd3, 0x60, 0x76, 0x3b, 0xd9, 0xf1, 0xdc, 0x3e, 0x47,
+ 0x30, 0xe3, 0xe7, 0x26, 0xd6, 0x14, 0x13, 0xcb, 0x86, 0xd2, 0x47, 0x1b, 0xaa, 0xa6, 0x1a, 0x6a,
+ 0x01, 0x1a, 0x03, 0xe2, 0x3b, 0x24, 0x14, 0x86, 0x17, 0x90, 0x50, 0xa8, 0x9e, 0x2a, 0x64, 0xfe,
+ 0x49, 0x87, 0xa9, 0x4f, 0x58, 0x84, 0x25, 0x68, 0x05, 0x7b, 0xd4, 0x27, 0x9b, 0x09, 0x0b, 0x3e,
+ 0x21, 0x8b, 0x8c, 0x32, 0xce, 0x43, 0x7d, 0xc7, 0x0d, 0xe3, 0x3d, 0xee, 0xfd, 0x19, 0x0b, 0x01,
+ 0x86, 0x25, 0x43, 0xdb, 0x45, 0x97, 0x37, 0x2d, 0x04, 0x84, 0x42, 0x53, 0x99, 0x87, 0xd4, 0xa5,
+ 0xa0, 0x59, 0x5a, 0x0a, 0xca, 0x11, 0x04, 0x95, 0x11, 0x74, 0x09, 0xda, 0x03, 0x8f, 0xee, 0xd8,
+ 0x9e, 0x45, 0xfa, 0x87, 0xdd, 0x68, 0xb0, 0x15, 0xc4, 0xdc, 0xdd, 0x75, 0xab, 0x84, 0x37, 0xff,
+ 0xad, 0x01, 0x60, 0x6a, 0x71, 0x33, 0x16, 0xd6, 0x2b, 0xad, 0xbc, 0x5e, 0x2d, 0x40, 0x23, 0x24,
+ 0x43, 0x3b, 0xdc, 0x4f, 0xd3, 0x09, 0xa1, 0x82, 0xf0, 0xb5, 0x92, 0xf0, 0xaf, 0x01, 0xec, 0xf2,
+ 0x79, 0x18, 0x1f, 0x6e, 0x56, 0x96, 0xfc, 0xa5, 0x16, 0x60, 0x25, 0xf5, 0xa8, 0x25, 0x0d, 0x67,
+ 0xb9, 0x6a, 0x3b, 0x8e, 0x48, 0x89, 0x3a, 0xe6, 0x6a, 0x86, 0xa8, 0xc8, 0x88, 0xc6, 0x31, 0x19,
+ 0x31, 0x99, 0x05, 0xd0, 0xbf, 0x34, 0x68, 0xae, 0x79, 0x76, 0x7f, 0x7f, 0x4c, 0xd5, 0x55, 0x15,
+ 0xf5, 0x92, 0x8a, 0xd7, 0x61, 0x66, 0x87, 0xb1, 0x4b, 0x55, 0xe0, 0x56, 0x68, 0x5d, 0xf9, 0x5c,
+ 0x85, 0x96, 0x6a, 0x02, 0x59, 0x2a, 0x9d, 0xaa, 0xee, 0xc4, 0xc9, 0xea, 0xd6, 0x8f, 0x51, 0x37,
+ 0x5b, 0x13, 0xcc, 0x1f, 0xd7, 0x60, 0x9a, 0x97, 0x4e, 0x8b, 0x1c, 0x24, 0x24, 0x8a, 0x8d, 0x37,
+ 0x60, 0x2a, 0x49, 0x45, 0xd5, 0xc6, 0x15, 0x35, 0x23, 0x31, 0x5e, 0x15, 0x6b, 0x1e, 0xa7, 0xd7,
+ 0x39, 0xfd, 0x85, 0x0a, 0xfa, 0x6c, 0x11, 0xb5, 0xf2, 0xe1, 0x6c, 0xb5, 0xdb, 0xb3, 0x7d, 0xc7,
+ 0x23, 0x16, 0x89, 0x12, 0x2f, 0x16, 0xf5, 0x57, 0xc1, 0x61, 0xa4, 0x1d, 0x74, 0xa3, 0x81, 0x58,
+ 0x0b, 0x05, 0xc4, 0xac, 0x83, 0xe3, 0xd8, 0x27, 0x54, 0x3d, 0x47, 0xb0, 0xa4, 0x0e, 0xc9, 0x01,
+ 0xf7, 0x10, 0xa6, 0x60, 0x0a, 0xe6, 0x73, 0x0a, 0xab, 0x61, 0x20, 0x28, 0x38, 0xe6, 0x62, 0x84,
+ 0x39, 0x03, 0x6c, 0xb6, 0x24, 0x4c, 0xa9, 0xd7, 0x52, 0x8b, 0x35, 0x94, 0x8a, 0x75, 0xa9, 0xa4,
+ 0xb6, 0xaa, 0x4a, 0xea, 0xdf, 0x6b, 0x30, 0x83, 0x49, 0x98, 0xba, 0xe6, 0x22, 0xcb, 0x16, 0x3a,
+ 0x54, 0x62, 0x51, 0xc2, 0x30, 0x5d, 0x18, 0xb4, 0xa9, 0x96, 0x36, 0x05, 0xc7, 0x02, 0x9a, 0xc1,
+ 0xd7, 0x94, 0x12, 0x27, 0xa3, 0xd2, 0x59, 0xae, 0xcb, 0xa5, 0x4e, 0xc2, 0xb0, 0xe2, 0x19, 0x53,
+ 0x25, 0xc6, 0x32, 0x98, 0xd1, 0xc6, 0x34, 0x9b, 0x1f, 0xa3, 0x4c, 0xc2, 0x30, 0x2f, 0xc5, 0x34,
+ 0x9d, 0x1b, 0x4d, 0x9d, 0x23, 0x90, 0xb3, 0x98, 0x17, 0x97, 0xb8, 0x0c, 0x2e, 0xc5, 0x46, 0xf3,
+ 0xd8, 0xd8, 0x00, 0x25, 0x36, 0xd4, 0x14, 0x6d, 0x95, 0x52, 0x74, 0x19, 0x66, 0x90, 0x4f, 0x61,
+ 0x89, 0x53, 0x90, 0x6a, 0x84, 0xcd, 0x14, 0x23, 0x4c, 0x8d, 0x91, 0xd9, 0x11, 0x31, 0x32, 0x97,
+ 0xe5, 0xdd, 0xaf, 0x75, 0x80, 0x0d, 0x12, 0xd8, 0x61, 0x3c, 0x24, 0x7e, 0xcc, 0xd4, 0x73, 0x32,
+ 0x28, 0x73, 0xae, 0x82, 0x93, 0x57, 0x26, 0x5d, 0x5d, 0x99, 0x0c, 0x98, 0xe0, 0x06, 0x47, 0x6f,
+ 0xf2, 0xdf, 0xcc, 0x98, 0x81, 0x1d, 0x22, 0x37, 0x4c, 0x95, 0x0c, 0x66, 0x2b, 0x0f, 0x0d, 0x1d,
+ 0xb1, 0x56, 0xd5, 0x2d, 0x04, 0x58, 0x09, 0xc9, 0xe7, 0xe3, 0x9d, 0x7e, 0x03, 0x57, 0x12, 0x15,
+ 0x7b, 0xe2, 0xe6, 0xe4, 0x12, 0xb4, 0xa3, 0x64, 0x27, 0x57, 0x6e, 0x33, 0x19, 0x8a, 0xa4, 0x29,
+ 0xe1, 0x99, 0x51, 0x71, 0xd7, 0xc2, 0x06, 0xe1, 0xe2, 0x96, 0x23, 0x8a, 0xdd, 0x8a, 0xf9, 0xa1,
+ 0x0e, 0xed, 0xad, 0x70, 0x60, 0xfb, 0xee, 0xb7, 0xb3, 0xae, 0xfc, 0x54, 0x8b, 0xfc, 0x12, 0xb4,
+ 0x88, 0x3f, 0xf0, 0xdc, 0x68, 0x6f, 0x33, 0xb7, 0x9b, 0x8c, 0x92, 0x8d, 0x3d, 0x31, 0xaa, 0x0d,
+ 0xa8, 0x2b, 0x6d, 0xc0, 0x02, 0x34, 0x86, 0x74, 0xc7, 0xf5, 0xd2, 0xb8, 0x17, 0x10, 0x8f, 0x79,
+ 0xe2, 0x11, 0xde, 0x0f, 0x64, 0x31, 0x9f, 0x22, 0xf2, 0xd6, 0x60, 0xaa, 0xb2, 0x35, 0x68, 0xca,
+ 0xad, 0x81, 0x6a, 0x78, 0x28, 0x19, 0x1e, 0xcd, 0xd5, 0xca, 0xcc, 0xf5, 0x47, 0x0d, 0xda, 0xb9,
+ 0xb9, 0xb1, 0x37, 0x1e, 0x69, 0xae, 0x62, 0x04, 0xea, 0x15, 0x11, 0x98, 0xc5, 0x4d, 0x4d, 0x8e,
+ 0x1b, 0x16, 0x69, 0x34, 0x72, 0xa5, 0x0d, 0x4a, 0x06, 0xb3, 0xd9, 0x3c, 0x62, 0x4b, 0xc6, 0x42,
+ 0x48, 0xda, 0x8e, 0x36, 0x94, 0xed, 0x68, 0x71, 0x35, 0xfe, 0x9d, 0x06, 0xe7, 0x99, 0x97, 0x4b,
+ 0x6a, 0x6c, 0x41, 0x9b, 0x16, 0x22, 0x41, 0x2c, 0x57, 0xcf, 0x56, 0x2c, 0x37, 0xc5, 0xa0, 0xb1,
+ 0x4a, 0xc4, 0x8c, 0xa1, 0x53, 0x98, 0x44, 0xac, 0x5f, 0x55, 0x0c, 0x8b, 0xf2, 0x58, 0x25, 0x62,
+ 0xf3, 0xf7, 0x1a, 0xb4, 0x71, 0x81, 0x94, 0xf2, 0xfc, 0xcc, 0xc5, 0x7e, 0x0f, 0xce, 0x17, 0x67,
+ 0xbe, 0xe5, 0x46, 0x71, 0x47, 0x5f, 0xaa, 0x8d, 0x2b, 0x7a, 0x25, 0x03, 0x96, 0x6b, 0x4f, 0x6f,
+ 0x27, 0x9e, 0xd7, 0x25, 0x51, 0x64, 0x0f, 0xc8, 0xda, 0x51, 0x8f, 0x1c, 0xb0, 0x0f, 0x16, 0x39,
+ 0x18, 0x19, 0x43, 0xac, 0x5b, 0xe2, 0xed, 0x86, 0x4b, 0xfd, 0x2c, 0x84, 0x64, 0x14, 0x4b, 0xab,
+ 0x08, 0xf9, 0x74, 0x6a, 0x4b, 0x35, 0xb6, 0x10, 0x0b, 0xd0, 0xf8, 0x16, 0x4c, 0xf3, 0x4e, 0x40,
+ 0x4c, 0xd3, 0x99, 0xe0, 0x0a, 0xbc, 0x5e, 0xd9, 0x7b, 0x54, 0x4a, 0x85, 0x3d, 0x85, 0x80, 0xdf,
+ 0xf4, 0xe3, 0xf0, 0xc8, 0x52, 0x38, 0x2e, 0xbe, 0x0f, 0xf3, 0xa5, 0x21, 0x46, 0x1b, 0x6a, 0xfb,
+ 0xe4, 0x48, 0xe8, 0xc1, 0x7e, 0x1a, 0x2f, 0x41, 0xfd, 0x90, 0x6d, 0x34, 0x85, 0xf7, 0x17, 0x2b,
+ 0x24, 0x10, 0x32, 0x5b, 0x38, 0xf0, 0x55, 0xfd, 0x2b, 0x9a, 0xf9, 0x6c, 0xa6, 0x98, 0xac, 0xa3,
+ 0xa6, 0xe8, 0x68, 0xbe, 0x0d, 0xad, 0x6e, 0x34, 0xd8, 0xb0, 0x63, 0x9b, 0x0f, 0x7c, 0x1d, 0x5a,
+ 0xc3, 0x1c, 0xe4, 0x83, 0xab, 0xe7, 0x13, 0x44, 0x96, 0x3c, 0xdc, 0xfc, 0xab, 0x0e, 0x9d, 0x6a,
+ 0x53, 0x44, 0x01, 0x93, 0x81, 0x84, 0xe1, 0x3a, 0x75, 0x08, 0x57, 0xad, 0x6e, 0xa5, 0x20, 0xf3,
+ 0x1d, 0x09, 0x43, 0xb6, 0x86, 0x89, 0x56, 0x1d, 0x21, 0x63, 0x05, 0x26, 0xbc, 0xd4, 0x2d, 0xc7,
+ 0x4b, 0xc1, 0xc7, 0x19, 0x43, 0x68, 0x73, 0xeb, 0x4a, 0x0a, 0x09, 0x9f, 0xad, 0x8e, 0xed, 0xb3,
+ 0x28, 0x40, 0xa7, 0x49, 0x3c, 0xd0, 0x71, 0x25, 0xd6, 0x8b, 0x7d, 0x78, 0xaa, 0x72, 0x68, 0x85,
+ 0x03, 0xbf, 0xa4, 0x3a, 0xf0, 0xe2, 0x68, 0x55, 0x8a, 0x4e, 0x0c, 0xc0, 0xb8, 0x4e, 0xe2, 0xae,
+ 0xfd, 0x60, 0xd5, 0x77, 0xba, 0xae, 0xdf, 0x23, 0x07, 0x2c, 0xda, 0x97, 0xa0, 0x25, 0x8e, 0x0d,
+ 0x32, 0x37, 0x35, 0x2d, 0x19, 0x35, 0xf2, 0x34, 0xa1, 0x90, 0x0f, 0xb5, 0x52, 0x3e, 0x98, 0x57,
+ 0x61, 0x5a, 0x9e, 0x8e, 0x2f, 0x22, 0xf6, 0x83, 0x1e, 0x39, 0xe0, 0x0a, 0xcd, 0x58, 0x02, 0xe2,
+ 0x78, 0x3e, 0x42, 0xec, 0x30, 0x04, 0x64, 0xfe, 0x45, 0x87, 0x73, 0x25, 0x91, 0xa3, 0xe0, 0x61,
+ 0xf9, 0xc8, 0xf1, 0x52, 0x1b, 0x15, 0x2f, 0x13, 0x4a, 0xbc, 0xec, 0xc3, 0x3c, 0x3a, 0x49, 0x9a,
+ 0xba, 0x53, 0xe7, 0x01, 0xf0, 0x46, 0x55, 0xc3, 0x5f, 0x16, 0x52, 0xf8, 0x5e, 0xc2, 0xa2, 0xf3,
+ 0xcb, 0x7c, 0x17, 0x09, 0x2c, 0x54, 0x0f, 0xae, 0x70, 0xff, 0x2b, 0xaa, 0xfb, 0x3f, 0x5b, 0xe5,
+ 0x7e, 0x59, 0x12, 0xc9, 0xff, 0x07, 0x30, 0xc7, 0x8a, 0x6a, 0x8f, 0xf8, 0x4e, 0x37, 0x1a, 0x70,
+ 0x43, 0x2e, 0x41, 0x0b, 0xe9, 0xbb, 0xd1, 0x20, 0xdf, 0x00, 0x4a, 0x28, 0x36, 0xa2, 0xef, 0xb9,
+ 0xac, 0x78, 0xf2, 0x11, 0xa2, 0xe8, 0x49, 0x28, 0xb6, 0x40, 0x46, 0x44, 0x9c, 0xb0, 0x30, 0xeb,
+ 0xd6, 0xac, 0x0c, 0x36, 0x3f, 0x68, 0xc0, 0xa4, 0x88, 0x46, 0xbe, 0x28, 0xb2, 0x3d, 0x77, 0x56,
+ 0x56, 0x11, 0xc2, 0xbe, 0xb6, 0x7f, 0x98, 0x87, 0x17, 0x42, 0xf2, 0xf1, 0x56, 0x4d, 0x3d, 0xde,
+ 0x2a, 0xc8, 0x34, 0x51, 0x96, 0xa9, 0xa0, 0x57, 0xbd, 0xac, 0x17, 0x6b, 0xe3, 0x78, 0x67, 0xb3,
+ 0xed, 0xd9, 0xf1, 0x2e, 0x0d, 0x87, 0x62, 0x0b, 0x5d, 0xb7, 0x4a, 0x78, 0xd6, 0x3a, 0x22, 0x2e,
+ 0xeb, 0xfd, 0x71, 0x09, 0x2f, 0x60, 0x59, 0xa7, 0x8d, 0x98, 0x74, 0x0f, 0x80, 0xe7, 0x1c, 0x2a,
+ 0x12, 0x65, 0x8b, 0x22, 0x97, 0xfa, 0xbc, 0x0b, 0xc5, 0x56, 0x5f, 0x46, 0x31, 0xcd, 0x87, 0xd1,
+ 0xe0, 0x5a, 0x48, 0x87, 0x62, 0x7b, 0x95, 0x82, 0x5c, 0x73, 0xea, 0xc7, 0x69, 0x07, 0x8b, 0x27,
+ 0x1c, 0x32, 0x8a, 0xd1, 0x0a, 0x90, 0xf7, 0xf9, 0xd3, 0x56, 0x0a, 0xb2, 0x58, 0x8a, 0xc8, 0x81,
+ 0x68, 0xde, 0xd9, 0x4f, 0xc5, 0x73, 0x73, 0xaa, 0xe7, 0x0a, 0xdd, 0x58, 0x9b, 0x7f, 0x95, 0xbb,
+ 0xb1, 0xbc, 0xc5, 0x99, 0x57, 0x5a, 0x9c, 0x55, 0x98, 0xa4, 0x01, 0x4b, 0xff, 0xa8, 0x63, 0xf0,
+ 0x74, 0x79, 0x7e, 0x74, 0x81, 0x5a, 0xd9, 0xc2, 0x91, 0x98, 0x18, 0x29, 0x9d, 0x71, 0x0b, 0xe6,
+ 0xe8, 0xee, 0xae, 0xe7, 0xfa, 0x64, 0x3b, 0x89, 0xf6, 0xf8, 0x56, 0xfb, 0x1c, 0x0f, 0x76, 0xb3,
+ 0xaa, 0x89, 0x50, 0x47, 0x5a, 0x45, 0x52, 0xd6, 0xf9, 0xd9, 0x31, 0x6e, 0x72, 0x78, 0x81, 0x3b,
+ 0xcf, 0x0b, 0x9c, 0x82, 0xe3, 0xe7, 0x84, 0x52, 0xa1, 0x7f, 0x8a, 0x1b, 0x4e, 0x46, 0x2d, 0xbe,
+ 0x0a, 0xd3, 0xb2, 0xb0, 0x15, 0x89, 0x79, 0x5e, 0x4e, 0xcc, 0x29, 0x39, 0xef, 0x7e, 0xa4, 0xc1,
+ 0x5c, 0x41, 0x4c, 0x36, 0x3a, 0x76, 0x63, 0x8f, 0x08, 0x0e, 0x08, 0xb0, 0x9d, 0x8e, 0x43, 0xa2,
+ 0xbe, 0x48, 0x04, 0xfe, 0x5b, 0xf4, 0x8c, 0xb5, 0x6c, 0xfb, 0x6d, 0xc2, 0xb4, 0xbb, 0xd5, 0x63,
+ 0x8c, 0x7a, 0x34, 0xf1, 0x9d, 0xec, 0xd0, 0x5c, 0xc2, 0xf1, 0x2d, 0xf8, 0x56, 0x6f, 0xcd, 0x76,
+ 0x06, 0x04, 0xaf, 0x50, 0xea, 0x5c, 0x26, 0x15, 0x69, 0x3a, 0x30, 0x75, 0xdb, 0x0d, 0xa2, 0x75,
+ 0x3a, 0x1c, 0x32, 0x77, 0x3a, 0x24, 0x66, 0x3d, 0xb9, 0xc6, 0x95, 0x17, 0x10, 0xb3, 0x8c, 0x43,
+ 0x76, 0xed, 0xc4, 0x8b, 0xd9, 0xd0, 0x34, 0xfd, 0x25, 0x14, 0x3f, 0x0e, 0x88, 0xa8, 0xbf, 0x81,
+ 0xd4, 0x28, 0xa7, 0x84, 0x31, 0xff, 0xac, 0x43, 0x9b, 0x57, 0xb7, 0x75, 0x1e, 0x3c, 0x0e, 0x27,
+ 0xba, 0x02, 0x75, 0x9e, 0xcc, 0xa2, 0x3b, 0x3c, 0xfe, 0x0c, 0x05, 0x87, 0x1a, 0x57, 0xa1, 0x41,
+ 0x03, 0xde, 0x52, 0x62, 0xe9, 0x7b, 0x6e, 0x14, 0x91, 0x7a, 0x4c, 0x6e, 0x09, 0x2a, 0xe3, 0x1a,
+ 0xc0, 0x30, 0xef, 0x20, 0xb1, 0x11, 0x18, 0x97, 0x87, 0x44, 0xc9, 0x8c, 0x9b, 0xad, 0x71, 0xd9,
+ 0x59, 0x79, 0xcd, 0x52, 0x91, 0xc6, 0x26, 0xcc, 0x72, 0xb1, 0xb7, 0xd2, 0xc3, 0x34, 0xee, 0x83,
+ 0xf1, 0x67, 0x2c, 0x50, 0x9b, 0x3f, 0xd3, 0x84, 0x19, 0xd9, 0xd7, 0x1e, 0x41, 0xdb, 0xe7, 0x26,
+ 0xd1, 0x4e, 0x65, 0x92, 0x45, 0x98, 0x1a, 0x26, 0xd2, 0xd9, 0x5e, 0xcd, 0xca, 0xe0, 0xdc, 0x45,
+ 0xb5, 0xb1, 0x5d, 0x64, 0xfe, 0x5c, 0x83, 0xce, 0x5b, 0xd4, 0xf5, 0xf9, 0x87, 0xd5, 0x20, 0xf0,
+ 0xc4, 0x95, 0xca, 0xa9, 0x7d, 0xfe, 0x35, 0x68, 0xda, 0xc8, 0xc6, 0x8f, 0x85, 0xdb, 0xc7, 0x38,
+ 0xaf, 0xcb, 0x69, 0xa4, 0x43, 0x93, 0x9a, 0x7c, 0x68, 0x62, 0x7e, 0xa4, 0xc1, 0x2c, 0x1a, 0xe5,
+ 0x9d, 0xc4, 0x8d, 0x4f, 0x2d, 0xdf, 0x1a, 0x4c, 0x1d, 0x24, 0x6e, 0x7c, 0x8a, 0xa8, 0xcc, 0xe8,
+ 0xca, 0xf1, 0x54, 0xab, 0x88, 0x27, 0xf3, 0x57, 0x1a, 0x5c, 0x28, 0x9a, 0x75, 0xb5, 0xdf, 0x27,
+ 0xc1, 0xa3, 0x4c, 0x29, 0xe5, 0xd0, 0x68, 0xa2, 0x70, 0x68, 0x54, 0x29, 0xb2, 0x45, 0xee, 0x91,
+ 0xfe, 0xe3, 0x2b, 0xf2, 0x77, 0x75, 0xf8, 0xff, 0xeb, 0x59, 0xe2, 0xdd, 0x0e, 0x6d, 0x3f, 0xda,
+ 0x25, 0x61, 0xf8, 0x08, 0xe5, 0xbd, 0x05, 0x33, 0x3e, 0xb9, 0x9f, 0xcb, 0x24, 0xd2, 0x71, 0x5c,
+ 0x36, 0x2a, 0xf1, 0x78, 0xb5, 0xcb, 0xfc, 0x8f, 0x06, 0x6d, 0xe4, 0xf3, 0xb6, 0xdb, 0xdf, 0x7f,
+ 0x84, 0xca, 0x6f, 0xc2, 0xec, 0x3e, 0x97, 0x80, 0x41, 0xa7, 0x28, 0xdb, 0x05, 0xea, 0x31, 0xd5,
+ 0xff, 0x58, 0x83, 0xf9, 0xf4, 0x26, 0xf7, 0xd0, 0x7d, 0x94, 0xc1, 0xba, 0x0d, 0x73, 0x78, 0x6a,
+ 0x7e, 0x5a, 0x03, 0x14, 0xc9, 0xc7, 0xb4, 0xc0, 0x6f, 0x35, 0x98, 0x43, 0x4e, 0x6f, 0xfa, 0x31,
+ 0x09, 0x4f, 0xad, 0xff, 0x0d, 0x68, 0x11, 0x3f, 0x0e, 0x6d, 0xff, 0x34, 0x15, 0x52, 0x26, 0x1d,
+ 0xb3, 0x48, 0x7e, 0xa4, 0x81, 0xc1, 0x59, 0x6d, 0xb8, 0xd1, 0xd0, 0x8d, 0xa2, 0x47, 0xe8, 0xba,
+ 0xf1, 0x04, 0xfe, 0x89, 0x0e, 0xe7, 0x25, 0x2e, 0xdd, 0x24, 0x7e, 0xdc, 0x45, 0x36, 0x36, 0xa0,
+ 0xc9, 0x7a, 0x04, 0xf9, 0x4e, 0x73, 0xdc, 0x89, 0x72, 0x42, 0xd6, 0xc5, 0x72, 0xa0, 0x47, 0xfa,
+ 0xd4, 0x77, 0x22, 0xde, 0x1c, 0xcd, 0x58, 0x0a, 0x8e, 0x95, 0xa1, 0x45, 0x89, 0xcd, 0xba, 0xed,
+ 0xf7, 0x89, 0xf7, 0xc4, 0x98, 0xc8, 0xfc, 0xa5, 0x06, 0xb3, 0x38, 0xe4, 0xf1, 0x57, 0x99, 0xad,
+ 0xf5, 0x18, 0xc8, 0x9f, 0x1a, 0x2f, 0xb1, 0xf0, 0x5a, 0x90, 0xb8, 0xc8, 0x7d, 0xf5, 0xe3, 0x1b,
+ 0x5a, 0x37, 0xa0, 0xd5, 0xdf, 0xb3, 0xfd, 0xc1, 0xa9, 0x82, 0x4b, 0x26, 0x35, 0x63, 0x78, 0x5a,
+ 0x3e, 0x80, 0x5f, 0xc7, 0x4f, 0x5c, 0xfd, 0x97, 0x0b, 0xaa, 0x1c, 0xfb, 0x66, 0xe1, 0xe1, 0x8c,
+ 0xbe, 0x0f, 0xf3, 0x78, 0xeb, 0x2b, 0xf5, 0x84, 0x46, 0x07, 0x26, 0x6d, 0x07, 0x8f, 0x21, 0x34,
+ 0x4e, 0x94, 0x82, 0xea, 0xab, 0x00, 0xf1, 0xc6, 0x2c, 0x7f, 0x15, 0x70, 0x11, 0xc0, 0x76, 0x9c,
+ 0xf7, 0x68, 0xe8, 0xb8, 0x7e, 0xda, 0xe0, 0x4b, 0x18, 0xf3, 0x2d, 0x98, 0xbe, 0x16, 0xd2, 0xe1,
+ 0x6d, 0xe9, 0xfe, 0xf6, 0xd8, 0x1b, 0x66, 0xf9, 0xee, 0x57, 0x57, 0xef, 0x7e, 0xcd, 0x6f, 0xc2,
+ 0x53, 0x25, 0xc1, 0xb9, 0xb1, 0xd6, 0xf1, 0x5a, 0x3a, 0x9d, 0x44, 0x84, 0x4c, 0xd5, 0xb9, 0x9c,
+ 0x2c, 0x8b, 0xa5, 0x10, 0x99, 0x1f, 0x68, 0xf0, 0x4c, 0x89, 0xfd, 0x6a, 0x10, 0x84, 0xf4, 0x50,
+ 0xf8, 0xe4, 0x2c, 0xa6, 0x51, 0x9b, 0x5f, 0xbd, 0xd8, 0xfc, 0x56, 0x0a, 0xa1, 0x34, 0xec, 0x9f,
+ 0x80, 0x10, 0xbf, 0xd0, 0x60, 0x4e, 0x08, 0xe1, 0x38, 0x62, 0xda, 0x57, 0xa0, 0x81, 0x0f, 0x63,
+ 0xc4, 0x84, 0xcf, 0x54, 0x4e, 0x98, 0x3e, 0xe8, 0xb1, 0xc4, 0xe0, 0x72, 0x44, 0xea, 0x55, 0x19,
+ 0xf5, 0xd5, 0x2c, 0xd8, 0xc7, 0x7e, 0xba, 0x22, 0x08, 0xcc, 0xaf, 0xa7, 0xc1, 0xbc, 0x41, 0x3c,
+ 0x72, 0x96, 0x36, 0x32, 0xef, 0xc0, 0x2c, 0x7f, 0xa5, 0x93, 0xdb, 0xe0, 0x4c, 0xd8, 0xbe, 0x07,
+ 0x6d, 0xce, 0xf6, 0xcc, 0xe5, 0xcd, 0xb2, 0x83, 0xd9, 0x47, 0x2e, 0x25, 0x67, 0xc2, 0xfd, 0x8b,
+ 0x70, 0x2e, 0xb5, 0x3d, 0xbe, 0x6e, 0x45, 0xde, 0x23, 0xee, 0xe9, 0xcc, 0x97, 0x60, 0x61, 0x9d,
+ 0xfa, 0x87, 0x24, 0x8c, 0x94, 0x07, 0xb1, 0x48, 0xa1, 0x24, 0xbf, 0x80, 0xcc, 0x7b, 0xb0, 0x28,
+ 0x53, 0xf4, 0x48, 0xbc, 0x1d, 0xba, 0x87, 0x12, 0x95, 0x38, 0xa0, 0xd6, 0x94, 0x03, 0xea, 0xfc,
+ 0x40, 0x5b, 0x57, 0x0e, 0xb4, 0x2f, 0x40, 0xd3, 0x8d, 0x04, 0x03, 0x1e, 0x54, 0x53, 0x56, 0x8e,
+ 0x30, 0x6d, 0x98, 0x47, 0xf3, 0x8b, 0x0b, 0x23, 0x3e, 0xc5, 0x22, 0x4c, 0x61, 0x4c, 0x65, 0x93,
+ 0x64, 0xf0, 0xc8, 0xeb, 0x97, 0x91, 0x97, 0x8d, 0x66, 0x0f, 0xe6, 0xc5, 0xa3, 0x9a, 0x6d, 0x7b,
+ 0xe0, 0xfa, 0x58, 0x64, 0x2f, 0x02, 0x04, 0xf6, 0x20, 0x7d, 0xc6, 0x87, 0xd7, 0x66, 0x12, 0x86,
+ 0x7d, 0x8f, 0xf6, 0xe8, 0x7d, 0xf1, 0x5d, 0xc7, 0xef, 0x39, 0xc6, 0x7c, 0x17, 0x0c, 0x8b, 0x44,
+ 0x01, 0xf5, 0x23, 0x22, 0x71, 0x5d, 0x82, 0xd6, 0x7a, 0x12, 0x86, 0xc4, 0x67, 0x53, 0xa5, 0xef,
+ 0xd4, 0x64, 0x14, 0xe3, 0xdb, 0xcb, 0xf9, 0xe2, 0x11, 0xbb, 0x84, 0x31, 0x7f, 0x5a, 0x83, 0x66,
+ 0xcf, 0x1d, 0xf8, 0xb6, 0x67, 0x91, 0x03, 0xe3, 0x75, 0x68, 0xe0, 0x96, 0x45, 0x44, 0x4a, 0xd5,
+ 0x91, 0x2f, 0x8e, 0xc6, 0xbd, 0x99, 0x45, 0x0e, 0x6e, 0xfc, 0x9f, 0x25, 0x68, 0x8c, 0x77, 0xd2,
+ 0xa7, 0x47, 0x37, 0xf1, 0x08, 0x4a, 0xac, 0x5f, 0x9f, 0x3f, 0x81, 0x89, 0x18, 0x8d, 0xbc, 0x54,
+ 0x0e, 0x4c, 0xa0, 0x3e, 0x6f, 0x69, 0x44, 0x79, 0x18, 0x2d, 0x10, 0x76, 0x3e, 0x42, 0x20, 0xa4,
+ 0x61, 0xd4, 0x36, 0x3f, 0xa4, 0x11, 0x2b, 0xf5, 0x68, 0x6a, 0x3c, 0xcb, 0x11, 0xd4, 0x48, 0xc3,
+ 0xa8, 0xf7, 0x12, 0x7f, 0x70, 0x27, 0x10, 0x67, 0x87, 0xa3, 0xa9, 0x6f, 0xf0, 0x61, 0x82, 0x1a,
+ 0x69, 0x18, 0x75, 0xc8, 0x8b, 0x37, 0x37, 0xfa, 0x71, 0xd4, 0x58, 0xe3, 0x05, 0x35, 0xd2, 0xac,
+ 0x35, 0x61, 0x32, 0xb0, 0x8f, 0x3c, 0x6a, 0x3b, 0xe6, 0x87, 0x35, 0x80, 0x74, 0x60, 0xc4, 0x1b,
+ 0x1d, 0xc5, 0x45, 0xcb, 0x27, 0xba, 0x28, 0xf0, 0x8e, 0x24, 0x27, 0xf5, 0xaa, 0x9d, 0xf4, 0x85,
+ 0x71, 0x9d, 0x84, 0xdc, 0x0a, 0x6e, 0xba, 0x5a, 0x70, 0xd3, 0xf2, 0x89, 0x6e, 0x12, 0x42, 0x09,
+ 0x47, 0x5d, 0x2d, 0x38, 0x6a, 0xf9, 0x44, 0x47, 0x09, 0x7a, 0xe1, 0xaa, 0xab, 0x05, 0x57, 0x2d,
+ 0x9f, 0xe8, 0x2a, 0x41, 0x2f, 0x9c, 0x75, 0xb5, 0xe0, 0xac, 0xe5, 0x13, 0x9d, 0x25, 0xe8, 0xcb,
+ 0xee, 0xfa, 0x9b, 0x0e, 0xb3, 0xdc, 0x64, 0x78, 0x0b, 0xeb, 0xef, 0xd2, 0xf2, 0x93, 0x3c, 0xad,
+ 0xe2, 0x49, 0x9e, 0xf1, 0x22, 0xcc, 0x23, 0x82, 0x48, 0xd7, 0x25, 0x3a, 0xbf, 0x2e, 0x29, 0x7f,
+ 0xe0, 0x17, 0x44, 0x49, 0x14, 0xd3, 0xe1, 0x86, 0x1d, 0xdb, 0x69, 0xf3, 0x95, 0x63, 0xe4, 0xeb,
+ 0xbb, 0x89, 0xd2, 0xeb, 0xf4, 0x90, 0xd2, 0x61, 0x76, 0x2f, 0x27, 0x20, 0x46, 0x11, 0xbb, 0x43,
+ 0x42, 0x93, 0x58, 0x94, 0x89, 0x14, 0xc4, 0x77, 0x54, 0x8e, 0x6b, 0xf3, 0x4b, 0x2f, 0xf1, 0xc8,
+ 0x28, 0x43, 0xf0, 0xca, 0x96, 0x5f, 0xe2, 0x89, 0xd7, 0xe3, 0x39, 0x66, 0x8c, 0x0b, 0x37, 0xfe,
+ 0x47, 0x04, 0x37, 0x76, 0xe5, 0xc7, 0x47, 0x75, 0x4b, 0xc1, 0x99, 0xff, 0xd4, 0xe0, 0xdc, 0xb6,
+ 0x1d, 0xc6, 0x6e, 0xdf, 0x0d, 0x6c, 0x3f, 0xee, 0x92, 0xd8, 0xe6, 0x7a, 0x2a, 0x4f, 0x42, 0xb5,
+ 0x87, 0x7b, 0x12, 0xba, 0x0d, 0x73, 0x03, 0x75, 0x07, 0xf2, 0x90, 0x9b, 0x87, 0x22, 0xb9, 0xf2,
+ 0xbe, 0xb5, 0xf6, 0xd0, 0xef, 0x5b, 0xcd, 0xef, 0xeb, 0x30, 0x57, 0x28, 0xaf, 0xc7, 0xae, 0x4d,
+ 0xab, 0x00, 0x6e, 0x16, 0x6a, 0xc7, 0x1c, 0xd0, 0xab, 0xf1, 0x68, 0x49, 0x44, 0x55, 0xb7, 0x7d,
+ 0xb5, 0xd3, 0xdf, 0xf6, 0xdd, 0x80, 0x56, 0x90, 0x3b, 0xe9, 0x98, 0xfd, 0x51, 0x85, 0x2b, 0x2d,
+ 0x99, 0xd4, 0x7c, 0x1f, 0xe6, 0x4b, 0x55, 0x8c, 0x5f, 0xdb, 0xd1, 0x7d, 0xe2, 0x67, 0xd7, 0x76,
+ 0x0c, 0x90, 0x02, 0x5a, 0x2f, 0x06, 0xb4, 0xe7, 0x1e, 0xca, 0x8f, 0xed, 0x05, 0x68, 0xfe, 0x40,
+ 0x87, 0x85, 0xea, 0x15, 0xe8, 0x49, 0x35, 0xf7, 0x0e, 0x74, 0x46, 0x55, 0xfb, 0x33, 0xb3, 0x7a,
+ 0x1e, 0xdd, 0xd9, 0x5a, 0xfd, 0xa4, 0x9a, 0xfb, 0x5c, 0x1a, 0xdd, 0xd2, 0x72, 0x68, 0xfe, 0x26,
+ 0xb3, 0x4f, 0xd6, 0x8d, 0x3c, 0xa1, 0xf6, 0x31, 0x2e, 0x41, 0x1b, 0xd5, 0x94, 0x9e, 0x87, 0x60,
+ 0x73, 0x5b, 0xc2, 0xe7, 0x95, 0x42, 0x6a, 0x0d, 0xce, 0x2c, 0x66, 0xff, 0xa0, 0xa5, 0x3e, 0xc9,
+ 0x7a, 0xbc, 0x4f, 0x95, 0x4f, 0xf2, 0x48, 0x93, 0x1a, 0x1f, 0x29, 0xd2, 0xb2, 0xde, 0xf3, 0x7f,
+ 0x91, 0x76, 0x72, 0xa4, 0x65, 0xb6, 0x94, 0x9a, 0x40, 0xf3, 0x3b, 0x30, 0xb3, 0x41, 0xbc, 0x6e,
+ 0x34, 0x48, 0xdf, 0xaf, 0x9e, 0xe9, 0x66, 0xb2, 0xf8, 0xca, 0x6f, 0xa2, 0xfc, 0xca, 0x6f, 0x0d,
+ 0x66, 0x65, 0x01, 0x4e, 0xf3, 0x3e, 0x73, 0xed, 0xc2, 0x37, 0x16, 0x57, 0xc4, 0xff, 0x9e, 0x5f,
+ 0x2b, 0x19, 0x71, 0xa7, 0xc1, 0xff, 0x29, 0xf9, 0xf2, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xf7,
+ 0x54, 0x7e, 0x19, 0x50, 0x3d, 0x00, 0x00,
}
diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto
index a2db28fea..9783c2bd7 100644
--- a/pkg/proto/sdk_ws/ws.proto
+++ b/pkg/proto/sdk_ws/ws.proto
@@ -106,6 +106,8 @@ message GroupRequest{
string handleUserID = 7;
uint32 handleTime = 8;
string ex = 9;
+ int32 joinSource = 10;
+ string inviterUserID = 11;
}
message FriendRequest{
diff --git a/pkg/utils/cache_delete.go b/pkg/utils/cache_delete.go
new file mode 100644
index 000000000..d4b585bf7
--- /dev/null
+++ b/pkg/utils/cache_delete.go
@@ -0,0 +1 @@
+package utils
diff --git a/pkg/utils/strings.go b/pkg/utils/strings.go
index 0e7c16106..5580f2838 100644
--- a/pkg/utils/strings.go
+++ b/pkg/utils/strings.go
@@ -33,6 +33,10 @@ func Int32ToString(i int32) string {
return strconv.FormatInt(int64(i), 10)
}
+func Uint32ToString(i uint32) string {
+ return strconv.FormatInt(int64(i), 10)
+}
+
//judge a string whether in the string list
func IsContain(target string, List []string) bool {
for _, element := range List {
diff --git a/script/check_all.sh b/script/check_all.sh
index 14bca6c81..c036142f9 100644
--- a/script/check_all.sh
+++ b/script/check_all.sh
@@ -34,7 +34,7 @@ for i in ${service_port_name[*]}; do
list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}')
list_to_string $list
for j in ${ports_array}; do
- port=$(netstat -netulp | grep ./open_im | awk '{print $4}' | grep -w ${j} | awk -F '[:]' '{print $NF}')
+ port=$(ss -tunlp| grep open_im | awk '{print $5}' | grep -w ${j} | awk -F '[:]' '{print $NF}')
if [[ ${port} -ne ${j} ]]; then
echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX}
echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX}