model_object_attr_service.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package service
  2. import (
  3. "errors"
  4. "xps/cache"
  5. "xps/datamodels"
  6. "xps/datasource"
  7. "xps/repositories"
  8. "xps/viewmodels"
  9. )
  10. type ModelObjectAttrService interface {
  11. GetList(m map[string]interface{}) ([]viewmodels.ModelObjectAttrInfo, error)
  12. GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
  13. GetById(modelId, objectId, attrId int64) (*viewmodels.ModelObjectAttrInfo, error)
  14. Create(d *datamodels.ModelObjectAttr) error
  15. Update(d *datamodels.ModelObjectAttr) error
  16. Delete(m map[string]interface{}) error
  17. }
  18. type modelObjectAttrService struct {
  19. repo *repositories.ModelObjectAttrRepo
  20. }
  21. func NewModelObjectAttrService() ModelObjectAttrService {
  22. return &modelObjectAttrService{
  23. repo: repositories.NewModelObjectAttrRepo(datasource.InstanceMaster()),
  24. }
  25. }
  26. func (s *modelObjectAttrService) GetList(m map[string]interface{}) ([]viewmodels.ModelObjectAttrInfo, error) {
  27. return s.repo.GetList(m)
  28. }
  29. func (s *modelObjectAttrService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
  30. return s.repo.GetPage(m)
  31. }
  32. func (s *modelObjectAttrService) GetById(modelId, objectId, attrId int64) (*viewmodels.ModelObjectAttrInfo, error) {
  33. return s.repo.GetById(modelId, objectId, attrId)
  34. }
  35. func (s *modelObjectAttrService) Create(ObjectAttr *datamodels.ModelObjectAttr) error {
  36. ObjectAttr.AttrId = NewID()
  37. return s.repo.Create(ObjectAttr)
  38. }
  39. func (s *modelObjectAttrService) Update(ObjectAttr *datamodels.ModelObjectAttr) error {
  40. return s.repo.Update(ObjectAttr)
  41. }
  42. func (s *modelObjectAttrService) Delete(m map[string]interface{}) error {
  43. return s.repo.Delete(m)
  44. }
  45. func (s *modelObjectAttrService) CacheModelObjectAttrs(modelId, objectId int64) error {
  46. attrList, err1 := s.repo.GetListById(modelId, objectId)
  47. if err1 != nil {
  48. return err1
  49. }
  50. if len(attrList) <= 0 {
  51. return errors.New("biz Object Attrs Not Exist")
  52. }
  53. objectCode := attrList[0].ObjectCode
  54. err2 := cache.SetModelObjectAttrs(objectCode, attrList)
  55. if err2 != nil {
  56. return errors.New("Redis缓存Model数据失败")
  57. }
  58. return nil
  59. }