| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package service
- import (
- "xps/datamodel"
- "xps/datasource"
- "xps/repositories"
- "xps/viewmodel"
- )
- type ModelService interface {
- GetList(m map[string]interface{}) ([]viewmodel.ModelInfo, error)
- GetTreeData() ([]viewmodel.ModelTreeInfo, error)
- GetPage(m map[string]interface{}) (*viewmodel.PageResult, error)
- GetById(modelId int64) (*viewmodel.ModelInfo, error)
- Create(d *datamodel.Model) error
- Update(d *datamodel.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{}) ([]viewmodel.ModelInfo, error) {
- return s.modelRepo.GetList(m)
- }
- func (s *modelService) GetTreeData() ([]viewmodel.ModelTreeInfo, 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([]viewmodel.ModelTreeInfo, 0)
- for _, model := range modelArr {
-
- modelTreeData := viewmodel.ModelTreeInfo{}
- modelId := model.ModelId
- children := make([]viewmodel.ModelTreeNodeInfo, 0)
- for _, object := range objectArr {
- if object.ModelId == modelId {
- treeNode := viewmodel.ModelTreeNodeInfo{
- Label: object.ObjectTitle,
- Value: object.ObjectId,
- IsLeaf: 1,
- ObjectId: object.ObjectId,
- ObjectType: object.ObjectType,
- ObjectTitle: object.ObjectTitle,
- ObjectCode: object.ObjectCode,
- IsFixed: object.IsFixed,
- Comment: object.Comment,
- }
- children = append(children, treeNode)
- }
- }
- modelTreeData.Label = model.ModelTitle
- modelTreeData.Value = model.ModelId
- modelTreeData.IsLeaf = 0
- modelTreeData.ModelId = modelId
- modelTreeData.ModelTitle = model.ModelTitle
- modelTreeData.ModelDesc = model.ModelDesc
- modelTreeData.Children = children
- modelDataArr = append(modelDataArr, modelTreeData)
- }
-
- return modelDataArr, nil
- }
- func (s *modelService) GetPage(m map[string]interface{}) (*viewmodel.PageResult, error) {
- return s.modelRepo.GetPage(m)
- }
- func (s *modelService) GetById(modelId int64) (*viewmodel.ModelInfo, error) {
- return s.modelRepo.GetById(modelId)
- }
- func (s *modelService) Create(m *datamodel.Model) error {
- m.ModelId = NewID()
- return s.modelRepo.Create(m)
- }
- func (s *modelService) Update(m *datamodel.Model) error {
- return s.modelRepo.Update(m)
- }
- func (s *modelService) Delete(m map[string]interface{}) error {
- return s.modelRepo.Delete(m)
- }
|