新街口
This commit is contained in:
@@ -61,6 +61,48 @@ func (x Store4UserList) Swap(i, j int) {
|
|||||||
x[i], x[j] = x[j], x[i]
|
x[i], x[j] = x[j], x[i]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetNearSupplyGoodsStoreByStoreID(ctx *jxcontext.Context, storeID int) (store *model.Store, err error) {
|
||||||
|
var (
|
||||||
|
stores []*model.Store
|
||||||
|
db = dao.GetDB()
|
||||||
|
)
|
||||||
|
stores2, _ := dao.GetStoreList(db, []int{storeID}, nil, nil, nil, "")
|
||||||
|
store2 := stores2[0]
|
||||||
|
sql := `
|
||||||
|
SELECT a.*
|
||||||
|
FROM store a
|
||||||
|
JOIN store_map b ON b.store_id = a.id
|
||||||
|
JOIN store c ON c.city_code = a.city_code AND c.id = ?
|
||||||
|
WHERE a.deleted_at = ?
|
||||||
|
AND b.deleted_at = ?
|
||||||
|
AND b.vendor_id = ?
|
||||||
|
AND b.is_supply_goods = ?
|
||||||
|
AND a.status = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{
|
||||||
|
storeID,
|
||||||
|
utils.DefaultTimeValue, utils.DefaultTimeValue,
|
||||||
|
model.VendorIDJX, model.YES, model.StoreStatusOpened,
|
||||||
|
}
|
||||||
|
err = dao.GetRows(db, &stores, sql, sqlParams)
|
||||||
|
if len(stores) > 0 {
|
||||||
|
realDistance := float64(0)
|
||||||
|
for _, v := range stores {
|
||||||
|
distance := jxutils.EarthDistance(jxutils.IntCoordinate2Standard(v.Lng), jxutils.IntCoordinate2Standard(v.Lat), jxutils.IntCoordinate2Standard(store2.Lng), jxutils.IntCoordinate2Standard(store2.Lat))
|
||||||
|
if realDistance == 0 {
|
||||||
|
realDistance = distance
|
||||||
|
store = v
|
||||||
|
} else {
|
||||||
|
if realDistance > distance {
|
||||||
|
realDistance = distance
|
||||||
|
store = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return store, err
|
||||||
|
}
|
||||||
|
|
||||||
func GetStoreListByLocation(ctx *jxcontext.Context, lng, lat float64, maxRadius int, needWalkDistance, isJds bool) (storeList []*Store4User, err error) {
|
func GetStoreListByLocation(ctx *jxcontext.Context, lng, lat float64, maxRadius int, needWalkDistance, isJds bool) (storeList []*Store4User, err error) {
|
||||||
const (
|
const (
|
||||||
maxStoreCount4User = 5
|
maxStoreCount4User = 5
|
||||||
|
|||||||
@@ -794,3 +794,17 @@ func (c *StoreController) UpdateStorePricePack() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 根据门店获取距离最近的货源店铺
|
||||||
|
// @Description 修根据门店获取距离最近的货源店铺
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param storeID query int true "门店ID"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /GetNearSupplyGoodsStoreByStoreID [get]
|
||||||
|
func (c *StoreController) GetNearSupplyGoodsStoreByStoreID() {
|
||||||
|
c.callGetNearSupplyGoodsStoreByStoreID(func(params *tStoreGetNearSupplyGoodsStoreByStoreIDParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
retVal, err = common.GetNearSupplyGoodsStoreByStoreID(params.Ctx, params.StoreID)
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -1746,6 +1746,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "GetNearSupplyGoodsStoreByStoreID",
|
||||||
|
Router: `/GetNearSupplyGoodsStoreByStoreID`,
|
||||||
|
AllowHTTPMethods: []string{"get"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "GetStoreAlertList",
|
Method: "GetStoreAlertList",
|
||||||
|
|||||||
Reference in New Issue
Block a user