package system import ( "xps/datamodels" "xps/datasource" "xps/repositories/system" "xps/viewmodels" ) type PositionService interface { GetList(m map[string]interface{}) ([]viewmodels.PositionInfo, error) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) GetById(ocId int64, positionId int64) (*viewmodels.PositionInfo, error) Create(d *datamodels.Position) error Update(d *datamodels.Position) error Delete(m map[string]interface{}) error } type positionService struct { repo *system.PositionRepo } func NewPositionService() PositionService { return &positionService{ repo: system.NewPositionRepo(datasource.InstanceMaster()), } } func (s *positionService) GetList(m map[string]interface{}) ([]viewmodels.PositionInfo, error) { return s.repo.GetList(m) } func (s *positionService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) { return s.repo.GetPage(m) } func (s *positionService) GetById(ocId int64, positionId int64) (*viewmodels.PositionInfo, error) { return s.repo.GetById(ocId, positionId) } func (s *positionService) Create(position *datamodels.Position) error { position.PositionId = NewID() return s.repo.Create(position) } func (s *positionService) Update(position *datamodels.Position) error { return s.repo.Update(position) } func (s *positionService) Delete(m map[string]interface{}) error { return s.repo.Delete(m) }