67 lines
1.6 KiB
Go
67 lines
1.6 KiB
Go
package service
|
|
|
|
import (
|
|
"gotest/internal/repository"
|
|
)
|
|
|
|
// EnterpriseService 企业信息服务
|
|
type EnterpriseService struct {
|
|
repo *repository.EnterpriseRepository
|
|
}
|
|
|
|
// NewEnterpriseService 创建企业服务实例
|
|
func NewEnterpriseService(repo *repository.EnterpriseRepository) *EnterpriseService {
|
|
return &EnterpriseService{repo: repo}
|
|
}
|
|
|
|
// GetAllData 一次性获取企业官网所需的全部数据(公司、服务、新闻、团队)
|
|
func (s *EnterpriseService) GetAllData() (map[string]interface{}, error) {
|
|
company, err := s.repo.GetCompany()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
services, err := s.repo.ListServices()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
news, err := s.repo.ListNews("", 6)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
team, err := s.repo.ListTeam()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return map[string]interface{}{
|
|
"company": company,
|
|
"services": services,
|
|
"news": news,
|
|
"team": team,
|
|
}, nil
|
|
}
|
|
|
|
// GetCompany 获取企业信息
|
|
func (s *EnterpriseService) GetCompany() (interface{}, error) {
|
|
return s.repo.GetCompany()
|
|
}
|
|
|
|
// ListServices 获取服务列表
|
|
func (s *EnterpriseService) ListServices() (interface{}, error) {
|
|
return s.repo.ListServices()
|
|
}
|
|
|
|
// ListNews 获取新闻列表
|
|
func (s *EnterpriseService) ListNews(category string, limit int) (interface{}, error) {
|
|
return s.repo.ListNews(category, limit)
|
|
}
|
|
|
|
// GetNews 获取新闻详情
|
|
func (s *EnterpriseService) GetNews(id uint) (interface{}, error) {
|
|
return s.repo.GetNews(id)
|
|
}
|
|
|
|
// ListTeam 获取团队列表
|
|
func (s *EnterpriseService) ListTeam() (interface{}, error) {
|
|
return s.repo.ListTeam()
|
|
}
|