get_erp_mkt_net_work_detail_tree_logic.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package logic
  2. import (
  3. "context"
  4. "git.i2edu.net/i2/i2-bill-erp/model"
  5. "git.i2edu.net/i2/i2-bill-erp/utils"
  6. "git.i2edu.net/i2/i2-bill-erp/internal/svc"
  7. "git.i2edu.net/i2/i2-bill-erp/transform"
  8. "git.i2edu.net/i2/go-zero/core/logx"
  9. )
  10. type GetErpMktNetWorkDetailTreeLogic struct {
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. logx.Logger
  14. }
  15. func NewGetErpMktNetWorkDetailTreeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetErpMktNetWorkDetailTreeLogic {
  16. return &GetErpMktNetWorkDetailTreeLogic{
  17. ctx: ctx,
  18. svcCtx: svcCtx,
  19. Logger: logx.WithContext(ctx),
  20. }
  21. }
  22. func (l *GetErpMktNetWorkDetailTreeLogic) GetErpMktNetWorkDetailTree(in *transform.Empty) (*transform.TreeNodes, error) {
  23. // todo: add your logic here and delete this line
  24. var nodes = new([]*transform.TreeNode)
  25. var networks = new([]model.MktNetworkDetail)
  26. sql := `select
  27. *
  28. from
  29. mkt_network_detail
  30. where
  31. mkt_network_detail.del_flag = 0
  32. and id>=1000
  33. and (id in (1001,1002,1003,1004,1005) or !ISNULL(mkt_network_detail.parent))
  34. `
  35. err := l.svcCtx.SqlConn.QueryRows(networks, sql)
  36. for _, newwork := range *networks {
  37. node := new(transform.TreeNode)
  38. node.Id = newwork.Id
  39. node.Parent = newwork.Parent.Int64
  40. node.Text = newwork.Name.String
  41. *nodes = append(*nodes, node)
  42. }
  43. if err != nil {
  44. return nil, err
  45. }
  46. res, err := utils.BuildTree(nodes)
  47. return &transform.TreeNodes{Nodes: res}, err
  48. }