✨ 新增几大中心功能
This commit is contained in:
40
server/service/app/activity.go
Normal file
40
server/service/app/activity.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"git.echol.cn/loser/Go-Web-Template/server/global"
|
||||
appModel "git.echol.cn/loser/Go-Web-Template/server/model/app"
|
||||
"gorm.io/gorm/clause"
|
||||
)
|
||||
|
||||
type AppActivityService struct{}
|
||||
|
||||
var AppActivityServiceApp = new(AppActivityService)
|
||||
|
||||
func (s *AppActivityService) TouchActive(userID uint, ip string) error {
|
||||
now := time.Now()
|
||||
row := appModel.AppUserActivity{
|
||||
AppUserID: userID,
|
||||
LastActiveAt: &now,
|
||||
LastActiveIP: ip,
|
||||
}
|
||||
return global.GVA_DB.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "app_user_id"}},
|
||||
DoUpdates: clause.AssignmentColumns([]string{"last_active_at", "last_active_ip", "updated_at"}),
|
||||
}).Create(&row).Error
|
||||
}
|
||||
|
||||
func (s *AppActivityService) RecordLogin(userID uint, ip string) error {
|
||||
now := time.Now()
|
||||
row := appModel.AppUserActivity{
|
||||
AppUserID: userID,
|
||||
LastLoginAt: &now,
|
||||
LastActiveAt: &now,
|
||||
LastActiveIP: ip,
|
||||
}
|
||||
return global.GVA_DB.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "app_user_id"}},
|
||||
DoUpdates: clause.AssignmentColumns([]string{"last_login_at", "last_active_at", "last_active_ip", "updated_at"}),
|
||||
}).Create(&row).Error
|
||||
}
|
||||
Reference in New Issue
Block a user