package freshfood import ( "net/http" "net/url" "time" "git.rosy.net.cn/baseapi/platform/jdapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jd/models" "go.uber.org/zap" ) const ( URL_FRESHFOOD_PARA_JDORDER = "jdOrder" URL_FRESHFOOD_PARA_VENDERID = "venderId" URL_FRESHFOOD_PARA_ORDERID = "orderId" URL_FRESHFOOD_PARA_ORDERSTATUS = "orderStatus" URL_FRESHFOOD_PARA_ORDERSTATUSTIME = "orderStatusTime" URL_FRESHFOOD_PARA_CITYNAME = "cityName" URL_FRESHFOOD_PARA_DELIVERYSTATUS = "deliveryStatus" URL_FRESHFOOD_PARA_DLIVERYSTATUSTIME = "deliveryStatusTime" URL_FRESHFOOD_PARA_DELIVERYCARRIERNO = "deliveryCarrierNo" URL_FRESHFOOD_PARA_DELIVERYCARRIERNAME = "deliveryCarrierName" URL_FRESHFOOD_PARA_DELIVERYMANNO = "deliveryManNo" URL_FRESHFOOD_PARA_DELIVERYMANNAME = "deliveryManName" URL_FRESHFOOD_PARA_DELIVERYMANPHONE = "deliveryManPhone" ) type FreshFoodAPI struct { baseURL string sugarLogger *zap.SugaredLogger client http.Client } func NewFreshFoodAPI(baseURL string, zapLogger *zap.Logger) *FreshFoodAPI { return &FreshFoodAPI{baseURL, zapLogger.Sugar(), http.Client{Timeout: time.Second * 5}} } func (f FreshFoodAPI) AccessFreshFodd(apiStr string, params url.Values) error { fullURL := f.baseURL + "/" + apiStr // _, err := f.client.PostForm(fullURL, params) err := error(nil) f.sugarLogger.Debug(fullURL) if err != nil { f.sugarLogger.Warnf("Call %s error:%v", fullURL, err) } return nil } func (f FreshFoodAPI) NewJDOrder(jdorder *models.Jdorder) error { params := make(url.Values) params.Set(URL_FRESHFOOD_PARA_JDORDER, string(utils.MustMarshal(jdorder))) return f.AccessFreshFodd("order", params) } // todo venderId func (f FreshFoodAPI) JDOrderStatus(jdorder *models.Jdorder, venderId string) error { params := make(url.Values) params.Set(URL_FRESHFOOD_PARA_VENDERID, venderId) params.Set(URL_FRESHFOOD_PARA_ORDERID, utils.Int64ToStr(jdorder.JdOrderId)) params.Set(URL_FRESHFOOD_PARA_ORDERSTATUS, utils.Int2Str(jdorder.OrderStatus)) params.Set(URL_FRESHFOOD_PARA_ORDERSTATUSTIME, jdorder.OrderStatusTime) params.Set(URL_FRESHFOOD_PARA_CITYNAME, jdorder.CityName) return f.AccessFreshFodd("order/status", params) } func (f FreshFoodAPI) JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.JDDeliveryStatusMsg, venderId string) error { params := make(url.Values) cityName := "all" params.Set(URL_FRESHFOOD_PARA_VENDERID, venderId) params.Set(URL_FRESHFOOD_PARA_ORDERID, jdOrderDeliveryStatusMsg.OrderId) params.Set(URL_FRESHFOOD_PARA_DELIVERYSTATUS, utils.Int2Str(jdOrderDeliveryStatusMsg.DeliveryStatus)) params.Set(URL_FRESHFOOD_PARA_DLIVERYSTATUSTIME, jdOrderDeliveryStatusMsg.DeliveryStatusTime) params.Set(URL_FRESHFOOD_PARA_DELIVERYCARRIERNO, jdOrderDeliveryStatusMsg.DeliveryCarrierNo) params.Set(URL_FRESHFOOD_PARA_DELIVERYCARRIERNAME, jdOrderDeliveryStatusMsg.DeliveryCarrierName) params.Set(URL_FRESHFOOD_PARA_DELIVERYMANNO, jdOrderDeliveryStatusMsg.DeliveryManNo) params.Set(URL_FRESHFOOD_PARA_DELIVERYMANNAME, jdOrderDeliveryStatusMsg.DeliveryManName) params.Set(URL_FRESHFOOD_PARA_DELIVERYMANPHONE, jdOrderDeliveryStatusMsg.DeliveryManPhone) params.Set(URL_FRESHFOOD_PARA_CITYNAME, cityName) return f.AccessFreshFodd("delivery/status", params) }