package mtpsapi import "git.rosy.net.cn/baseapi/utils" const ( ShopStatusAuditRejected = 10 // 审核驳回 ShopStatusAuditPassed = 20 // 审核通过 ShopStatusAuditCreated = 30 // 创建成功 ShopStatusAuditOnline = 40 // 上线可发单 ) const ( ShopCategoryMarket = 120 // 生活超市 ShopCategoryMarketConvenience = 120001 // 便利店 ShopCategoryFruit = 150 // 生鲜果蔬 ShopCategoryFruitFruit = 150001 // 果蔬 ) type BusinessHour struct { BeginTime string `json:"beginTime"` EndTime string `json:"endTime"` } type ShopInfo struct { ShopID string `json:"shop_id,omitempty"` ShopName string `json:"shop_name,omitempty"` Category int `json:"category,omitempty"` SecondCategory int `json:"second_category,omitempty"` ContactName string `json:"contact_name,omitempty"` ContactPhone string `json:"contact_phone,omitempty"` ContactEmail string `json:"contact_email,omitempty"` ShopAddress string `json:"shop_address,omitempty"` ShopAddressDetail string `json:"shop_address_detail,omitempty"` ShopLng int `json:"shop_lng,omitempty"` ShopLat int `json:"shop_lat,omitempty"` CoordinateType int `json:"coordinate_type"` DeliveryServiceCodes string `json:"delivery_service_codes,omitempty"` BusinessHours string `json:"business_hours,omitempty"` // 以下为查询专有的 City int `json:"city,omitempty"` DeliveryHours string `json:"delivery_hours,omitempty"` Prebook int `json:"prebook,omitempty"` PrebookOutOfBizTime int `json:"prebook_out_of_biz_time,omitempty"` PrebookPeriod string `json:"prebook_period,omitempty"` } func (a *API) ShopCreate(shopInfo *ShopInfo) (status int, err error) { params := utils.Struct2MapByJson(shopInfo) result, err := a.AccessAPI("shop/create", params) if err == nil { status = int(utils.Interface2Int64WithDefault(result.Data["status"], 0)) } return status, err } func (a *API) ShopQuery(shopID string) (shopInfo *ShopInfo, err error) { result, err := a.AccessAPI("shop/query", map[string]interface{}{ "shop_id": shopID, }) if err == nil { err = utils.Map2StructByJson(result.Data, &shopInfo, false) } return shopInfo, err } func IsErrShopNotExist(err error) bool { if err != nil { if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == ResponseCodeShopNotExist { return true } } return false } func IsErrShopExist(err error) bool { if err != nil { return utils.IsErrMatch(err, utils.Int2Str(ResponseCodeInvalidParam), []string{ "该合作方下已存在outerPoiId", }) } return false } func (a *API) SimulateShopStatus(shopID string, status int) (err error) { params := map[string]interface{}{ "shop_id": shopID, "status": status, } _, err = a.AccessAPI("test/shop/status/callback", params) return err }