105 lines
3.3 KiB
Go
105 lines
3.3 KiB
Go
package mtpsapi
|
|
|
|
import "git.rosy.net.cn/baseapi/utils"
|
|
|
|
const (
|
|
ShopStatusAuditRejected = 10 // 审核驳回
|
|
ShopStatusAuditPassed = 20 // 审核通过
|
|
ShopStatusAuditCreated = 30 // 创建成功
|
|
ShopStatusAuditOnline = 40 // 上线可发单
|
|
ShopStatusAuditUpdateRejected = 50 // 修改审核驳回
|
|
ShopStatusAuditUpdatePassed = 60 // 修改审核通过
|
|
)
|
|
|
|
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) ShopUpdate(shopInfo *ShopInfo) (status int, err error) {
|
|
params := utils.Struct2MapByJson(shopInfo)
|
|
result, err := a.AccessAPI("shop/update", 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
|
|
}
|