From 5f0170df9787c6f3ff17cc168b3f2e3f511453f6 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 31 十月 2023 20:04:16 +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 f1e4487..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,11 +60,14 @@
return rsp.Result
}
-func SyncUserInfo() {
+func SyncUserInfo(uuid []string) {
cli := user.NewUserServiceClient(userConn)
-
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()
r, err := cli.SyncUser(ctx, &user.UserRequest{Users: users})
@@ -75,12 +79,17 @@
fmt.Printf("Synced: %v, Message: %s", r.List, r.Message)
for _, member := range r.List {
- err = model.NewUserSearch(nil).FirstOrCreate(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