biz_service.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package service
  2. import (
  3. "xps/datamodel"
  4. "xps/datasource"
  5. "xps/repositories"
  6. "xps/viewmodel"
  7. )
  8. type BizService interface {
  9. GetList(m map[string]interface{}) ([]viewmodel.BizInfo, error)
  10. GetTreeData() ([]viewmodel.BizTreeInfo, error)
  11. GetPage(m map[string]interface{}) (*viewmodel.PageResult, error)
  12. GetById(bizId int64) (*viewmodel.BizInfo, error)
  13. Create(d *datamodel.Biz) error
  14. Update(d *datamodel.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() ([]viewmodel.BizTreeInfo, 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([]viewmodel.BizTreeInfo, 0)
  37. for _, biz := range bizArr {
  38. bizData := viewmodel.BizTreeInfo{}
  39. bizId := biz.BizId
  40. treeNodes := make([]viewmodel.BizTreeNodeInfo, 0)
  41. for _, object := range bizObjectArr {
  42. if object.BizId == bizId {
  43. treeNode := viewmodel.BizTreeNodeInfo{
  44. Label: object.ObjectTitle,
  45. Value: object.ObjectId,
  46. IsLeaf: 1,
  47. ObjectId: object.ObjectId,
  48. ObjectType: object.ObjectType,
  49. ObjectTitle: object.ObjectTitle,
  50. ObjectCode: object.ObjectCode,
  51. IsFixed: object.IsFixed,
  52. Comment: object.Comment,
  53. }
  54. treeNodes = append(treeNodes, treeNode)
  55. }
  56. }
  57. bizData.Label = biz.BizTitle
  58. bizData.Value = bizId
  59. bizData.IsLeaf = 0
  60. bizData.BizId = bizId
  61. bizData.BizTitle = biz.BizTitle
  62. bizData.BizDesc = biz.BizDesc
  63. bizData.Children = treeNodes
  64. bizDataArr = append(bizDataArr, bizData)
  65. }
  66. return bizDataArr, nil
  67. }
  68. func (s *bizService) GetList(m map[string]interface{}) ([]viewmodel.BizInfo, error) {
  69. return s.bizRepo.GetList(m)
  70. }
  71. func (s *bizService) GetPage(m map[string]interface{}) (*viewmodel.PageResult, error) {
  72. return s.bizRepo.GetPage(m)
  73. }
  74. func (s *bizService) GetById(bizId int64) (*viewmodel.BizInfo, error) {
  75. return s.bizRepo.GetById(bizId)
  76. }
  77. func (s *bizService) Create(m *datamodel.Biz) error {
  78. m.BizId = NewID()
  79. return s.bizRepo.Create(m)
  80. }
  81. func (s *bizService) Update(m *datamodel.Biz) error {
  82. return s.bizRepo.Update(m)
  83. }
  84. func (s *bizService) Delete(m map[string]interface{}) error {
  85. return s.bizRepo.Delete(m)
  86. }