forked from Cepave/open-falcon-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
location.go
64 lines (55 loc) · 1.35 KB
/
location.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package restful
import (
"net/http"
"strconv"
commonOwlDb "github.com/Cepave/open-falcon-backend/common/db/owl"
commonGin "github.com/Cepave/open-falcon-backend/common/gin"
"github.com/Cepave/open-falcon-backend/common/gin/mvc"
"github.com/gin-gonic/gin"
)
func listProvinces(c *gin.Context) {
var provinceName string
if v, ok := c.GetQuery("name"); ok {
provinceName = v
}
provinces := commonOwlDb.GetProvincesByName(provinceName)
c.JSON(http.StatusOK, provinces)
}
func getProvinceByID(
p *struct {
ProvinceID int16 `mvc:"param[province_id]"`
},
) mvc.OutputBody {
return mvc.JsonOutputOrNotFound(
commonOwlDb.GetProvinceById(p.ProvinceID),
)
}
func listCities(c *gin.Context) {
var cityName string
if v, ok := c.GetQuery("name"); ok {
cityName = v
}
cities := commonOwlDb.GetCitiesByName(cityName)
c.JSON(http.StatusOK, cities)
}
func getCityByID(
p *struct {
CityID int16 `mvc:"param[city_id]"`
},
) mvc.OutputBody {
return mvc.JsonOutputOrNotFound(
commonOwlDb.GetCityById(p.CityID),
)
}
func listCitiesInProvince(c *gin.Context) {
var cityName string
if v, ok := c.GetQuery("name"); ok {
cityName = v
}
provinceId, err := strconv.Atoi(c.Param("province_id"))
if err != nil {
commonGin.OutputJsonIfNotNil(c, nil)
}
cities := commonOwlDb.GetCitiesInProvinceByName(provinceId, cityName)
c.JSON(http.StatusOK, cities)
}