380 lines
11 KiB
Go
380 lines
11 KiB
Go
package data
|
|
|
|
import "pointly-tel/amap/model/dto"
|
|
|
|
// AllCategories 高德POI行业分类树(大类 + 中类)
|
|
var AllCategories = []*dto.Category{
|
|
{
|
|
Code: "010000", Name: "汽车服务",
|
|
Children: []*dto.Category{
|
|
{Code: "010100", Name: "加油站"},
|
|
{Code: "010200", Name: "加气站"},
|
|
{Code: "010300", Name: "充电站"},
|
|
{Code: "010400", Name: "停车场"},
|
|
{Code: "010500", Name: "洗车场"},
|
|
{Code: "010600", Name: "汽车养护"},
|
|
{Code: "010700", Name: "汽车租赁"},
|
|
{Code: "010800", Name: "汽车保险"},
|
|
{Code: "010900", Name: "汽车检测"},
|
|
{Code: "011000", Name: "汽车救援"},
|
|
{Code: "019900", Name: "其他汽车服务"},
|
|
},
|
|
},
|
|
{
|
|
Code: "020000", Name: "汽车销售",
|
|
Children: []*dto.Category{
|
|
{Code: "020100", Name: "汽车4S店"},
|
|
{Code: "020200", Name: "汽车综合店"},
|
|
{Code: "020300", Name: "二手车交易"},
|
|
{Code: "020400", Name: "汽车配件"},
|
|
{Code: "029900", Name: "其他汽车销售"},
|
|
},
|
|
},
|
|
{
|
|
Code: "030000", Name: "汽车维修",
|
|
Children: []*dto.Category{
|
|
{Code: "030100", Name: "综合维修"},
|
|
{Code: "030200", Name: "专项维修"},
|
|
{Code: "030300", Name: "快修保养"},
|
|
{Code: "039900", Name: "其他汽车维修"},
|
|
},
|
|
},
|
|
{
|
|
Code: "040000", Name: "摩托车服务",
|
|
Children: []*dto.Category{
|
|
{Code: "040100", Name: "摩托车销售"},
|
|
{Code: "040200", Name: "摩托车维修"},
|
|
{Code: "049900", Name: "其他摩托车服务"},
|
|
},
|
|
},
|
|
{
|
|
Code: "050000", Name: "餐饮服务",
|
|
Children: []*dto.Category{
|
|
{Code: "050100", Name: "中餐厅"},
|
|
{Code: "050200", Name: "外国餐厅"},
|
|
{Code: "050300", Name: "快餐厅"},
|
|
{Code: "050400", Name: "火锅店"},
|
|
{Code: "050500", Name: "烧烤店"},
|
|
{Code: "050600", Name: "海鲜餐厅"},
|
|
{Code: "050700", Name: "小吃快餐"},
|
|
{Code: "050800", Name: "蛋糕甜品"},
|
|
{Code: "050900", Name: "咖啡厅"},
|
|
{Code: "051000", Name: "茶艺馆"},
|
|
{Code: "051100", Name: "酒吧"},
|
|
{Code: "051200", Name: "食堂"},
|
|
{Code: "051300", Name: "美食城"},
|
|
{Code: "059900", Name: "其他餐饮"},
|
|
},
|
|
},
|
|
{
|
|
Code: "060000", Name: "购物服务",
|
|
Children: []*dto.Category{
|
|
{Code: "060100", Name: "购物中心"},
|
|
{Code: "060200", Name: "百货商场"},
|
|
{Code: "060300", Name: "超市"},
|
|
{Code: "060400", Name: "便利店"},
|
|
{Code: "060500", Name: "家居建材"},
|
|
{Code: "060600", Name: "数码家电"},
|
|
{Code: "060700", Name: "服装鞋帽"},
|
|
{Code: "060800", Name: "珠宝首饰"},
|
|
{Code: "060900", Name: "化妆品"},
|
|
{Code: "061000", Name: "书店"},
|
|
{Code: "061100", Name: "花店"},
|
|
{Code: "061200", Name: "母婴用品"},
|
|
{Code: "061300", Name: "药房"},
|
|
{Code: "061400", Name: "文化用品"},
|
|
{Code: "061500", Name: "体育用品"},
|
|
{Code: "061600", Name: "果蔬生鲜"},
|
|
{Code: "061700", Name: "食品烟酒"},
|
|
{Code: "061800", Name: "特产店"},
|
|
{Code: "061900", Name: "旧货市场"},
|
|
{Code: "069900", Name: "其他购物"},
|
|
},
|
|
},
|
|
{
|
|
Code: "070000", Name: "生活服务",
|
|
Children: []*dto.Category{
|
|
{Code: "070100", Name: "美容美发"},
|
|
{Code: "070200", Name: "美甲"},
|
|
{Code: "070300", Name: "洗浴按摩"},
|
|
{Code: "070400", Name: "足疗"},
|
|
{Code: "070500", Name: "SPA"},
|
|
{Code: "070600", Name: "KTV"},
|
|
{Code: "070700", Name: "电影院"},
|
|
{Code: "070800", Name: "剧院"},
|
|
{Code: "070900", Name: "网吧"},
|
|
{Code: "071000", Name: "游戏厅"},
|
|
{Code: "071100", Name: "照相馆"},
|
|
{Code: "071200", Name: "洗衣店"},
|
|
{Code: "071300", Name: "家政服务"},
|
|
{Code: "071400", Name: "婚庆服务"},
|
|
{Code: "071500", Name: "殡葬服务"},
|
|
{Code: "071600", Name: "宠物服务"},
|
|
{Code: "071700", Name: "物流快递"},
|
|
{Code: "071800", Name: "通讯营业厅"},
|
|
{Code: "071900", Name: "邮局"},
|
|
{Code: "072000", Name: "律师事务所"},
|
|
{Code: "072100", Name: "会计事务所"},
|
|
{Code: "072200", Name: "广告公司"},
|
|
{Code: "072300", Name: "地产中介"},
|
|
{Code: "072400", Name: "人才市场"},
|
|
{Code: "072500", Name: "旅行社"},
|
|
{Code: "079900", Name: "其他生活服务"},
|
|
},
|
|
},
|
|
{
|
|
Code: "080000", Name: "体育休闲服务",
|
|
Children: []*dto.Category{
|
|
{Code: "080100", Name: "健身中心"},
|
|
{Code: "080200", Name: "游泳馆"},
|
|
{Code: "080300", Name: "球场"},
|
|
{Code: "080400", Name: "滑雪场"},
|
|
{Code: "080500", Name: "溜冰场"},
|
|
{Code: "080600", Name: "瑜伽"},
|
|
{Code: "080700", Name: "台球馆"},
|
|
{Code: "080800", Name: "棋牌室"},
|
|
{Code: "080900", Name: "密室逃脱"},
|
|
{Code: "081000", Name: "游乐场"},
|
|
{Code: "081100", Name: "公园"},
|
|
{Code: "081200", Name: "钓鱼"},
|
|
{Code: "081300", Name: "射击"},
|
|
{Code: "081400", Name: "射击"},
|
|
{Code: "089900", Name: "其他体育休闲"},
|
|
},
|
|
},
|
|
{
|
|
Code: "090000", Name: "医疗保健服务",
|
|
Children: []*dto.Category{
|
|
{Code: "090100", Name: "综合医院"},
|
|
{Code: "090200", Name: "专科医院"},
|
|
{Code: "090300", Name: "诊所"},
|
|
{Code: "090400", Name: "社区卫生中心"},
|
|
{Code: "090500", Name: "药店"},
|
|
{Code: "090600", Name: "口腔医院"},
|
|
{Code: "090700", Name: "眼科"},
|
|
{Code: "090800", Name: "中医"},
|
|
{Code: "090900", Name: "宠物医院"},
|
|
{Code: "091000", Name: "体检中心"},
|
|
{Code: "091100", Name: "疾控中心"},
|
|
{Code: "099900", Name: "其他医疗保健"},
|
|
},
|
|
},
|
|
{
|
|
Code: "100000", Name: "住宿服务",
|
|
Children: []*dto.Category{
|
|
{Code: "100100", Name: "酒店"},
|
|
{Code: "100200", Name: "宾馆"},
|
|
{Code: "100300", Name: "民宿"},
|
|
{Code: "100400", Name: "青年旅社"},
|
|
{Code: "100500", Name: "公寓"},
|
|
{Code: "100600", Name: "招待所"},
|
|
{Code: "109900", Name: "其他住宿"},
|
|
},
|
|
},
|
|
{
|
|
Code: "110000", Name: "风景名胜",
|
|
Children: []*dto.Category{
|
|
{Code: "110100", Name: "公园广场"},
|
|
{Code: "110200", Name: "景点"},
|
|
{Code: "110300", Name: "博物馆"},
|
|
{Code: "110400", Name: "纪念馆"},
|
|
{Code: "110500", Name: "寺庙教堂"},
|
|
{Code: "110600", Name: "自然保护区"},
|
|
{Code: "110700", Name: "水上项目"},
|
|
{Code: "110800", Name: "海滩"},
|
|
{Code: "119900", Name: "其他风景名胜"},
|
|
},
|
|
},
|
|
{
|
|
Code: "120000", Name: "商务住宅",
|
|
Children: []*dto.Category{
|
|
{Code: "120100", Name: "商务大厦"},
|
|
{Code: "120200", Name: "写字楼"},
|
|
{Code: "120300", Name: "产业园区"},
|
|
{Code: "120400", Name: "住宅小区"},
|
|
{Code: "120500", Name: "别墅"},
|
|
{Code: "120600", Name: "社区中心"},
|
|
{Code: "129900", Name: "其他商务住宅"},
|
|
},
|
|
},
|
|
{
|
|
Code: "130000", Name: "政府机构及社会团体",
|
|
Children: []*dto.Category{
|
|
{Code: "130100", Name: "政府机关"},
|
|
{Code: "130200", Name: "行政中心"},
|
|
{Code: "130300", Name: "公安"},
|
|
{Code: "130400", Name: "法院"},
|
|
{Code: "130500", Name: "检察院"},
|
|
{Code: "130600", Name: "消防"},
|
|
{Code: "130700", Name: "工商局"},
|
|
{Code: "130800", Name: "税务局"},
|
|
{Code: "130900", Name: "海关"},
|
|
{Code: "131000", Name: "社会团体"},
|
|
{Code: "131100", Name: "街道办"},
|
|
{Code: "131200", Name: "居委会"},
|
|
{Code: "139900", Name: "其他政府"},
|
|
},
|
|
},
|
|
{
|
|
Code: "140000", Name: "科教文化服务",
|
|
Children: []*dto.Category{
|
|
{Code: "140100", Name: "大学"},
|
|
{Code: "140200", Name: "中学"},
|
|
{Code: "140300", Name: "小学"},
|
|
{Code: "140400", Name: "幼儿园"},
|
|
{Code: "140500", Name: "培训机构"},
|
|
{Code: "140600", Name: "图书馆"},
|
|
{Code: "140700", Name: "文化馆"},
|
|
{Code: "140800", Name: "科技馆"},
|
|
{Code: "140900", Name: "美术馆"},
|
|
{Code: "141000", Name: "展览馆"},
|
|
{Code: "141100", Name: "科研机构"},
|
|
{Code: "149900", Name: "其他科教文化"},
|
|
},
|
|
},
|
|
{
|
|
Code: "150000", Name: "交通设施服务",
|
|
Children: []*dto.Category{
|
|
{Code: "150100", Name: "机场"},
|
|
{Code: "150200", Name: "火车站"},
|
|
{Code: "150300", Name: "地铁站"},
|
|
{Code: "150400", Name: "公交站"},
|
|
{Code: "150500", Name: "长途汽车站"},
|
|
{Code: "150600", Name: "码头"},
|
|
{Code: "150700", Name: "服务区"},
|
|
{Code: "150800", Name: "收费站"},
|
|
{Code: "150900", Name: "停车场"},
|
|
{Code: "159900", Name: "其他交通设施"},
|
|
},
|
|
},
|
|
{
|
|
Code: "160000", Name: "金融保险服务",
|
|
Children: []*dto.Category{
|
|
{Code: "160100", Name: "银行"},
|
|
{Code: "160200", Name: "ATM"},
|
|
{Code: "160300", Name: "证券公司"},
|
|
{Code: "160400", Name: "保险公司"},
|
|
{Code: "160500", Name: "信托公司"},
|
|
{Code: "160600", Name: "典当行"},
|
|
{Code: "169900", Name: "其他金融"},
|
|
},
|
|
},
|
|
{
|
|
Code: "170000", Name: "公司企业",
|
|
Children: []*dto.Category{
|
|
{Code: "170100", Name: "工厂"},
|
|
{Code: "170200", Name: "公司"},
|
|
{Code: "170300", Name: "园区"},
|
|
{Code: "170400", Name: "农林牧渔基地"},
|
|
{Code: "179900", Name: "其他企业"},
|
|
},
|
|
},
|
|
{
|
|
Code: "180000", Name: "道路附属设施",
|
|
Children: []*dto.Category{
|
|
{Code: "180100", Name: "高速服务区"},
|
|
{Code: "180200", Name: "高速收费站"},
|
|
{Code: "180300", Name: "路侧标志"},
|
|
{Code: "180400", Name: "路侧设施"},
|
|
{Code: "189900", Name: "其他道路附属"},
|
|
},
|
|
},
|
|
{
|
|
Code: "190000", Name: "地名地址信息",
|
|
Children: []*dto.Category{
|
|
{Code: "190100", Name: "行政区划"},
|
|
{Code: "190200", Name: "街道"},
|
|
{Code: "190300", Name: "门牌号"},
|
|
{Code: "190400", Name: "地标"},
|
|
{Code: "190500", Name: "自然地名"},
|
|
{Code: "199900", Name: "其他地名地址"},
|
|
},
|
|
},
|
|
{
|
|
Code: "200000", Name: "公共设施",
|
|
Children: []*dto.Category{
|
|
{Code: "200100", Name: "公共厕所"},
|
|
{Code: "200200", Name: "公用电话"},
|
|
{Code: "200300", Name: "紧急避难所"},
|
|
{Code: "200400", Name: "报刊亭"},
|
|
{Code: "209900", Name: "其他公共设施"},
|
|
},
|
|
},
|
|
{
|
|
Code: "210000", Name: "事件活动",
|
|
Children: []*dto.Category{
|
|
{Code: "210100", Name: "展会"},
|
|
{Code: "210200", Name: "赛事"},
|
|
{Code: "210300", Name: "演出"},
|
|
{Code: "219900", Name: "其他事件活动"},
|
|
},
|
|
},
|
|
{
|
|
Code: "220000", Name: "室内设施",
|
|
Children: []*dto.Category{
|
|
{Code: "220100", Name: "室内车位"},
|
|
{Code: "220200", Name: "室内商铺"},
|
|
{Code: "229900", Name: "其他室内设施"},
|
|
},
|
|
},
|
|
{
|
|
Code: "230000", Name: "通行设施",
|
|
Children: []*dto.Category{
|
|
{Code: "230100", Name: "高速出入口"},
|
|
{Code: "230200", Name: "桥梁"},
|
|
{Code: "230300", Name: "隧道"},
|
|
{Code: "230400", Name: "环岛"},
|
|
{Code: "239900", Name: "其他通行设施"},
|
|
},
|
|
},
|
|
}
|
|
|
|
// GetChildren 获取指定分类的子分类列表
|
|
func GetChildren(code string) []*dto.Category {
|
|
for _, c := range AllCategories {
|
|
if c.Code == code {
|
|
return c.Children
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetLeafCodes 获取指定分类下的所有叶子节点编码(中类)
|
|
func GetLeafCodes(code string) []string {
|
|
if code == "" {
|
|
// 返回所有中类编码
|
|
var codes []string
|
|
for _, c := range AllCategories {
|
|
for _, child := range c.Children {
|
|
codes = append(codes, child.Code)
|
|
}
|
|
}
|
|
return codes
|
|
}
|
|
|
|
// 查找匹配的大类
|
|
for _, c := range AllCategories {
|
|
if c.Code == code {
|
|
var codes []string
|
|
for _, child := range c.Children {
|
|
codes = append(codes, child.Code)
|
|
}
|
|
return codes
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// IsLeafCode 判断是否为中类编码(叶子节点)
|
|
func IsLeafCode(code string) bool {
|
|
for _, c := range AllCategories {
|
|
for _, child := range c.Children {
|
|
if child.Code == code {
|
|
return true
|
|
}
|
|
}
|
|
}
|
|
return false
|
|
}
|