Files
web_template/internal/service/enterprise.go
2026-07-10 10:06:23 +00:00

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()
}