| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package service
- import (
- "xps/datamodels"
- "xps/datasource"
- "xps/repositories"
- "xps/viewmodels"
- )
- 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
- Update(d *datamodels.Model) error
- Delete(m map[string]interface{}) error
- }
- type modelService struct {
- modelRepo *repositories.ModelRepo
- objectRepo *repositories.ModelObjectRepo
- }
- func NewModelService() ModelService {
- return &modelService{
- modelRepo: repositories.NewModelRepo(datasource.InstanceMaster()),
- objectRepo: repositories.NewModelObjectRepo(datasource.InstanceMaster()),
- }
- }
- func (s *modelService) GetList(m map[string]interface{}) ([]viewmodels.ModelInfo, error) {
- 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.modelRepo.GetPage(m)
- }
- func (s *modelService) GetById(modelId int64) (*viewmodels.ModelInfo, error) {
- return s.modelRepo.GetById(modelId)
- }
- func (s *modelService) Create(m *datamodels.Model) error {
- m.ModelId = NewID()
- return s.modelRepo.Create(m)
- }
- func (s *modelService) Update(m *datamodels.Model) error {
- return s.modelRepo.Update(m)
- }
- func (s *modelService) Delete(m map[string]interface{}) error {
- return s.modelRepo.Delete(m)
- }
|