From 06c89f1e726e84c67abba6893d62abdd025b8791 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 31 十月 2023 20:01:47 +0800
Subject: [PATCH] 支持职级降级的情况

---
 middleware/user.go |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/middleware/user.go b/middleware/user.go
index 1f0caac..d455fb6 100644
--- a/middleware/user.go
+++ b/middleware/user.go
@@ -10,6 +10,7 @@
 	"fmt"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/credentials/insecure"
+	"strings"
 	"time"
 )
 
@@ -59,10 +60,13 @@
 	return rsp.Result
 }
 
-func SyncUserInfo(uuid string) {
+func SyncUserInfo(uuid []string) {
 	cli := user.NewUserServiceClient(userConn)
-	var users = []*user.User{
-		{Uuid: uuid},
+	var users []*user.User
+	for _, id := range uuid {
+		users = append(users, &user.User{
+			Uuid: id,
+		})
 	}
 	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
 	defer cancel()
@@ -75,12 +79,17 @@
 	fmt.Printf("Synced: %v, Message: %s", r.List, r.Message)
 
 	for _, member := range r.List {
-		err = model.NewUserSearch(nil).Upsert(model.User{
+		userRecord := model.User{
 			UUID:     member.Uuid,
 			Username: member.Username,
 			UserType: constvar.UserType(member.Usertype),
 			NickName: member.Nickname,
-		})
+		}
+		if member.SubUserIds != nil {
+			subUserIds := strings.Join(member.SubUserIds, ",")
+			userRecord.SubUserIds = &subUserIds
+		}
+		err = model.NewUserSearch(nil).Upsert(userRecord)
 		if err != nil {
 			logx.Errorf("sync user error: %v", err.Error())
 			continue

--
Gitblit v1.8.0