Files
baseapi/platformapi/mtpsapi/shop.go
苏尹岚 e106a982a1 aa
2021-02-23 16:07:46 +08:00

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
}