|
|
@@ -9,6 +9,7 @@ import (
|
|
|
|
|
|
type ModelService interface {
|
|
|
GetList(m map[string]interface{}) ([]viewmodels.ModelInfo, error)
|
|
|
+ GetTreeData() ([]viewmodels.ModelDataInfo, error)
|
|
|
GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
|
|
|
GetById(modelId int64) (*viewmodels.ModelInfo, error)
|
|
|
Create(d *datamodels.Model) error
|
|
|
@@ -17,36 +18,70 @@ type ModelService interface {
|
|
|
}
|
|
|
|
|
|
type modelService struct {
|
|
|
- repo *repositories.ModelRepo
|
|
|
+ modelRepo *repositories.ModelRepo
|
|
|
+ objectRepo *repositories.ModelObjectRepo
|
|
|
}
|
|
|
|
|
|
func NewModelService() ModelService {
|
|
|
return &modelService{
|
|
|
- repo: repositories.NewModelRepo(datasource.InstanceMaster()),
|
|
|
+ modelRepo: repositories.NewModelRepo(datasource.InstanceMaster()),
|
|
|
+ objectRepo: repositories.NewModelObjectRepo(datasource.InstanceMaster()),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func (s *modelService) GetList(m map[string]interface{}) ([]viewmodels.ModelInfo, error) {
|
|
|
- return s.repo.GetList(m)
|
|
|
+ return s.modelRepo.GetList(m)
|
|
|
+}
|
|
|
+
|
|
|
+func (s *modelService) GetTreeData() ([]viewmodels.ModelDataInfo, error) {
|
|
|
+ modelArr, err1 := s.modelRepo.GetAll()
|
|
|
+ if err1 != nil {
|
|
|
+ return nil, err1
|
|
|
+ }
|
|
|
+
|
|
|
+ objectArr, err2 := s.objectRepo.GetAll()
|
|
|
+ if err2 != nil {
|
|
|
+ return nil, err2
|
|
|
+ }
|
|
|
+
|
|
|
+ modelDataArr := make([]viewmodels.ModelDataInfo, 0)
|
|
|
+ for _, model := range modelArr {
|
|
|
+
|
|
|
+ modelData := viewmodels.ModelDataInfo{}
|
|
|
+ modelId := model.ModelId
|
|
|
+ objects := make([]viewmodels.ModelObjectInfo, 0)
|
|
|
+ for _, object := range objectArr {
|
|
|
+ if object.ModelId == modelId {
|
|
|
+ objects = append(objects, object)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ modelData.ModelId = modelId
|
|
|
+ modelData.ModelTitle = model.ModelTitle
|
|
|
+ modelData.ModelDesc = model.ModelDesc
|
|
|
+ modelData.Objects = objects
|
|
|
+ modelDataArr = append(modelDataArr, modelData)
|
|
|
+ }
|
|
|
+
|
|
|
+ return modelDataArr, nil
|
|
|
}
|
|
|
|
|
|
func (s *modelService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
|
|
|
- return s.repo.GetPage(m)
|
|
|
+ return s.modelRepo.GetPage(m)
|
|
|
}
|
|
|
|
|
|
func (s *modelService) GetById(modelId int64) (*viewmodels.ModelInfo, error) {
|
|
|
- return s.repo.GetById(modelId)
|
|
|
+ return s.modelRepo.GetById(modelId)
|
|
|
}
|
|
|
|
|
|
func (s *modelService) Create(m *datamodels.Model) error {
|
|
|
m.ModelId = NewID()
|
|
|
- return s.repo.Create(m)
|
|
|
+ return s.modelRepo.Create(m)
|
|
|
}
|
|
|
|
|
|
func (s *modelService) Update(m *datamodels.Model) error {
|
|
|
- return s.repo.Update(m)
|
|
|
+ return s.modelRepo.Update(m)
|
|
|
}
|
|
|
|
|
|
func (s *modelService) Delete(m map[string]interface{}) error {
|
|
|
- return s.repo.Delete(m)
|
|
|
+ return s.modelRepo.Delete(m)
|
|
|
}
|