package service

import (
	"ulink-admin/modules/system/dao"
	"ulink-admin/modules/system/models/model"
	"ulink-admin/modules/system/models/req"
)

type SysInfoService struct {
	SysInfoDao *dao.SysInfoDao `inject:""`
}

// FindAll 查询所有系统设置业务方法
func (s SysInfoService) FindAll() []*model.SysInfo {
	return s.SysInfoDao.SelectAll()
}

// FindList 查询系统设置分页列表
func (s SysInfoService) FindList(query *req.SysInfoQuery) (*[]model.SysInfo, int64) {
	return s.SysInfoDao.Find(query)
}

// Insert 添加系统设置数据
func (s SysInfoService) Insert(sysInfo *model.SysInfo) bool {
	return s.SysInfoDao.Insert(sysInfo) > 0
}

// GetSysInfoById 根据id查询系统设置数据
func (s SysInfoService) GetSysInfoById(id int64) *model.SysInfo {
	sysInfo := model.SysInfo{
		Id: id,
	}
	return s.SysInfoDao.GetSysInfoById(sysInfo)
}

// Delete 批量删除系统设置信息
func (s SysInfoService) Delete(ids []int64) bool {
	return s.SysInfoDao.Delete(ids) > 0
}

// Update 修改系统设置数据
func (s SysInfoService) Update(sysInfo *model.SysInfo) {
	s.SysInfoDao.Update(sysInfo)
}

// CheckUnique 唯一性检查
func (s SysInfoService) CheckUnique(sysInfo model.SysInfo, condition []string) int64 {
	return s.SysInfoDao.CheckUnique(sysInfo, condition)
}