新增设备模块
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"go-desk-service/config"
|
||||
"go-desk-service/libs"
|
||||
"go-desk-service/models"
|
||||
"go-desk-service/utils"
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
@@ -41,6 +43,12 @@ func (d *DeviceService) Update(device *models.Device) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (d *DeviceService) UpdateByToken(token string, device *models.Device) bool {
|
||||
device.UpdatedAt = time.Now()
|
||||
d.db.Model(&models.Device{}).Where("token = ?", token).Updates(device)
|
||||
return true
|
||||
}
|
||||
|
||||
func (d *DeviceService) GetInfoByToken(token string) (*models.Device, error) {
|
||||
var device models.Device
|
||||
err := d.db.Model(&models.Device{}).Where("token = ?", token).First(&device).Error
|
||||
@@ -61,3 +69,29 @@ func (d *DeviceService) GetUserLoginStatus(userId int64) (int, error) {
|
||||
}
|
||||
return 0, nil // 用户未登录
|
||||
}
|
||||
|
||||
func (d *DeviceService) SetUserLoginStatus(userId int64, token, deviceUid string) {
|
||||
var device models.Device
|
||||
err := d.db.Model(&models.Device{}).Where("user_id = ? AND device_uid = ?", userId, deviceUid).First(&device).Error
|
||||
if err != nil {
|
||||
// 没查到就创建
|
||||
appConfig, _ := config.LoadConfig()
|
||||
Snowflake, _ := utils.NewSnowflake(appConfig.WorkerID, appConfig.DatacenterID)
|
||||
DeviceId := Snowflake.NextID()
|
||||
d.db.Create(&models.Device{
|
||||
ID: DeviceId,
|
||||
UserId: userId,
|
||||
Token: token,
|
||||
DeviceUid: deviceUid,
|
||||
LoginStatus: 1,
|
||||
UpdatedAt: time.Now(),
|
||||
CreatedAt: time.Now(),
|
||||
})
|
||||
return
|
||||
}
|
||||
d.db.Model(&models.Device{}).Where("id = ?", device.ID).Updates(&models.Device{
|
||||
Token: token,
|
||||
LoginStatus: 1,
|
||||
UpdatedAt: time.Now(),
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user