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