biz_service.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package service
  2. import (
  3. "xps/cmd/datasource"
  4. "xps/pkg/biz/datamodel"
  5. "xps/pkg/biz/repository"
  6. "xps/pkg/biz/viewmodel"
  7. "xps/pkg/common"
  8. )
  9. type BizService interface {
  10. GetList(m map[string]interface{}) ([]viewmodel.BizInfo, error)
  11. GetTreeData() ([]viewmodel.BizTreeInfo, error)
  12. GetPage(m map[string]interface{}) (*common.PageResult, error)
  13. GetById(bizId int64) (*viewmodel.BizInfo, error)
  14. Create(d *datamodel.Biz) error
  15. Update(d *datamodel.Biz) error
  16. Delete(m map[string]interface{}) error
  17. }
  18. type bizService struct {
  19. bizRepo *repository.BizRepo
  20. bizObjectRepo *repository.BizObjectRepo
  21. }
  22. func NewBizService() BizService {
  23. return &bizService{
  24. bizRepo: repository.NewBizRepo(datasource.InstanceMaster()),
  25. bizObjectRepo: repository.NewBizObjectRepo(datasource.InstanceMaster()),
  26. }
  27. }
  28. func (s *bizService) GetTreeData() ([]viewmodel.BizTreeInfo, error) {
  29. bizArr, err1 := s.bizRepo.GetAll()
  30. if err1 != nil {
  31. return nil, err1
  32. }
  33. bizObjectArr, err2 := s.bizObjectRepo.GetAll()
  34. if err2 != nil {
  35. return nil, err2
  36. }
  37. bizDataArr := make([]viewmodel.BizTreeInfo, 0)
  38. for _, biz := range bizArr {
  39. bizData := viewmodel.BizTreeInfo{}
  40. bizId := biz.BizId
  41. treeNodes := make([]viewmodel.BizTreeNodeInfo, 0)
  42. for _, object := range bizObjectArr {
  43. if object.BizId == bizId {
  44. treeNode := viewmodel.BizTreeNodeInfo{
  45. Label: object.ObjectTitle,
  46. Value: object.ObjectId,
  47. IsLeaf: 1,
  48. ObjectId: object.ObjectId,
  49. ObjectType: object.ObjectType,
  50. ObjectTitle: object.ObjectTitle,
  51. ObjectCode: object.ObjectCode,
  52. IsFixed: object.IsFixed,
  53. Comment: object.Comment,
  54. }
  55. treeNodes = append(treeNodes, treeNode)
  56. }
  57. }
  58. bizData.Label = biz.BizTitle
  59. bizData.Value = bizId
  60. bizData.IsLeaf = 0
  61. bizData.BizId = bizId
  62. bizData.BizTitle = biz.BizTitle
  63. bizData.BizDesc = biz.BizDesc
  64. bizData.Children = treeNodes
  65. bizDataArr = append(bizDataArr, bizData)
  66. }
  67. return bizDataArr, nil
  68. }
  69. func (s *bizService) GetList(m map[string]interface{}) ([]viewmodel.BizInfo, error) {
  70. return s.bizRepo.GetList(m)
  71. }
  72. func (s *bizService) GetPage(m map[string]interface{}) (*common.PageResult, error) {
  73. return s.bizRepo.GetPage(m)
  74. }
  75. func (s *bizService) GetById(bizId int64) (*viewmodel.BizInfo, error) {
  76. return s.bizRepo.GetById(bizId)
  77. }
  78. func (s *bizService) Create(m *datamodel.Biz) error {
  79. m.BizId = NewID()
  80. return s.bizRepo.Create(m)
  81. }
  82. func (s *bizService) Update(m *datamodel.Biz) error {
  83. return s.bizRepo.Update(m)
  84. }
  85. func (s *bizService) Delete(m map[string]interface{}) error {
  86. return s.bizRepo.Delete(m)
  87. }