| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package logic
- import (
- "context"
- "git.i2edu.net/i2/go-zero/core/logx"
- "git.i2edu.net/i2/i2-bill-erp/internal/svc"
- "git.i2edu.net/i2/i2-bill-erp/transform"
- "git.i2edu.net/i2/i2-bill-erp/utils"
- )
- type GetErpCityTreeLogic struct {
- ctx context.Context
- svcCtx *svc.ServiceContext
- logx.Logger
- }
- func NewGetErpCityTreeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetErpCityTreeLogic {
- return &GetErpCityTreeLogic{
- ctx: ctx,
- svcCtx: svcCtx,
- Logger: logx.WithContext(ctx),
- }
- }
- func (l *GetErpCityTreeLogic) GetErpCityTree() (*transform.TreeNodes, error) {
- var nodes = new([]*transform.TreeNode)
- sql := `select
- base_organ.id,
- base_organ.name,
- CASE WHEN base_organ.parent != 0 THEN base_organ.parent END parent
- from
- base_organ
- where
- base_organ.del_flag = 0
- group by base_organ.id`
- err := l.svcCtx.SqlConn.QueryRows(nodes, sql)
- if err != nil {
- return nil, err
- }
- res, err := utils.BuildTree(nodes)
- return &transform.TreeNodes{Nodes: res}, err
- }
|