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