From c5a0eb549cba2cd358a2d0496c44f3a289f15d9c Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期一, 28 八月 2023 14:22:06 +0800 Subject: [PATCH] fix --- service/user.go | 65 +++++++++++++++++++++++++++++++- 1 files changed, 62 insertions(+), 3 deletions(-) diff --git a/service/user.go b/service/user.go index 2adb136..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{} @@ -35,7 +43,7 @@ } func (userService *UserService) ChangePassword(u *model.User, newPassword string) (userInter *model.User, errCode int) { - user, err := model.NewUserSearch(nil).SetId(u.ID).First() + user, err := model.NewUserSearch(nil).SetId(u.UUID).First() if err != nil { return nil, ecode.UserNotExist } @@ -45,7 +53,7 @@ } user.Password = encrypt.BcryptHash(newPassword) - err = model.NewUserSearch(nil).SetId(u.ID).UpdateByMap(map[string]interface{}{ + err = model.NewUserSearch(nil).SetId(u.UUID).UpdateByMap(map[string]interface{}{ "password": user.Password}) return user, ecode.OK @@ -71,7 +79,7 @@ } func (userService *UserService) SetUserInfo(req model.User) error { - return model.NewUserSearch(nil).SetId(req.ID).UpdateByMap(map[string]interface{}{ + return model.NewUserSearch(nil).SetId(req.UUID).UpdateByMap(map[string]interface{}{ "nick_name": req.NickName, "header_img": req.HeaderImg, "phone": req.Phone, @@ -89,3 +97,54 @@ "password": encrypt.BcryptHash("123456"), }) } + +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