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