cache_erp.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package svc
  2. import (
  3. "context"
  4. "git.i2edu.net/i2/i2-bill-erp/transform"
  5. "time"
  6. )
  7. func (svc *ServiceContext) GetErpOrganSchool() ([]*transform.OrganSchool, error) {
  8. var schools []*transform.OrganSchool
  9. if err := svc.RdCli.GetCache(cacheErpSchool, schools); err != nil {
  10. res, err := svc.Transformer.GetErpSchool(context.Background(), &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() ([]*transform.TreeNode, error) {
  23. var nodes []*transform.TreeNode
  24. if err := svc.RdCli.GetCache(cacheErpSchoolTree, nodes); err != nil {
  25. res, err := svc.Transformer.GetErpOrganSchTree(context.Background(), &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() ([]*transform.TreeNode, error) {
  38. var nodes []*transform.TreeNode
  39. if err := svc.RdCli.GetCache(cacheErpNetworkDetailTree, nodes); err != nil {
  40. res, err := svc.Transformer.GetErpMktNetWorkDetailTree(context.Background(), &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() ([]*transform.Active, error) {
  53. var actives []*transform.Active
  54. if err := svc.RdCli.GetCache(cacheErpActivity, actives); err != nil {
  55. res, err := svc.Transformer.GetErpActive(context.Background(), &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. }