首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"resume-platform/internal/model"
|
||||
"resume-platform/internal/repository"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
type SystemService interface {
|
||||
GetAllMenus() ([]*model.Menu, error)
|
||||
CreateMenu(menu *model.Menu) error
|
||||
UpdateMenu(id string, menu *model.Menu) error
|
||||
DeleteMenu(id string) error
|
||||
GetSystemConfig() (*model.SystemConfig, error)
|
||||
CreateSystemConfig(config *model.SystemConfig) error
|
||||
UpdateSystemConfig(id string, config *model.SystemConfig) error
|
||||
InitDefaultMenus() error
|
||||
}
|
||||
|
||||
type systemService struct {
|
||||
repo repository.ResumeRepository
|
||||
}
|
||||
|
||||
func NewSystemService(repo repository.ResumeRepository) SystemService {
|
||||
return &systemService{repo: repo}
|
||||
}
|
||||
|
||||
func (s *systemService) GetAllMenus() ([]*model.Menu, error) {
|
||||
return s.repo.GetAllMenus()
|
||||
}
|
||||
|
||||
func (s *systemService) CreateMenu(menu *model.Menu) error {
|
||||
if menu.ID == "" {
|
||||
menu.ID = uuid.New().String()
|
||||
}
|
||||
return s.repo.CreateMenu(menu)
|
||||
}
|
||||
|
||||
func (s *systemService) UpdateMenu(id string, menu *model.Menu) error {
|
||||
return s.repo.UpdateMenu(id, menu)
|
||||
}
|
||||
|
||||
func (s *systemService) DeleteMenu(id string) error {
|
||||
return s.repo.DeleteMenu(id)
|
||||
}
|
||||
|
||||
func (s *systemService) GetSystemConfig() (*model.SystemConfig, error) {
|
||||
return s.repo.GetSystemConfig()
|
||||
}
|
||||
|
||||
func (s *systemService) CreateSystemConfig(config *model.SystemConfig) error {
|
||||
if config.ID == "" {
|
||||
config.ID = "default"
|
||||
}
|
||||
return s.repo.CreateSystemConfig(config)
|
||||
}
|
||||
|
||||
func (s *systemService) UpdateSystemConfig(id string, config *model.SystemConfig) error {
|
||||
return s.repo.UpdateSystemConfig(id, config)
|
||||
}
|
||||
|
||||
func (s *systemService) InitDefaultMenus() error {
|
||||
menus, err := s.repo.GetAllMenus()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(menus) > 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
defaultMenus := []*model.Menu{
|
||||
{ID: "menu-user", Name: "人员管理", Icon: "fas fa-users", Path: "user", ParentID: "", SortOrder: 1, IsFixed: true, IsEnabled: true},
|
||||
{ID: "menu-menu", Name: "菜单管理", Icon: "fas fa-list", Path: "menu", ParentID: "", SortOrder: 2, IsFixed: true, IsEnabled: true},
|
||||
{ID: "menu-settings", Name: "系统设置", Icon: "fas fa-cog", Path: "settings", ParentID: "", SortOrder: 3, IsFixed: true, IsEnabled: true},
|
||||
}
|
||||
|
||||
for _, menu := range defaultMenus {
|
||||
if err := s.repo.CreateMenu(menu); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user