package logic import ( "context" "git.i2edu.net/i2/i2-bill-erp/model" "git.i2edu.net/i2/i2-bill-erp/utils" "git.i2edu.net/i2/i2-bill-erp/internal/svc" "git.i2edu.net/i2/i2-bill-erp/transform" "git.i2edu.net/i2/go-zero/core/logx" ) type GetErpMktNetWorkDetailTreeLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewGetErpMktNetWorkDetailTreeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetErpMktNetWorkDetailTreeLogic { return &GetErpMktNetWorkDetailTreeLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *GetErpMktNetWorkDetailTreeLogic) GetErpMktNetWorkDetailTree(in *transform.Empty) (*transform.TreeNodes, error) { // todo: add your logic here and delete this line var nodes = new([]*transform.TreeNode) var networks = new([]model.MktNetworkDetail) sql := `select * from mkt_network_detail where mkt_network_detail.del_flag = 0 and id>=1000 and (id in (1001,1002,1003,1004,1005) or !ISNULL(mkt_network_detail.parent)) ` err := l.svcCtx.SqlConn.QueryRows(networks, sql) for _, newwork := range *networks { node := new(transform.TreeNode) node.Id = newwork.Id node.Parent = newwork.Parent.Int64 node.Text = newwork.Name.String *nodes = append(*nodes, node) } if err != nil { return nil, err } res, err := utils.BuildTree(nodes) return &transform.TreeNodes{Nodes: res}, err }