You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.8 KiB
86 lines
1.8 KiB
package service |
|
|
|
import ( |
|
"context" |
|
http "go-common/app/interface/bbq/app-bbq/api/http/v1" |
|
"go-common/app/interface/bbq/app-bbq/model" |
|
) |
|
|
|
// GetLocaitonAll . |
|
func (s *Service) GetLocaitonAll(c context.Context, arg *http.LocationRequest) (*http.LocationResponse, error) { |
|
result := &http.LocationResponse{} |
|
m, err := s.dao.GetLocationAll(c) |
|
if err != nil { |
|
return result, err |
|
} |
|
|
|
var coutries []*model.Location |
|
for _, item := range (*m)[arg.PID] { |
|
coutry := &model.Location{ |
|
ID: item.ID, |
|
PID: item.PID, |
|
Name: item.Name, |
|
} |
|
var provices []*model.Location |
|
for _, v := range (*m)[item.ID] { |
|
provice := &model.Location{ |
|
ID: v.ID, |
|
PID: v.PID, |
|
Name: v.Name, |
|
} |
|
var citys []*model.Location |
|
for _, u := range (*m)[v.ID] { |
|
city := &model.Location{ |
|
ID: u.ID, |
|
PID: u.PID, |
|
Name: u.Name, |
|
} |
|
var area []*model.Location |
|
for _, w := range (*m)[u.ID] { |
|
var child []*model.Location |
|
area = append(area, &model.Location{ |
|
ID: w.ID, |
|
PID: w.PID, |
|
Name: w.Name, |
|
Child: child, |
|
}) |
|
} |
|
city.Child = area |
|
citys = append(citys, city) |
|
} |
|
provice.Child = citys |
|
provices = append(provices, provice) |
|
} |
|
coutry.Child = provices |
|
coutries = append(coutries, coutry) |
|
} |
|
|
|
result.List = coutries |
|
|
|
return result, err |
|
} |
|
|
|
// GetLocationChild . |
|
func (s *Service) GetLocationChild(c context.Context, arg *http.LocationRequest) (*http.LocationResponse, error) { |
|
result := &http.LocationResponse{} |
|
m, err := s.dao.GetLocationChild(c, arg.PID) |
|
if err != nil { |
|
return result, err |
|
} |
|
|
|
var provices []*model.Location |
|
for _, v := range (*m)[arg.PID] { |
|
var child []*model.Location |
|
provice := &model.Location{ |
|
ID: v.ID, |
|
PID: v.PID, |
|
Name: v.Name, |
|
Child: child, |
|
} |
|
provices = append(provices, provice) |
|
} |
|
|
|
result.List = provices |
|
|
|
return result, err |
|
}
|
|
|