From 2be1c7b71da3d75344cbbc8929ed1c2b1340eed1 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 21 Aug 2019 18:21:07 +0800 Subject: [PATCH] =?UTF-8?q?-=20GetStores=E6=B7=BB=E5=8A=A0=E5=8F=82?= =?UTF-8?q?=E6=95=B0:startStoreID,=20coordinateType=E3=80=82=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E6=B7=BB=E5=8A=A0provinceName=E7=9C=81?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 18 ++++++++++++++++-- controllers/cms_store.go | 2 ++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 43921ad93..5c53f8d26 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -13,6 +13,7 @@ import ( "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/authz" + "git.rosy.net.cn/baseapi/platformapi/autonavi" "git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/baseapi/utils" @@ -41,6 +42,7 @@ type StoreExt struct { model.Store FloatLng float64 `json:"lng"` FloatLat float64 `json:"lat"` + ProvinceName string `json:"provinceName"` CityName string `json:"cityName"` DistrictName string `json:"districtName"` StoreMapStr string `json:"-"` @@ -175,6 +177,7 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa t1.operator_role2, t1.printer_font_size, + province.name province_name, city.name city_name, district.name district_name, CONCAT('[', GROUP_CONCAT(DISTINCT CONCAT('{"vendorStoreID":"', m1.vendor_store_id, '", "vendorID":', m1.vendor_id, @@ -191,6 +194,7 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa FROM store t1 LEFT JOIN new_config bank ON bank.deleted_at = ? AND bank.type = ? AND bank.key = t1.payee_bank_code LEFT JOIN place city ON t1.city_code = city.code AND city.level = 2 + LEFT JOIN place province ON province.code = city.parent_code AND province.level = 1 LEFT JOIN place district ON t1.district_code = district.code AND district.level = 3 LEFT JOIN store_map m1 ON t1.id = m1.store_id AND m1.deleted_at = ? LEFT JOIN ebde_shops eb ON eb.col_baidu_shop_id = m1.vendor_store_id @@ -290,6 +294,10 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa sqlWhereParams = append(sqlWhereParams, storeIDs) } } + if params["startStoreID"] != nil { + sqlWhere += " AND t1.id >= ?" + sqlWhereParams = append(sqlWhereParams, params["startStoreID"]) + } if params["name"] != nil { sqlWhere += " AND t1.name LIKE ?" sqlWhereParams = append(sqlWhereParams, "%"+params["name"].(string)+"%") @@ -328,7 +336,7 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa } sql += sqlWhere + ` - GROUP BY 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 + GROUP BY 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 ORDER BY t1.id DESC /*LIMIT ? OFFSET ?*/` pageSize = jxutils.FormalizePageSize(pageSize) @@ -350,6 +358,8 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa // globals.SugarLogger.Debug(sql) var storeList []*StoreExt mapLimit := false + needConver2Baidu := int(utils.Interface2Int64WithDefault(params["coordinateType"], 0)) == model.CoordinateTypeBaiDu + if err = dao.GetRows(db, &storeList, sql, sqlParams...); err == nil { // retVal.TotalCount = dao.GetLastTotalRowCount(db) // dao.Commit(db) @@ -365,7 +375,6 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa mapRadius = params["mapRadius"].(int) } for _, v := range storeList { - globals.SugarLogger.Debug(v.StoreMapStr) valid := !mapLimit if mapLimit { valid = jxutils.EarthDistance(mapLongitude, mapLatitude, v.FloatLng, v.FloatLat)*1000 <= float64(mapRadius) @@ -394,6 +403,11 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa } retVal.Stores = retVal.Stores[offset : offset+pageSize] } + if needConver2Baidu { + for _, v := range storeList { + v.FloatLng, v.FloatLat, _ = api.AutonaviAPI.CoordinateConvert(v.FloatLng, v.FloatLat, autonavi.CoordSysBaidu) + } + } // if mapLimit { // retVal.TotalCount = len(retVal.Stores) // } diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 3e309b1bc..f7fe8d61d 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -18,6 +18,8 @@ type StoreController struct { // @Param token header string true "认证token" // @Param keyword query string false "查询关键字(可以为空,为空表示不限制)" // @Param storeID query int false "门店ID" +// @Param startStoreID query int false "起始门店ID" +// @Param coordinateType query int false "返回坐标类型,0:火星坐标,1:百度,缺省0" // @Param storeIDs query string false "门店ID列表" // @Param name query string false "门店名称(不要求完全一致)" // @Param placeID query int false "所属地点ID"