From f1fbcf6366f40b113f50c00369e56da9cba34316 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 11 Sep 2019 10:14:40 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E9=AB=98=E5=BE=B7API=E7=9A=84KEY=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=85=AC=E5=8F=B8=E8=AE=A4=E8=AF=81=E7=9A=84KEY?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E8=AE=BF=E9=97=AE=E9=87=8F=E6=9B=B4=E5=A4=A7?= =?UTF-8?q?=20-=20=E6=8B=89=E5=8F=96=E9=97=A8=E5=BA=97=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=97=B6=E8=A6=81=E8=8E=B7=E5=8F=96=E5=9D=90=E6=A0=87=E5=8F=8A?= =?UTF-8?q?=E5=8C=BA=E4=BF=A1=E6=81=AF=20-=20=E9=A5=BF=E7=99=BE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=B9=B0=E5=AE=B6=E7=9A=84=E5=9D=90=E6=A0=87=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E4=B8=BA=E9=AB=98=E5=BE=B7=E5=9D=90=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/netspider/netspider.go | 14 +++++++++----- business/partner/purchase/ebai/net_spider.go | 10 +++++----- business/partner/purchase/ebai/order.go | 2 +- business/partner/purchase/ebai/store.go | 1 + business/partner/purchase/jd/net_spider.go | 3 +-- conf/app.conf | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/business/netspider/netspider.go b/business/netspider/netspider.go index 1fa9d1f7e..958748911 100644 --- a/business/netspider/netspider.go +++ b/business/netspider/netspider.go @@ -4,6 +4,7 @@ import ( "fmt" "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils/ditu" @@ -81,6 +82,9 @@ func getStoreListByCoordinates(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID := batchItemList[0].(string) storePageInfo, err := handler.GetStorePageInfo(ctx, cityInfo, storeID) if err == nil && storePageInfo != nil { + if storePageInfo.DistrictCode == 0 && (storePageInfo.Lng != 0 && storePageInfo.Lat != 0) { + storePageInfo.DistrictCode = api.AutonaviAPI.GetCoordinateDistrictCode(storePageInfo.Lng, storePageInfo.Lat) + } return []interface{}{storePageInfo}, nil } return nil, err @@ -122,9 +126,9 @@ func GetAndStoreCitiesShops(ctx *jxcontext.Context, vendorIDs []int, cityCodeLis gridWith = DefGridWith } - task := tasksch.NewSeqTask("GetAndStoreCitiesShops", ctx, - func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { - cityCode := cityCodeList[step] + task := tasksch.NewParallelTask("GetAndStoreCitiesShops", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { + cityCode := batchItemList[0].(int) globals.SugarLogger.Debugf("process city:%d", cityCode) shopList, err := GetCityShops(ctx, task, vendorIDs, cityCode, radius, gridWith) if err == nil { @@ -150,8 +154,8 @@ func GetAndStoreCitiesShops(ctx *jxcontext.Context, vendorIDs []int, cityCodeLis } } globals.SugarLogger.Debugf("process city:%d, len(shopList):%d, err:%v", cityCode, len(shopList), err) - return nil, nil // 强制继续 - }, len(cityCodeList)) + return nil, err + }, cityCodeList) tasksch.ManageTask(task).Run() if !isAsync { _, err = task.GetResult(0) diff --git a/business/partner/purchase/ebai/net_spider.go b/business/partner/purchase/ebai/net_spider.go index caddae4b2..3f643d2fb 100644 --- a/business/partner/purchase/ebai/net_spider.go +++ b/business/partner/purchase/ebai/net_spider.go @@ -1,6 +1,7 @@ package ebai import ( + "git.rosy.net.cn/baseapi/platformapi/autonavi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils/ditu" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" @@ -24,8 +25,7 @@ func (c *PurchaseHandler) GetStoreIDListByCoordinates(ctx *jxcontext.Context, co func (c *PurchaseHandler) GetStorePageInfo(ctx *jxcontext.Context, cityInfo, storeID string) (storePageInfo *model.PageShop, err error) { shopInfo, err2 := api.EbaiAPI.GetStoreInfo2(storeID) if err = err2; err == nil && shopInfo != nil { - districtCode := 0 - // districtCode := api.AutonaviAPI.GetCoordinateDistrictCode(shopInfo.Longitude, shopInfo.Latitude) + lng, lat, _ := api.AutonaviAPI.CoordinateConvert(shopInfo.Longitude/100000, shopInfo.Latitude/100000, autonavi.CoordSysBaidu) return &model.PageShop{ Name: shopInfo.Name, VendorID: model.VendorIDEBAI, @@ -34,9 +34,9 @@ func (c *PurchaseHandler) GetStorePageInfo(ctx *jxcontext.Context, cityInfo, sto VendorStatus: utils.Int2Str(shopInfo.BusinessStatus), Address: shopInfo.Address, - Lng: shopInfo.Longitude / 100000, - Lat: shopInfo.Latitude / 100000, - DistrictCode: districtCode, + Lng: lng, + Lat: lat, + DistrictCode: 0, Tel1: shopInfo.Phone, diff --git a/business/partner/purchase/ebai/order.go b/business/partner/purchase/ebai/order.go index 51bd72f22..03a58d993 100644 --- a/business/partner/purchase/ebai/order.go +++ b/business/partner/purchase/ebai/order.go @@ -212,7 +212,7 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo } } - deliveryGeo := userMap["coord"].(map[string]interface{}) + deliveryGeo := userMap["coord_amap"].(map[string]interface{}) originalLng := utils.Interface2Float64WithDefault(deliveryGeo["longitude"], 0.0) // 饿百的订单在过一段时间后,经纬度信息会变成字符串"**" originalLat := utils.Interface2Float64WithDefault(deliveryGeo["latitude"], 0.0) lng, lat, err2 := api.AutonaviAPI.CoordinateConvert(originalLng, originalLat, autonavi.CoordSysBaidu) diff --git a/business/partner/purchase/ebai/store.go b/business/partner/purchase/ebai/store.go index 63e74d57c..a89188a5e 100644 --- a/business/partner/purchase/ebai/store.go +++ b/business/partner/purchase/ebai/store.go @@ -387,6 +387,7 @@ func genStoreMapFromStore(store *tEbaiStoreInfo) map[string]interface{} { params["address"] = store.Address // todo 饿百 开店审核通过后不允许修改商户信息 if store.SyncStatus&(model.SyncFlagNewMask /*|model.SyncFlagStoreAddress*/) != 0 { + // todo 这里应该要做坐标转换吧 params["longitude"] = jxutils.IntCoordinate2Standard(store.Lng) params["latitude"] = jxutils.IntCoordinate2Standard(store.Lat) params["coord_type"] = ebaiapi.CoordTypeAutonavi diff --git a/business/partner/purchase/jd/net_spider.go b/business/partner/purchase/jd/net_spider.go index f9e566a26..b1df205e8 100644 --- a/business/partner/purchase/jd/net_spider.go +++ b/business/partner/purchase/jd/net_spider.go @@ -32,8 +32,7 @@ func (c *PurchaseHandler) GetStorePageInfo(ctx *jxcontext.Context, cityInfo, sto if err = err2; err == nil && shopInfo != nil { var lng, lat float64 districtCode := 0 - // 由于高德API免费有调用次数限制,暂时不取坐标信息 - // lng, lat, districtCode := api.AutonaviAPI.GetCoordinateFromAddress(shopInfo.StoreInfo.StoreAddress, cityInfo) + lng, lat, districtCode = api.AutonaviAPI.GetCoordinateFromAddress(shopInfo.StoreInfo.StoreAddress, cityInfo) return &model.PageShop{ Name: shopInfo.StoreInfo.StoreName, VendorID: model.VendorIDJD, diff --git a/conf/app.conf b/conf/app.conf index a0e40f04d..69f99d1bb 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -16,7 +16,7 @@ mtwmAppID = "589" mtwmSecret = "a81eb3df418d83d6a1a4b7c572156d2f" mtwmCallbackURL = "http://callback.jxc4.com" -autonaviKey = "4427170f870af2110becb8852d36ab08" +autonaviKey = "ef64f638f31e05cb7bde28790f7309fe" baidunaviAK = "eL94zToVOdGDTkNQxV8dnEQ1ZRcB2UKb" baidunaviSK = "ZG0OOpOsOVURUwAkkmoHQFKRCbzn0zGb"