From c52ee4d80de792008522edfb3f06d67b20df4cb5 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 19 十月 2023 11:38:42 +0800 Subject: [PATCH] 同步用户只同步当前登录用户 --- model/user.go | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/model/user.go b/model/user.go index 925d6d7..318a24b 100644 --- a/model/user.go +++ b/model/user.go @@ -5,13 +5,14 @@ "aps_crm/pkg/mysqlx" "fmt" "gorm.io/gorm" + "gorm.io/gorm/clause" ) type ( // User token閲岃竟鎶婄敤鎴稩D銆佺埗鐢ㄦ埛ID銆佽鑹查兘甯︿笂 User struct { ID int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` - UUID string `json:"uuid" gorm:"primaryKey;type:varchar(255);comment:鐢ㄦ埛ID"` + UUID string `json:"uuid" gorm:"unique;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:鐢ㄦ埛鐧诲綍瀵嗙爜"` @@ -277,10 +278,13 @@ return records, nil } -func (slf *UserSearch) FirstOrCreate(record User) error { +func (slf *UserSearch) Upsert(record User) error { var db = slf.build() - if err := db.FirstOrCreate(&User{}, record).Error; err != nil { + if err := db.Clauses(clause.OnConflict{ + Columns: []clause.Column{{Name: "uuid"}}, + DoUpdates: clause.AssignmentColumns([]string{"uuid", "username", "user_type", "nick_name"}), + }).Create(&record).Error; err != nil { return fmt.Errorf("first or create err: %v, record: %+v", err, record) } -- Gitblit v1.8.0