cache_erp.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package svc
  2. import (
  3. "context"
  4. "git.i2edu.net/i2/i2-bill-erp/transform"
  5. "time"
  6. )
  7. func (svc *ServiceContext) GetErpOrganSchool(ctx context.Context) ([]*transform.OrganSchool, error) {
  8. var schools = new([]*transform.OrganSchool)
  9. if err := svc.RdCli.GetCache(cacheErpSchool, schools); err != nil {
  10. res, err := svc.Transformer.GetErpSchool(ctx, &transform.Empty{})
  11. if err != nil {
  12. return nil, err
  13. }
  14. err = svc.RdCli.SetWithExpire(cacheErpSchool, res.School, time.Hour)
  15. if err != nil {
  16. return nil, err
  17. }
  18. return res.School, nil
  19. }
  20. return *schools, nil
  21. }
  22. func (svc *ServiceContext) GetErpOrganSchoolTree(ctx context.Context) ([]*transform.TreeNode, error) {
  23. var nodes = new([]*transform.TreeNode)
  24. if err := svc.RdCli.GetCache(cacheErpSchoolTree, nodes); err != nil {
  25. res, err := svc.Transformer.GetErpOrganSchTree(ctx, &transform.Empty{})
  26. if err != nil {
  27. return nil, err
  28. }
  29. err = svc.RdCli.SetWithExpire(cacheErpSchoolTree, res.Nodes, time.Hour)
  30. if err != nil {
  31. return nil, err
  32. }
  33. return res.Nodes, nil
  34. }
  35. return *nodes, nil
  36. }
  37. func (svc *ServiceContext) GetErpNetworkDetailTree(ctx context.Context) ([]*transform.TreeNode, error) {
  38. var nodes = new([]*transform.TreeNode)
  39. if err := svc.RdCli.GetCache(cacheErpNetworkDetailTree, nodes); err != nil {
  40. res, err := svc.Transformer.GetErpMktNetWorkDetailTree(ctx, &transform.Empty{})
  41. if err != nil {
  42. return nil, err
  43. }
  44. err = svc.RdCli.SetWithExpire(cacheErpNetworkDetailTree, res.Nodes, time.Hour)
  45. if err != nil {
  46. return nil, err
  47. }
  48. return res.Nodes, nil
  49. }
  50. return *nodes, nil
  51. }
  52. func (svc *ServiceContext) GetErpActivity(ctx context.Context) ([]*transform.Active, error) {
  53. var actives = new([]*transform.Active)
  54. if err := svc.RdCli.GetCache(cacheErpActivity, actives); err != nil {
  55. res, err := svc.Transformer.GetErpActive(ctx, &transform.GetErpActiveReq{})
  56. if err != nil {
  57. return nil, err
  58. }
  59. err = svc.RdCli.SetWithExpire(cacheErpSchool, res.Active, time.Hour)
  60. if err != nil {
  61. return nil, err
  62. }
  63. return res.Active, nil
  64. }
  65. return *actives, nil
  66. }
  67. func (svc *ServiceContext) GetErpCity(ctx context.Context) ([]*transform.TreeNode, error) {
  68. var nodes = new([]*transform.TreeNode)
  69. if err := svc.RdCli.GetCache(cacheErpCityTree, nodes); err != nil {
  70. res, err := svc.Transformer.GetErpCityTree(ctx, &transform.Empty{})
  71. if err != nil {
  72. return nil, err
  73. }
  74. err = svc.RdCli.SetWithExpire(cacheErpCityTree, res.Nodes, time.Hour)
  75. if err != nil {
  76. return nil, err
  77. }
  78. return res.Nodes, nil
  79. }
  80. return *nodes, nil
  81. }