From 2071758a2b24cc21521ec1888df7ddf60065e88f Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 28 十月 2023 15:33:09 +0800 Subject: [PATCH] 新增用户信息更新管理器,定时更新活跃用户的详情,当用户访问系统的时候更新活跃时间,定时清理非活跃用户 --- model/user.go | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/model/user.go b/model/user.go index 318a24b..93e8c3d 100644 --- a/model/user.go +++ b/model/user.go @@ -27,6 +27,7 @@ MenuIds []uint `json:"menuIds" gorm:"-"` // 鑿滃崟ID鍒楄〃 AuthorityId uint `json:"authorityId" gorm:"default:888;comment:鐢ㄦ埛瑙掕壊ID"` // 鐢ㄦ埛瑙掕壊ID Authority Authority `json:"authority" gorm:"foreignKey:AuthorityId"` + SubUserIds string `json:"subUserIds" gorm:"sub_user_ids"` //涓嬪睘鍛樺伐鐢ㄦ埛id,鐢ㄩ�楀彿鍒嗗紑 gorm.Model `json:"-"` } @@ -283,10 +284,29 @@ if err := db.Clauses(clause.OnConflict{ Columns: []clause.Column{{Name: "uuid"}}, - DoUpdates: clause.AssignmentColumns([]string{"uuid", "username", "user_type", "nick_name"}), + DoUpdates: clause.AssignmentColumns([]string{"username", "user_type", "nick_name", "sub_user_ids"}), }).Create(&record).Error; err != nil { return fmt.Errorf("first or create err: %v, record: %+v", err, record) } return nil } + +type IdPair struct { + ID int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` + UUID string `json:"uuid" gorm:"unique;type:varchar(255);comment:鐢ㄦ埛ID"` +} + +func (slf *UserSearch) UUID2CrmUserId(userIds []string) ([]*IdPair, error) { + var ( + records = make([]*IdPair, 0) + db = slf.build() + ) + + db = db.Where("uuid in ?", userIds) + if err := db.Find(&records).Error; err != nil { + return records, fmt.Errorf("find all err: %v", err) + } + + return records, nil +} -- Gitblit v1.8.0