diff --git a/business/partner/purchase/jdshop/order.go b/business/partner/purchase/jdshop/order.go index 73b3beb71..ce435362d 100644 --- a/business/partner/purchase/jdshop/order.go +++ b/business/partner/purchase/jdshop/order.go @@ -3,6 +3,7 @@ package jdshop import ( "fmt" "net/http" + "regexp" "strings" "time" @@ -49,8 +50,13 @@ func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID s return p.Map2Order(utils.Struct2FlatMap(resultOrders)), err } func (p *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) { - jdsOrder, err := GetJdsOrder(vendorOrderID, vendorOrgCode) - return status2Jxstatus(jdsOrder.OrderState), err + //jdsOrder, err := GetJdsOrder(vendorOrderID, vendorOrgCode) + jdsOrder, err := GetJdsOrder2(vendorOrderID, vendorOrgCode) + r := regexp.MustCompile(`"orderState":"(.*)","orderType`) + if len(r.FindStringSubmatch(jdsOrder)) > 0 { + return status2Jxstatus(r.FindStringSubmatch(jdsOrder)[1]), err + } + return 0, err } func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) { @@ -260,6 +266,16 @@ func GetJdsOrder(vendorOrderID, vendorOrgCode string) (jdsOrder *jdshopapi.GetOr return jdsOrder2, err } +func GetJdsOrder2(vendorOrderID, vendorOrgCode string) (jdsOrder string, err error) { + params := make(map[string]interface{}) + params["orderID"] = vendorOrderID + params["token"] = jdshopapi.JdsYdToken + params["vendorOrgCode"] = vendorOrgCode + result, err := apiToYd("order/GetJdsOrder", params) + //jdsOrder2 := &jdshopapi.GetOrderResult{} + return strings.ReplaceAll(result["data"].(string), "\\", ""), err +} + func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) { return selfTakeCode, err }