package service import ( "xps/cmd/datasource" "xps/pkg/model/datamodel" "xps/pkg/model/repository" "xps/pkg/model/viewmodel" ) type ModelObjectOAMService interface { GetList(m map[string]interface{}) ([]viewmodel.ModelObjectOAMInfo, error) GetListById(modelId, objectId int64) ([]viewmodel.ModelObjectOAMInfo, error) GetById(modelId, objectId, oamId int64) (*viewmodel.ModelObjectOAMInfo, error) Create(d *datamodel.ModelObjectOAM) error Update(d *datamodel.ModelObjectOAM) error Delete(m map[string]interface{}) error } type modelObjectOAMService struct { repo *repository.ModelObjectOAMRepo } func NewModelObjectOAMService() ModelObjectOAMService { return &modelObjectOAMService{ repo: repository.NewModelObjectOAMRepo(datasource.InstanceMaster()), } } func (s *modelObjectOAMService) GetList(m map[string]interface{}) ([]viewmodel.ModelObjectOAMInfo, error) { return s.repo.GetList(m) } func (s *modelObjectOAMService) GetListById(modelId, objectId int64) ([]viewmodel.ModelObjectOAMInfo, error) { return s.repo.GetListById(modelId, objectId) } func (s *modelObjectOAMService) GetById(modelId, objectId, oamId int64) (*viewmodel.ModelObjectOAMInfo, error) { return s.repo.GetById(modelId, objectId, oamId) } func (s *modelObjectOAMService) Create(o *datamodel.ModelObjectOAM) error { oamId := NewID() o.OamId = oamId return s.repo.Create(o) } func (s *modelObjectOAMService) Update(o *datamodel.ModelObjectOAM) error { return s.repo.Update(o) } func (s *modelObjectOAMService) Delete(m map[string]interface{}) error { return s.repo.Delete(m) }