From c5a0eb549cba2cd358a2d0496c44f3a289f15d9c Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期一, 28 八月 2023 14:22:06 +0800
Subject: [PATCH] fix

---
 model/user.go |  107 ++++++++++++++++++++++-------------------------------
 1 files changed, 45 insertions(+), 62 deletions(-)

diff --git a/model/user.go b/model/user.go
index 529e9bd..6cbf77f 100644
--- a/model/user.go
+++ b/model/user.go
@@ -5,37 +5,28 @@
 	"aps_crm/pkg/mysqlx"
 	"fmt"
 	"gorm.io/gorm"
-	"time"
 )
 
 type (
 	// User token閲岃竟鎶婄敤鎴稩D銆佺埗鐢ㄦ埛ID銆佽鑹查兘甯︿笂
 	User struct {
-		ID          string            `json:"id" gorm:"primaryKey;type:varchar(255);comment:鐢ㄦ埛ID"`
-		Username    string            `json:"username" gorm:"index;type:varchar(255);comment:鐢ㄦ埛鐧诲綍鍚�"`
-		UserType    constvar.UserType `json:"userType" gorm:"type:int(11);comment:鐢ㄦ埛绫诲瀷 1瓒呯骇绠$悊鍛� 2涓昏处鎴� 3瀛愯处鎴�"`
-		Password    string            `json:"-"  gorm:"type:varchar(255);comment:鐢ㄦ埛鐧诲綍瀵嗙爜"`
-		NickName    string            `json:"nickName" gorm:"type:varchar(255);default:绯荤粺鐢ㄦ埛;comment:鐢ㄦ埛鏄电О"`
-		HeaderImg   string            `json:"headerImg" gorm:"type:varchar(255);comment:鐢ㄦ埛澶村儚"`
-		Phone       string            `json:"phone"  gorm:"type:varchar(255);comment:鐢ㄦ埛鎵嬫満鍙�"`
-		Email       string            `json:"email"  gorm:"type:varchar(255);comment:鐢ㄦ埛閭"`
-		Enable      bool              `json:"enable" gorm:"type:tinyint(1);comment:鐢ㄦ埛鏄惁琚喕缁�"`
-		ParentId    string            `json:"parentId" gorm:"type:varchar(255);comment:鐖剁敤鎴稩D"`
-		ParentName  string            `json:"parentName" gorm:"type:varchar(255);comment:鐖剁敤鎴峰悕绉�"`
-		CompanyName string            `json:"companyName" gorm:"type:varchar(255);comment:鍏徃鍚嶇О"`
-		Pos         string            `json:"pos" gorm:"type:varchar(255);comment:宀椾綅"`
-		ModifiedPwd bool              `json:"-" gorm:"type:tinyint(1);comment:鏄惁鏀硅繃瀵嗙爜"`
-		CreateTime  int64             `json:"-"  gorm:"type:bigint(20);comment:鍒涘缓鏃堕棿"`
-		UpdateTime  int64             `json:"-"  gorm:"type:bigint(20);comment:鏇存柊鏃堕棿"`
-		Menus       []Menu            `json:"-" gorm:"many2many:user_menu;"` // 鐢ㄦ埛鑿滃崟
-		CreateAt    string            `json:"createAt" gorm:"-"`             // 鍒涘缓鏃堕棿
-		UpdateAt    string            `json:"updateAt" gorm:"-"`             // 鏇存柊鏃堕棿
-		MenuIds     []uint            `json:"menuIds" gorm:"-"`              // 鑿滃崟ID鍒楄〃
-		Ip          string            `json:"ip" gorm:"type:varchar(255);comment:闆嗙兢Ip"`
-		Port        string            `json:"port" gorm:"type:varchar(255);comment:绔彛鍙�"`
-		Status      int               `json:"status" gorm:"type:int(11);comment:鐢ㄦ埛瀹℃牳鐘舵�� 0:绂佺敤; 1:姝e父; 2:瀹℃牳涓�"`
-		AuthorityId uint              `json:"authorityId" gorm:"default:888;comment:鐢ㄦ埛瑙掕壊ID"` // 鐢ㄦ埛瑙掕壊ID
-		Authority   Authority         `json:"authority" gorm:"foreignKey:AuthorityId"`
+		ID           int               `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+		UUID         string            `json:"uuid" gorm:"primaryKey;type:varchar(255);comment:鐢ㄦ埛ID"`
+		Username     string            `json:"username" gorm:"index;type:varchar(255);comment:鐢ㄦ埛鐧诲綍鍚�"`
+		UserType     constvar.UserType `json:"userType" gorm:"type:int(11);comment:鐢ㄦ埛绫诲瀷 1瓒呯骇绠$悊鍛� 2涓昏处鎴� 3瀛愯处鎴�"`
+		Password     string            `json:"-"  gorm:"type:varchar(255);comment:鐢ㄦ埛鐧诲綍瀵嗙爜"`
+		NickName     string            `json:"nickName" gorm:"type:varchar(255);default:绯荤粺鐢ㄦ埛;comment:鐢ㄦ埛鏄电О"`
+		RealName     string            `json:"realName" gorm:"type:varchar(255);comment:鐢ㄦ埛鐪熷疄濮撳悕"`
+		DepartmentId int               `json:"departmentId" gorm:"type:int(11);comment:鐢ㄦ埛閮ㄩ棬ID"`
+		HeaderImg    string            `json:"headerImg" gorm:"type:varchar(255);comment:鐢ㄦ埛澶村儚"`
+		Phone        string            `json:"phone"  gorm:"type:varchar(255);comment:鐢ㄦ埛鎵嬫満鍙�"`
+		Email        string            `json:"email"  gorm:"type:varchar(255);comment:鐢ㄦ埛閭"`
+		Pos          string            `json:"pos" gorm:"type:varchar(255);comment:宀椾綅"`
+		Menus        []Menu            `json:"-" gorm:"many2many:user_menu;"`                 // 鐢ㄦ埛鑿滃崟
+		MenuIds      []uint            `json:"menuIds" gorm:"-"`                              // 鑿滃崟ID鍒楄〃
+		AuthorityId  uint              `json:"authorityId" gorm:"default:888;comment:鐢ㄦ埛瑙掕壊ID"` // 鐢ㄦ埛瑙掕壊ID
+		Authority    Authority         `json:"authority" gorm:"foreignKey:AuthorityId"`
+		gorm.Model   `json:"-"`
 	}
 
 	UserSearch struct {
@@ -50,28 +41,6 @@
 
 func (slf User) TableName() string {
 	return "user"
-}
-
-func (slf *User) BeforeCreate(tx *gorm.DB) error {
-	slf.CreateTime = time.Now().Unix()
-	slf.UpdateTime = slf.CreateTime
-	return nil
-}
-
-func (slf *User) BeforeSave(tx *gorm.DB) error {
-	slf.UpdateTime = time.Now().Unix()
-	return nil
-}
-
-func (slf *User) BeforeUpdate(tx *gorm.DB) error {
-	slf.UpdateTime = time.Now().Unix()
-	return nil
-}
-
-func (slf *User) AfterFind(tx *gorm.DB) error {
-	slf.CreateAt = time.Unix(slf.CreateTime, 0).Format("2006-01-02 15:04:05")
-	slf.UpdateAt = time.Unix(slf.UpdateTime, 0).Format("2006-01-02 15:04:05")
-	return nil
 }
 
 func NewUserSearch(db *gorm.DB) *UserSearch {
@@ -97,17 +66,12 @@
 }
 
 func (slf *UserSearch) SetId(id string) *UserSearch {
-	slf.ID = id
+	slf.UUID = id
 	return slf
 }
 
-func (slf *UserSearch) SetParentId(parentId string) *UserSearch {
-	slf.ParentId = parentId
-	return slf
-}
-
-func (slf *UserSearch) SetParentName(parentName string) *UserSearch {
-	slf.ParentName = parentName
+func (slf *UserSearch) SetUserId(userId int) *UserSearch {
+	slf.ID = userId
 	return slf
 }
 
@@ -124,16 +88,12 @@
 func (slf *UserSearch) build() *gorm.DB {
 	var db = slf.Orm.Model(&User{}).Preload("Menus")
 
-	if slf.ID != "" {
-		db = db.Where("id = ?", slf.ID)
+	if slf.UUID != "" {
+		db = db.Where("id = ?", slf.UUID)
 	}
 
 	if slf.Username != "" {
 		db = db.Where("username = ?", slf.Username)
-	}
-
-	if slf.ParentName != "" {
-		db = db.Where("parent_name = ?", slf.ParentName)
 	}
 
 	if slf.Keyword != "" {
@@ -303,3 +263,26 @@
 func (slf *UserSearch) ReplaceMenu(user *User, menus []*Menu) error {
 	return slf.Orm.Model(user).Association("Menus").Replace(menus)
 }
+
+func (slf *UserSearch) FindAll() ([]*User, error) {
+	var (
+		records = make([]*User, 0)
+		db      = slf.build()
+	)
+
+	if err := db.Find(&records).Error; err != nil {
+		return records, fmt.Errorf("find all err: %v", err)
+	}
+
+	return records, nil
+}
+
+func (slf *UserSearch) FirstOrCreate(record User) error {
+	var db = slf.build()
+
+	if err := db.FirstOrCreate(&User{}, record).Error; err != nil {
+		return fmt.Errorf("first or create err: %v, record: %+v", err, record)
+	}
+
+	return nil
+}

--
Gitblit v1.8.0