package fnpsapi import ( "encoding/json" "fmt" "strings" "git.rosy.net.cn/baseapi/utils" ) const ( StoreNotExist = "门店信息不存在" StoreExist = "该门店已存在" ) const ( // 创建状态 ShopCreateStatusAuditRejected = 10 // 上架审核中 ShopCreateStatusAuditPassed = 20 // 正常(已上架) ShopCreateStatusAuditCreated = 30 // 上架审核失败 ShopCreateStatusAuditOnline = 40 // 已冻结 ShopCreateStatusAuditUpdateRejected = 50 // 已下架 // 修改状态 ShopUpdateStatusAuditRejected = 0 // 无修改 ShopUpdateStatusAuditPassed = 10 // 资料修改审核中 ShopUpdateStatusAuditCreated = 20 // 审核通过 ShopUpdateStatusAuditOnline = 30 // 审核驳回 ) func (a *API) CreateStore(createStoreParam *CreateStoreBaseInfo) (result1 string, err error) { requestHead := a.MakeFnRequestHead() storeByte, err := json.Marshal(createStoreParam) if err != nil { return "", err } requestHead["business_data"] = string(storeByte) result, err := a.AccessAPI(ApiURL, "chainstoreCreate", RequestPost, requestHead) if err != nil { return "", err } createShop := struct { ChainStoreId string `json:"chain_store_id"` }{} if err := json.Unmarshal([]byte(utils.Interface2String(result["business_data"])), &createShop); err != nil { return "", err } fmt.Println("chainstoreCreate 创建门店 ==================:=", createShop) return createShop.ChainStoreId, nil } func (a *API) UpdateStore(updateStore *UpdateStoreParam) (err error) { requestHead := a.MakeFnRequestHead() storeByte, err := json.Marshal(updateStore) if err != nil { return err } requestHead["business_data"] = string(storeByte) _, err = a.AccessAPI(ApiURL, "chainstoreUpdate", RequestPost, requestHead) return } func (a *API) GetStore(storeID string) (getStoreResult *GetOneStoreRespData, err error) { params := GetOneStoreParam{ BaseInfo: BaseInfo{ AccessToken: a.accessToken, Signature: a.signature, MerchantID: a.merchantId, Version: a.version, AppID: a.appID, Timestamp: a.timestamp, }, BusinessData: "", } // 序列化请求参数 data, err := json.Marshal(GetOneStore{MerchantID: a.merchantId, OutShopCode: storeID}) if err != nil { return nil, err } params.BusinessData = string(data) paramsMap := utils.Struct2FlatMap(params) result, err := a.AccessAPI(ApiURL, "chainstoreQuery", RequestPost, paramsMap) if err != nil { return nil, err } if result["code"].(string) != "200" { return nil, fmt.Errorf("%s", result["msg"]) } fnResult := &GetOneStoreRespData{} if storeData, ok := result["business_data"]; ok { if err := json.Unmarshal([]byte(utils.Interface2String(storeData)), fnResult); err != nil { return nil, err } } else { return nil, fmt.Errorf("暂无数据") } return fnResult, err } func IsErrShopNotExist(err error) bool { if err != nil { if strings.Contains(err.Error(), StoreNotExist) { return true } } return false } func IsErrShopExist(err error) bool { if err != nil { if strings.Contains(err.Error(), StoreExist) { return true } } return false }