diff --git a/platformapi/ebaiapi/common_test.go b/platformapi/ebaiapi/common_test.go index 1b01f879..5c731986 100644 --- a/platformapi/ebaiapi/common_test.go +++ b/platformapi/ebaiapi/common_test.go @@ -42,7 +42,7 @@ func TestCommonShopCategories(t *testing.T) { "category1": "厨房生鲜", "category2": "水产" } */ - result, err := api.CommonShopCategories(277, 2) + result, err := api.CommonShopCategories(274, 2) if err != nil { t.Fatal(err) } else { diff --git a/platformapi/jdapi/store_sku_test.go b/platformapi/jdapi/store_sku_test.go index ed20f6d3..30974f1b 100644 --- a/platformapi/jdapi/store_sku_test.go +++ b/platformapi/jdapi/store_sku_test.go @@ -13,7 +13,7 @@ const ( ) func TestGetStationInfoList(t *testing.T) { - result, err := api.GetStationInfoList("12005640", []int64{2023434101}) + result, err := api.GetStationInfoList("12005640", []int64{2023417515}) if err != nil { t.Fatal(err) } @@ -23,9 +23,9 @@ func TestGetStationInfoList(t *testing.T) { func TestDelVipPrice(t *testing.T) { err := api.DelVipPrice("667281", []*SkuIdEntity{ &SkuIdEntity{ - OutSkuId: "26074", + OutSkuId: "31196", }, - }, "") + }) if err != nil { t.Fatal(err) } diff --git a/platformapi/mtwmapi/mtwmapi.go b/platformapi/mtwmapi/mtwmapi.go index b3c3259f..8df70cdc 100644 --- a/platformapi/mtwmapi/mtwmapi.go +++ b/platformapi/mtwmapi/mtwmapi.go @@ -218,6 +218,8 @@ func (a *API) AccessAPI(cmd string, isGet bool, bizParams map[string]interface{} return a.AccessAPI2(cmd, isGet, bizParams, resultKeyData, "") } +//美团认证 +//https://open-shangou.meituan.com/home/guide/38 func (a *API) GetOAuthCode(appPoiCode string) (retVal interface{}, err error) { retVal, err = a.AccessAPI2("oauth/authorize", true, map[string]interface{}{ "app_poi_code": appPoiCode, @@ -233,3 +235,19 @@ func (a *API) GetAccessToken(code string) (retVal interface{}, err error) { }, "access_token", "") return retVal, err } + +func (a *API) GetAccessToken2(appPoiCode string) (retVal interface{}, err error) { + retVal, err = a.AccessAPI2("oauth/authorize", true, map[string]interface{}{ + "response_type": "token", + "app_poi_code": appPoiCode, + }, "access_token", "") + return retVal, err +} + +func (a *API) RefreshAccessToken(token string) (retVal interface{}, err error) { + retVal, err = a.AccessAPI2("oauth/token", false, map[string]interface{}{ + "grant_type": "refresh_token", + "refresh_token": token, + }, "access_token", "") + return retVal, err +} diff --git a/platformapi/mtwmapi/mtwmapi_test.go b/platformapi/mtwmapi/mtwmapi_test.go index 66c2215f..103d63fe 100644 --- a/platformapi/mtwmapi/mtwmapi_test.go +++ b/platformapi/mtwmapi/mtwmapi_test.go @@ -55,3 +55,11 @@ func TestGetAccessToken(t *testing.T) { } t.Log(utils.Format4Output(result, false)) } + +func TestGetAccessToken2(t *testing.T) { + result, err := api.GetAccessToken2("10874383") + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +} diff --git a/platformapi/mtwmapi/poi.go b/platformapi/mtwmapi/poi.go index a2263a19..9f894d6f 100644 --- a/platformapi/mtwmapi/poi.go +++ b/platformapi/mtwmapi/poi.go @@ -184,3 +184,89 @@ func (a *API) ImageUploadByURL(poiCode, imgName, imgURL string) (imgID string, e } return "", err } + +type PoiSettleSaveParam struct { + Type int `json:"type"` //0创建,1更新 + ApplyInfos []*ApplyInfo `json:"apply_info"` +} + +type ApplyInfo struct { + AppPoiCode string `json:"app_poi_code"` + SettlementID int `json:"settlement_id"` + MultiPoiBasicInfo *MultiPoiBasicInfo `json:"multi_poi_basic_info"` + MultiPoiCertInfos []*MultiPoiCertInfo `json:"multi_poi_cert_infos"` + MultiPoiShippingInfo *MultiPoiShippingInfo `json:"multi_poi_shipping_info"` +} + +type MultiPoiBasicInfo struct { + Name string `json:"name"` + City string `json:"city"` + Address string `json:"address"` + Longitude string `json:"longitude"` + Latitude string `json:"latitude"` + FirstTag int `json:"first_tag"` + CallCenter string `json:"call_center"` + ContactName string `json:"contact_name"` + ContactPhone string `json:"contact_phone"` + EcommerceAccountPhone string `json:"ecommerce_account_phone"` + ShippingTime string `json:"shipping_time"` +} + +type MultiPoiCertInfo struct { + IsLongTime int `json:"is_long_time"` + Type int `json:"type"` + LicenseAddress string `json:"license_address,omitempty"` + LicenseCheckDate string `json:"license_check_date,omitempty"` + LicenseCheckOrganization string `json:"license_check_organization,omitempty"` + LicenseLegalPerson string `json:"license_legal_person,omitempty"` + LicenseName string `json:"license_name,omitempty"` + LicenseNumber string `json:"license_number,omitempty"` + LicenseOperator string `json:"license_operator,omitempty"` + LicenseProject string `json:"license_project,omitempty"` + LicenseRegisterDate string `json:"license_register_date,omitempty"` + LicenseSocialCreditCode string `json:"license_social_credit_code,omitempty"` + LicenseSubject string `json:"license_subject,omitempty"` + LicensePic string `json:"license_pic"` + LicenseValidity string `json:"license_validity,omitempty"` + LicenseValidStartDate string `json:"license_valid_start_date,omitempty"` +} + +type MultiPoiShippingInfo struct { + ShippingType int `json:"shipping_type"` + MinPrice float64 `json:"min_price"` + ShippingFee string `json:"shipping_fee"` +} + +//https://open-shangou.meituan.com/home/docDetail/530 +func (a *API) PoiSettleSave(poiSettleSaveParam *PoiSettleSaveParam) (err error) { + _, err = a.AccessAPI("ecommerce/poi/settle/multi/save", false, utils.Struct2FlatMap(poiSettleSaveParam)) + return err +} + +type PoiSettleCategoryListResult struct { + SingleCategoryTree []struct { + LevelOneName string `json:"level_one_name"` + LevelOneCode int `json:"level_one_code"` + LevelTwoInfo []struct { + LevelTwoName string `json:"level_two_name"` + LevelTwoCode int `json:"level_two_code"` + } `json:"level_two_info"` + } `json:"single_category_tree"` + MultiCategoryTree []struct { + LevelOneName string `json:"level_one_name"` + LevelOneCode int `json:"level_one_code"` + LevelTwoInfo []struct { + LevelTwoName string `json:"level_two_name"` + LevelTwoCode int `json:"level_two_code"` + } `json:"level_two_info"` + } `json:"multi_category_tree"` +} + +//查询门店经营品类列表 +func (a *API) PoiSettleCategoryList() (poiSettleCategoryListResult *PoiSettleCategoryListResult, err error) { + result, err := a.AccessAPI("ecommerce/poi/settle/category/list", true, nil) + if err == nil { + utils.Map2StructByJson(result, &poiSettleCategoryListResult, false) + } + return poiSettleCategoryListResult, err +} diff --git a/platformapi/mtwmapi/poi_test.go b/platformapi/mtwmapi/poi_test.go index c1926a5d..6dd4226a 100644 --- a/platformapi/mtwmapi/poi_test.go +++ b/platformapi/mtwmapi/poi_test.go @@ -113,3 +113,31 @@ func TestPackagePriceGet(t *testing.T) { } t.Log(utils.Format4Output(priceInfo, false)) } + +func TestPoiSettleSave(t *testing.T) { + err := api.PoiSettleSave(&PoiSettleSaveParam{ + Type: 0, + ApplyInfos: []*ApplyInfo{ + &ApplyInfo{ + AppPoiCode: "", + SettlementID: 0, //结算ID + MultiPoiBasicInfo: &MultiPoiBasicInfo{ + Name: "xxx店", + City: "成都", + }, + }, + }, + }) + if err != nil { + t.Fatal(err) + } + // t.Log(utils.Format4Output(priceInfo, false)) +} + +func TestPoiSettleCategoryList(t *testing.T) { + result, err := api.PoiSettleCategoryList() + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +}