90 lines
3.3 KiB
Go
90 lines
3.3 KiB
Go
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)
|
|
}
|