78 lines
1.8 KiB
Go
78 lines
1.8 KiB
Go
package service
|
|
|
|
import (
|
|
"github.com/lejianwen/rustdesk-api/v2/model"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type GroupService struct {
|
|
}
|
|
|
|
// InfoById 根据用户id取用户信息
|
|
func (us *GroupService) InfoById(id uint) *model.Group {
|
|
u := &model.Group{}
|
|
DB.Where("id = ?", id).First(u)
|
|
return u
|
|
}
|
|
|
|
func (us *GroupService) List(page, pageSize uint, where func(tx *gorm.DB)) (res *model.GroupList) {
|
|
res = &model.GroupList{}
|
|
res.Page = int64(page)
|
|
res.PageSize = int64(pageSize)
|
|
tx := DB.Model(&model.Group{})
|
|
if where != nil {
|
|
where(tx)
|
|
}
|
|
tx.Count(&res.Total)
|
|
tx.Scopes(Paginate(page, pageSize))
|
|
tx.Find(&res.Groups)
|
|
return
|
|
}
|
|
|
|
// Create 创建
|
|
func (us *GroupService) Create(u *model.Group) error {
|
|
res := DB.Create(u).Error
|
|
return res
|
|
}
|
|
func (us *GroupService) Delete(u *model.Group) error {
|
|
return DB.Delete(u).Error
|
|
}
|
|
|
|
// Update 更新
|
|
func (us *GroupService) Update(u *model.Group) error {
|
|
return DB.Model(u).Updates(u).Error
|
|
}
|
|
|
|
// DeviceGroupInfoById 根据用户id取用户信息
|
|
func (us *GroupService) DeviceGroupInfoById(id uint) *model.DeviceGroup {
|
|
u := &model.DeviceGroup{}
|
|
DB.Where("id = ?", id).First(u)
|
|
return u
|
|
}
|
|
|
|
func (us *GroupService) DeviceGroupList(page, pageSize uint, where func(tx *gorm.DB)) (res *model.DeviceGroupList) {
|
|
res = &model.DeviceGroupList{}
|
|
res.Page = int64(page)
|
|
res.PageSize = int64(pageSize)
|
|
tx := DB.Model(&model.DeviceGroup{})
|
|
if where != nil {
|
|
where(tx)
|
|
}
|
|
tx.Count(&res.Total)
|
|
tx.Scopes(Paginate(page, pageSize))
|
|
tx.Find(&res.DeviceGroups)
|
|
return
|
|
}
|
|
|
|
func (us *GroupService) DeviceGroupCreate(u *model.DeviceGroup) error {
|
|
res := DB.Create(u).Error
|
|
return res
|
|
}
|
|
func (us *GroupService) DeviceGroupDelete(u *model.DeviceGroup) error {
|
|
return DB.Delete(u).Error
|
|
}
|
|
|
|
func (us *GroupService) DeviceGroupUpdate(u *model.DeviceGroup) error {
|
|
return DB.Model(u).Updates(u).Error
|
|
}
|