fonchain-fiee/pkg/service/address.go
2025-02-19 14:24:15 +08:00

51 lines
1.3 KiB
Go

package service
import (
"dubbo.apache.org/dubbo-go/v3/common/logger"
service "github.com/fonchain_enterprise/fonchain-main/api"
"github.com/fonchain_enterprise/fonchain-main/pkg/e"
"github.com/fonchain_enterprise/fonchain-main/pkg/serializer"
"github.com/fonchain_enterprise/fonchain-main/pkg/utils/plat"
"github.com/gin-gonic/gin"
"strings"
)
func LatLngToAddress(c *gin.Context) {
req := plat.LatLng{}
if err := c.ShouldBind(&req); err != nil {
logger.Errorf("LatLng ShouldBind err", err)
service.ResponseMsg(c, e.SUCCESS, serializer.Response{
Msg: err.Error(),
Status: e.Failed,
})
return
}
res, err := plat.ExchangeLatLngToAddress(req.Lat, req.Lng)
if err != nil {
service.ResponseMsg(c, e.SUCCESS, serializer.Response{
Msg: err.Error(),
Status: e.Ok,
})
return
}
var address []string
if res.Resp.RespCode == 0 || res.Resp.RespMsg == "ok" {
address = append(address, res.Data.Address)
if res.Data.Reference.LandmarkL1.Name != "" {
address = append(address, res.Data.Reference.LandmarkL1.Name)
}
if res.Data.Reference.LandmarkL2.Name != "" {
address = append(address, res.Data.Reference.LandmarkL2.Name)
}
}
service.ResponseMsg(c, e.SUCCESS, serializer.Response{
Data: strings.Join(address, ""),
Status: e.Ok,
})
}