biz_service.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package service
  2. import (
  3. "xps/datamodels"
  4. "xps/datasource"
  5. "xps/repositories"
  6. "xps/viewmodels"
  7. )
  8. type BizService interface {
  9. GetList(m map[string]interface{}) ([]viewmodels.BizInfo, error)
  10. GetTreeData() ([]viewmodels.BizDataInfo, error)
  11. GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
  12. GetById(bizId int64) (*viewmodels.BizInfo, error)
  13. Create(d *datamodels.Biz) error
  14. Update(d *datamodels.Biz) error
  15. Delete(m map[string]interface{}) error
  16. }
  17. type bizService struct {
  18. bizRepo *repositories.BizRepo
  19. bizObjectRepo *repositories.BizObjectRepo
  20. }
  21. func NewBizService() BizService {
  22. return &bizService{
  23. bizRepo: repositories.NewBizRepo(datasource.InstanceMaster()),
  24. bizObjectRepo: repositories.NewBizObjectRepo(datasource.InstanceMaster()),
  25. }
  26. }
  27. func (s *bizService) GetTreeData() ([]viewmodels.BizDataInfo, error) {
  28. bizArr, err1 := s.bizRepo.GetAll()
  29. if err1 != nil {
  30. return nil, err1
  31. }
  32. bizObjectArr, err2 := s.bizObjectRepo.GetAll()
  33. if err2 != nil {
  34. return nil, err2
  35. }
  36. bizDataArr := make([]viewmodels.BizDataInfo, 0)
  37. for _, biz := range bizArr {
  38. bizData := viewmodels.BizDataInfo{}
  39. bizId := biz.BizId
  40. objects := make([]viewmodels.BizObjectInfo, 0)
  41. for _, object := range bizObjectArr {
  42. if object.BizId == bizId {
  43. objects = append(objects, object)
  44. }
  45. }
  46. bizData.BizId = bizId
  47. bizData.BizTitle = biz.BizTitle
  48. bizData.BizDesc = biz.BizDesc
  49. bizData.Objects = objects
  50. bizDataArr = append(bizDataArr, bizData)
  51. }
  52. return bizDataArr, nil
  53. }
  54. func (s *bizService) GetList(m map[string]interface{}) ([]viewmodels.BizInfo, error) {
  55. return s.bizRepo.GetList(m)
  56. }
  57. func (s *bizService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
  58. return s.bizRepo.GetPage(m)
  59. }
  60. func (s *bizService) GetById(bizId int64) (*viewmodels.BizInfo, error) {
  61. return s.bizRepo.GetById(bizId)
  62. }
  63. func (s *bizService) Create(m *datamodels.Biz) error {
  64. m.BizId = NewID()
  65. return s.bizRepo.Create(m)
  66. }
  67. func (s *bizService) Update(m *datamodels.Biz) error {
  68. return s.bizRepo.Update(m)
  69. }
  70. func (s *bizService) Delete(m map[string]interface{}) error {
  71. return s.bizRepo.Delete(m)
  72. }