From 285ae1703f35a3cc9c28d1d4871b4634a3ed8c73 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 17 八月 2023 19:57:00 +0800 Subject: [PATCH] Merge branch 'master' of ssh://192.168.5.5:29418/aps/crm --- service/user.go | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/service/user.go b/service/user.go index 3f40330..c5a1c8e 100644 --- a/service/user.go +++ b/service/user.go @@ -1,12 +1,20 @@ package service import ( + "aps_crm/conf" "aps_crm/constvar" "aps_crm/model" "aps_crm/pkg/ecode" "aps_crm/pkg/encrypt" + "aps_crm/pkg/logx" + "aps_crm/proto/user" + "context" "errors" + "fmt" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" "gorm.io/gorm" + "time" ) type UserService struct{} @@ -93,3 +101,50 @@ func (userService *UserService) GetUserList() (userList []*model.User, err error) { return model.NewUserSearch(nil).FindAll() } + +var ( + userConn *grpc.ClientConn +) + +func InitUserConn() { + var err error + userConn, err = grpc.Dial(conf.Conf.GrpcServiceAddr.Admin, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + logx.Errorf("grpc dial user service error: %v", err.Error()) + return + } +} + +func CloseUserConn() { + if userConn != nil { + userConn.Close() + } +} + +func SyncUserInfo() { + cli := user.NewUserServiceClient(userConn) + + var users []*user.User + + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + r, err := cli.SyncUser(ctx, &user.UserRequest{Users: users}) + if err != nil { + logx.Fatalf("could not sync users: %v", err) + } + + fmt.Printf("Synced: %v, Message: %s", r.List, r.Message) + + for _, member := range r.List { + err = model.NewUserSearch(nil).FirstOrCreate(model.User{ + UUID: member.Uuid, + Username: member.Username, + UserType: constvar.UserType(member.Usertype), + NickName: member.Nickname, + }) + if err != nil { + logx.Errorf("sync user error: %v", err.Error()) + continue + } + } +} -- Gitblit v1.8.0