package service

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

type DocArticleService struct {
	docArticleDao dao.DocArticleDao
}

// FindAll 查询所有文章业务方法
func (s DocArticleService) FindAll() []*model.DocArticle {
	return s.docArticleDao.SelectAll()
}

// FindList 查询文章分页列表
func (s DocArticleService) FindList(query req.DocArticleQuery) (*[]model.DocArticle, int64) {
	return s.docArticleDao.Find(query)
}

// Insert 添加文章数据
func (s DocArticleService) Insert(docArticle *model.DocArticle) bool {
	return s.docArticleDao.Insert(docArticle) > 0
}

// GetDocArticleById 根据id查询文章数据
func (s DocArticleService) GetDocArticleById(id int64) *model.DocArticle {
	docArticle := model.DocArticle{
		Id: id,
	}
	return s.docArticleDao.GetDocArticleById(docArticle)
}

// Delete 批量删除文章信息
func (s DocArticleService) Delete(ids []int64) bool {
	return s.docArticleDao.Delete(ids) > 0
}

// Update 修改文章数据
func (s DocArticleService) Update(docArticle *model.DocArticle) bool {
	return s.docArticleDao.Update(docArticle)
}

// CheckUnique 唯一性检查
func (s DocArticleService) CheckUnique(docArticle model.DocArticle, condition []string) int64 {
	return s.docArticleDao.CheckUnique(docArticle, condition)
}

func (s DocArticleService) FindCountByCatId(id int64) int64 {
	return s.docArticleDao.FindCountByCatId(id)
}