model_object_service.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package service
  2. import (
  3. "xps/cmd/datasource"
  4. "xps/pkg/common"
  5. "xps/pkg/model/datamodel"
  6. "xps/pkg/model/repository"
  7. "xps/pkg/model/viewmodel"
  8. )
  9. type ModelObjectService interface {
  10. GetList(m map[string]interface{}) ([]viewmodel.ModelObjectInfo, error)
  11. GetPage(m map[string]interface{}) (*common.PageResult, error)
  12. GetById(modelId, objectId int64) (*viewmodel.ModelObjectInfo, error)
  13. GetListById(modelId int64) ([]viewmodel.ModelObjectInfo, error)
  14. Create(o *datamodel.ModelObject) error
  15. Update(o *datamodel.ModelObject) error
  16. Delete(m map[string]interface{}) error
  17. Select(modelId, bizId, objectId int64) ([]viewmodel.ModelObjectInfo, error)
  18. }
  19. type modelObjectService struct {
  20. modelObjectRepo *repository.ModelObjectRepo
  21. modelObjectAttrRepo *repository.ModelObjectAttrRepo
  22. }
  23. func NewModelObjectService() ModelObjectService {
  24. return &modelObjectService{
  25. modelObjectRepo: repository.NewModelObjectRepo(datasource.InstanceMaster()),
  26. modelObjectAttrRepo: repository.NewModelObjectAttrRepo(datasource.InstanceMaster()),
  27. }
  28. }
  29. func (s *modelObjectService) GetList(m map[string]interface{}) ([]viewmodel.ModelObjectInfo, error) {
  30. return s.modelObjectRepo.GetList(m)
  31. }
  32. func (s *modelObjectService) GetListById(modelId int64) ([]viewmodel.ModelObjectInfo, error) {
  33. return s.modelObjectRepo.GetListById(modelId)
  34. }
  35. func (s *modelObjectService) Select(modelId, targetBizId, targetObjectId int64) ([]viewmodel.ModelObjectInfo, error) {
  36. return s.modelObjectRepo.SelectForBizObjectMapping(modelId, targetBizId, targetObjectId)
  37. }
  38. func (s *modelObjectService) GetPage(m map[string]interface{}) (*common.PageResult, error) {
  39. return s.modelObjectRepo.GetPage(m)
  40. }
  41. func (s *modelObjectService) GetById(modelId, objectId int64) (*viewmodel.ModelObjectInfo, error) {
  42. return s.modelObjectRepo.GetById(modelId, objectId)
  43. }
  44. func (s *modelObjectService) Create(o *datamodel.ModelObject) error {
  45. objectId := NewID()
  46. o.ObjectId = objectId
  47. return s.modelObjectRepo.Create(o)
  48. }
  49. func (s *modelObjectService) Update(o *datamodel.ModelObject) error {
  50. return s.modelObjectRepo.Update(o)
  51. }
  52. func (s *modelObjectService) Delete(m map[string]interface{}) error {
  53. modelId := m["modelId"].(int64)
  54. objectId := m["objectId"].(int64)
  55. err := s.modelObjectRepo.Delete(m)
  56. if err != nil {
  57. return err
  58. }
  59. return s.modelObjectAttrRepo.DeleteByObjectId(modelId, objectId)
  60. }