From 415d40f8c503d98b9922768d00a7b53dd2271d32 Mon Sep 17 00:00:00 2001 From: WangchuXiao Date: Thu, 10 Aug 2023 20:12:37 +0800 Subject: [PATCH 1/3] Fix bug: first time add friend (#844) * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * MsgDestructTime * fix bug: msg destruct sql * fix bug: msg destruct * fix bug: msg destruct * fix bug: msg destruct sql * fix bug: msg destruct sql * fix bug: msg destruct sql * fix bug: msg destruct sql * debug: print stack * debug: print stack * debug: print stack * fix bug: msg destruct sql Signed-off-by: wangchuxiao * fix bug: msg notification self 2 self push twice * fix bug: heartbeat get self notification * fix bug: init grpc conn in one process * fix bug: grpc conn Signed-off-by: wangchuxiao * fix bug: zk client recreate node when reconn * fix bug: set friend mark args error * fix bug: rpc client intercepter called twice Signed-off-by: wangchuxiao * cicd: robot automated Change Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * test: document msg num set 100 * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * merge code * merge code * fix bug: repeat add friend not effect * fix bug: refused friend * fix bug: fix_add_friend * fix bug: fix_add_friend * fix bug: fix_add_friend --------- Signed-off-by: wangchuxiao Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: wangchuxiao-dev --- pkg/common/db/controller/friend.go | 1 + pkg/common/db/relation/friend_request_model.go | 6 +++++- pkg/common/db/relation/meta_db.go | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/common/db/controller/friend.go b/pkg/common/db/controller/friend.go index 69db8dd6e..a1cb547bf 100644 --- a/pkg/common/db/controller/friend.go +++ b/pkg/common/db/controller/friend.go @@ -209,6 +209,7 @@ func (f *friendDatabase) RefuseFriendRequest( if fr.HandleResult != 0 { return errs.ErrArgs.Wrap("the friend request has been processed") } + log.ZDebug(ctx, "refuse friend request", "friendRequest db", fr, "friendRequest arg", friendRequest) friendRequest.HandleResult = constant.FriendResponseRefuse friendRequest.HandleTime = time.Now() err = f.friendRequest.Update(ctx, friendRequest) diff --git a/pkg/common/db/relation/friend_request_model.go b/pkg/common/db/relation/friend_request_model.go index 0abb06b44..7a1f98715 100644 --- a/pkg/common/db/relation/friend_request_model.go +++ b/pkg/common/db/relation/friend_request_model.go @@ -71,9 +71,13 @@ func (f *FriendRequestGorm) UpdateByMap( // 更新记录 (非零值). func (f *FriendRequestGorm) Update(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) { + fromUserID := friendRequest.FromUserID + toUserID := friendRequest.ToUserID + friendRequest.FromUserID = "" + friendRequest.ToUserID = "" return utils.Wrap( f.db(ctx). - Where("from_user_id = ? AND to_user_id =?", friendRequest.FromUserID, friendRequest.ToUserID). + Where("from_user_id = ? AND to_user_id =?", fromUserID, toUserID). Updates(friendRequest). Error, "", diff --git a/pkg/common/db/relation/meta_db.go b/pkg/common/db/relation/meta_db.go index 60e4a5464..6ab980120 100644 --- a/pkg/common/db/relation/meta_db.go +++ b/pkg/common/db/relation/meta_db.go @@ -33,5 +33,6 @@ func NewMetaDB(db *gorm.DB, table any) *MetaDB { } func (g *MetaDB) db(ctx context.Context) *gorm.DB { - return g.DB.WithContext(ctx).Model(g.table) + db := g.DB.WithContext(ctx).Model(g.table) + return db } From 825622fd999f12cf51fbccc8b7c1b69e865f3cc2 Mon Sep 17 00:00:00 2001 From: WangchuXiao Date: Thu, 10 Aug 2023 20:25:54 +0800 Subject: [PATCH 2/3] Fix add friend (#845) * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * new feature: add batch send msg * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * fix bug: multiple gateway kick user * MsgDestructTime * fix bug: msg destruct sql * fix bug: msg destruct * fix bug: msg destruct * fix bug: msg destruct sql * fix bug: msg destruct sql * fix bug: msg destruct sql * fix bug: msg destruct sql * debug: print stack * debug: print stack * debug: print stack * fix bug: msg destruct sql Signed-off-by: wangchuxiao * fix bug: msg notification self 2 self push twice * fix bug: heartbeat get self notification * fix bug: init grpc conn in one process * fix bug: grpc conn Signed-off-by: wangchuxiao * fix bug: zk client recreate node when reconn * fix bug: set friend mark args error * fix bug: rpc client intercepter called twice Signed-off-by: wangchuxiao * cicd: robot automated Change Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * test: document msg num set 100 * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * new feat: sync designated model * merge code * merge code * fix bug: repeat add friend not effect * cicd: robot automated Change Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix bug: refused friend * fix bug: fix_add_friend * fix bug: fix_add_friend * fix bug: fix_add_friend * fix bug: fix_add_friend --------- Signed-off-by: wangchuxiao Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: wangchuxiao-dev --- internal/rpc/user/user.go | 8 +++++--- internal/tools/msg_doc_convert.go | 3 ++- pkg/common/db/relation/friend_request_model.go | 11 +++++------ pkg/common/db/unrelation/msg_convert.go | 3 ++- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 3d954cd9a..10580798a 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -20,14 +20,17 @@ import ( "strings" "time" - "github.com/OpenIMSDK/Open-IM-Server/pkg/authverify" - "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/unrelation" "github.com/OpenIMSDK/protocol/constant" "github.com/OpenIMSDK/protocol/sdkws" "github.com/OpenIMSDK/tools/errs" "github.com/OpenIMSDK/tools/log" "github.com/OpenIMSDK/tools/tx" + "github.com/OpenIMSDK/Open-IM-Server/pkg/authverify" + "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/unrelation" + + registry "github.com/OpenIMSDK/tools/discoveryregistry" + "github.com/OpenIMSDK/Open-IM-Server/pkg/common/config" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/convert" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/cache" @@ -36,7 +39,6 @@ import ( tablerelation "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/relation" "github.com/OpenIMSDK/Open-IM-Server/pkg/rpcclient" "github.com/OpenIMSDK/Open-IM-Server/pkg/rpcclient/notification" - registry "github.com/OpenIMSDK/tools/discoveryregistry" pbuser "github.com/OpenIMSDK/protocol/user" "github.com/OpenIMSDK/tools/utils" diff --git a/internal/tools/msg_doc_convert.go b/internal/tools/msg_doc_convert.go index 537b7bf2c..598d0dbcf 100644 --- a/internal/tools/msg_doc_convert.go +++ b/internal/tools/msg_doc_convert.go @@ -1,10 +1,11 @@ package tools import ( - "github.com/OpenIMSDK/Open-IM-Server/pkg/msgprocessor" "github.com/OpenIMSDK/protocol/constant" "github.com/OpenIMSDK/tools/log" "github.com/OpenIMSDK/tools/mcontext" + + "github.com/OpenIMSDK/Open-IM-Server/pkg/msgprocessor" ) func (c *MsgTool) ConvertTools() { diff --git a/pkg/common/db/relation/friend_request_model.go b/pkg/common/db/relation/friend_request_model.go index 7a1f98715..689b31668 100644 --- a/pkg/common/db/relation/friend_request_model.go +++ b/pkg/common/db/relation/friend_request_model.go @@ -71,14 +71,13 @@ func (f *FriendRequestGorm) UpdateByMap( // 更新记录 (非零值). func (f *FriendRequestGorm) Update(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) { - fromUserID := friendRequest.FromUserID - toUserID := friendRequest.ToUserID - friendRequest.FromUserID = "" - friendRequest.ToUserID = "" + fr2 := *friendRequest + fr2.FromUserID = "" + fr2.ToUserID = "" return utils.Wrap( f.db(ctx). - Where("from_user_id = ? AND to_user_id =?", fromUserID, toUserID). - Updates(friendRequest). + Where("from_user_id = ? AND to_user_id =?", friendRequest.FromUserID, friendRequest.ToUserID). + Updates(fr2). Error, "", ) diff --git a/pkg/common/db/unrelation/msg_convert.go b/pkg/common/db/unrelation/msg_convert.go index 134020dfd..8fbcd56e5 100644 --- a/pkg/common/db/unrelation/msg_convert.go +++ b/pkg/common/db/unrelation/msg_convert.go @@ -4,10 +4,11 @@ import ( "context" "fmt" - table "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/unrelation" "github.com/OpenIMSDK/tools/log" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" + + table "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/unrelation" ) func (m *MsgMongoDriver) ConvertMsgsDocLen(ctx context.Context, conversationIDs []string) { From 71393da390d096cd120bed99acd7c8f1dc132df2 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Fri, 11 Aug 2023 09:57:23 +0800 Subject: [PATCH 3/3] chore: network mode change to start server normally (#847) * fix: to start im or chat, ZooKeeper must be started first. * fix: msg gateway start output err info Signed-off-by: Gordon <1432970085@qq.com> * fix: msg gateway start output err info Signed-off-by: Gordon <1432970085@qq.com> * chore: package path changes Signed-off-by: withchao <993506633@qq.com> * fix: go mod update Signed-off-by: Gordon <1432970085@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * chore: package path changes Signed-off-by: withchao <993506633@qq.com> * chore: package path changes Signed-off-by: withchao <993506633@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * fix: token update Signed-off-by: Gordon <1432970085@qq.com> * fix: get all userID Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> * fix: msggateway add online status call Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> * refactor: log change Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> * refactor: log change Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> * chore: network mode change Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> --------- Signed-off-by: Gordon <1432970085@qq.com> Signed-off-by: withchao <993506633@qq.com> Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <993506633@qq.com> Co-authored-by: Xinwei Xiong <3293172751NSS@gmail.com> --- docker-compose.yaml | 4 +++- internal/msggateway/message_handler.go | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 2c0c98bd7..d71d4c932 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -62,6 +62,7 @@ services: environment: TZ: Asia/Shanghai restart: always + network_mode: "host" kafka: image: wurstmeister/kafka @@ -72,7 +73,7 @@ services: environment: TZ: Asia/Shanghai KAFKA_BROKER_ID: 0 - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_ZOOKEEPER_CONNECT: 127.0.0.1:2181 KAFKA_CREATE_TOPICS: "latestMsgToRedis:8:1,msgToPush:8:1,offlineMsgToMongoMysql:8:1" KAFKA_ADVERTISED_LISTENERS: INSIDE://127.0.0.1:9092,OUTSIDE://103.116.45.174:9092 KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9093 @@ -80,6 +81,7 @@ services: KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE depends_on: - zookeeper + network_mode: "host" minio: image: minio/minio diff --git a/internal/msggateway/message_handler.go b/internal/msggateway/message_handler.go index fdf0a6943..6c26e5906 100644 --- a/internal/msggateway/message_handler.go +++ b/internal/msggateway/message_handler.go @@ -40,7 +40,13 @@ type Req struct { } func (r *Req) String() string { - return utils.StructToJsonString(r) + var tReq Req + tReq.ReqIdentifier = r.ReqIdentifier + tReq.Token = r.Token + tReq.SendID = r.SendID + tReq.OperationID = r.OperationID + tReq.MsgIncr = r.MsgIncr + return utils.StructToJsonString(tReq) } type Resp struct { @@ -53,7 +59,13 @@ type Resp struct { } func (r *Resp) String() string { - return utils.StructToJsonString(r) + var tResp Resp + tResp.ReqIdentifier = r.ReqIdentifier + tResp.MsgIncr = r.MsgIncr + tResp.OperationID = r.OperationID + tResp.ErrCode = r.ErrCode + tResp.ErrMsg = r.ErrMsg + return utils.StructToJsonString(tResp) } type MessageHandler interface {