提交 081c051c authored 作者: zhanglibo's avatar zhanglibo

京东订单

上级 5628fbca
package jingdong
import (
"context"
"github.com/gogf/gf/encoding/gjson"
"github.com/gogf/gf/frame/g"
)
type deliveryJD struct {
}
var Delivery = deliveryJD{}
//DeliveryDetailRes 物流轨迹
type DeliveryDetailRes struct {
*CommonRes
Result struct {
OrderTrack []struct {
Content string `json:"content"` //操作内容明细
MsgTime string `json:"msgTime"` //操作时间。日期格式为“yyyy-MM-dd hh:mm:ss”
Operator string `json:"operator"` //操作员名称
} `json:"orderTrack"`
WaybillCode []struct {
OrderID string `json:"orderId"` //订单号
ParentID string `json:"parentId"` //父订单号。 此字段为0 未拆单
Carrier string `json:"carrier"` //承运商
DeliveryOrderID string `json:"deliveryOrderId"` //运单号
} `json:"waybillCode"`
JdOrderID int `json:"jdOrderId"`
} `json:"result"`
}
// Detail 物流信息
func (*deliveryJD) Detail(ctx context.Context, OrderID string) (res *DeliveryDetailRes, err error) {
method := "order/orderTrack"
param := g.Map{
"jdOrderId": OrderID,
"waybillCode": "1",
}
result, err := server.requestApi(ctx, method, param)
if err != nil {
return
}
err = gjson.New(result).Scan(&res)
return
}
...@@ -12,33 +12,14 @@ type orderJD struct { ...@@ -12,33 +12,14 @@ type orderJD struct {
//Order 订单 //Order 订单
var Order = orderJD{} var Order = orderJD{}
//GetDeliveryRes 物流轨迹
type GetDeliveryRes struct {
*CommonRes
Result struct {
OrderTrack []struct {
Content string `json:"content"` //操作内容明细
MsgTime string `json:"msgTime"` //操作时间。日期格式为“yyyy-MM-dd hh:mm:ss”
Operator string `json:"operator"` //操作员名称
} `json:"orderTrack"`
WaybillCode []struct {
OrderID string `json:"orderId"` //订单号
ParentID string `json:"parentId"` //父订单号。 此字段为0 未拆单
Carrier string `json:"carrier"` //承运商
DeliveryOrderID string `json:"deliveryOrderId"` //运单号
} `json:"waybillCode"`
JdOrderID int `json:"jdOrderId"`
} `json:"result"`
}
//PriceSnap 商品价格 //PriceSnap 商品价格
type PriceSnap struct { type PriceSnap struct {
SkuID int `json:"skuId"` //商品编号 SkuID int `json:"skuId"` //商品编号
Price float64 `json:"price"` //商品价格 格式:21.30 Price float64 `json:"price"` //商品价格 格式:21.30
} }
//PlaceOrderReq 下单 //OrderCreateReq 下单
type PlaceOrderReq struct { type OrderCreateReq struct {
OrderSn string //订单单号 OrderSn string //订单单号
SkuNums []*SkuNums SkuNums []*SkuNums
Consignee string //收货人姓名,最多20个字符 Consignee string //收货人姓名,最多20个字符
...@@ -57,8 +38,8 @@ type PlaceOrderAddress struct { ...@@ -57,8 +38,8 @@ type PlaceOrderAddress struct {
Desc string //收货人详细地址,最多100个字符 Desc string //收货人详细地址,最多100个字符
} }
//PlaceOrderRes 下单 //OrderCreateRes 下单
type PlaceOrderRes struct { type OrderCreateRes struct {
*CommonRes *CommonRes
Result struct { Result struct {
JdOrderID int64 `json:"jdOrderId"` //京东订单号 JdOrderID int64 `json:"jdOrderId"` //京东订单号
...@@ -78,45 +59,62 @@ type OrderSkuItem struct { ...@@ -78,45 +59,62 @@ type OrderSkuItem struct {
NakedPrice float64 `json:"nakedPrice"` //商品未税价 NakedPrice float64 `json:"nakedPrice"` //商品未税价
} }
//ReflectOrderRes 反查订单 //OrderReflectRes 反查订单
type ReflectOrderRes struct { type OrderReflectRes struct {
*CommonRes *CommonRes
Result string `json:"result"` //第三方订单号(非京东订单号) Result string `json:"result"` //第三方订单号(非京东订单号)
} }
//GetOrderRes 订单详情 type OrderDetailBase struct {
type GetOrderRes struct {
*CommonRes *CommonRes
Result struct { Result struct {
JdOrderID int64 `json:"jdOrderId"` //京东订单编号 JdOrderID int64 `json:"jdOrderId"` //京东订单编号
Type int `json:"type"` //订单类型。1是父订单 2是子订单 Type int `json:"type"` //订单类型。1是父订单 2是子订单
Freight float64 `json:"freight"` //运费 }
OrderPrice float64 `json:"orderPrice"` //订单总金额 }
OrderNakedPrice float64 `json:"orderNakedPrice"` //订单未含税金额
OrderTaxPrice float64 `json:"orderTaxPrice"` //订单税额 //OrderDetailRes 订单详情
Sku []*OrderSkuItem `json:"sku"` //商品列表 type OrderDetailRes struct {
CommonRes
Result struct {
SubmitState int `json:"submitState"` //预占确认状态。0没确认预占。 1已确认预占。
Type int `json:"type"` //订单类型。1是父订单 2是子订单
OrderState int `json:"orderState"` //订单状态。0为取消订单 1为有效 OrderState int `json:"orderState"` //订单状态。0为取消订单 1为有效
State int `json:"state"` //物流状态。0 是新建 1是妥投 2是拒收 POrder OrderDetailPOrder `json:"pOrder"`
POrder struct { COrder []OrderDetailCOrder `json:"cOrder"`
JdOrderID int64 `json:"jdOrderId"` //京东订单编号 } `json:"result"`
Freight float64 `json:"freight"` //运费 }
OrderPrice float64 `json:"orderPrice"` //订单总金额
OrderNakedPrice float64 `json:"orderNakedPrice"` //订单未含税金额 type OrderDetailPOrder struct {
Sku []*OrderSkuItem `json:"sku"` //商品列表 JdOrderId int64 `json:"jdOrderId"` //京东主订单编号
} `json:"pOrder"`
COrder []struct {
POrder string `json:"pOrder"` //父订单号。为0时,此订单为父单。
JdOrderID int `json:"jdOrderId"` //京东订单编号
Freight float64 `json:"freight"` //运费 Freight float64 `json:"freight"` //运费
OrderPrice float64 `json:"orderPrice"` //订单总金额 OrderPrice float64 `json:"orderPrice"` //订单总金额
OrderNakedPrice float64 `json:"orderNakedPrice"` //订单未含税金额 OrderNakedPrice float64 `json:"orderNakedPrice"` //订单未含税金额
Sku []OrderSkuItem `json:"sku"` //商品列表 Sku []OrderSkuItem `json:"sku"` //商品列表
} `json:"cOrder"` OrderTaxPrice float64 `json:"orderTaxPrice"` //订单税额
} `json:"result"` }
type OrderDetailCOrder struct {
POrder int64 `json:"pOrder"` //京东主订单编号
OrderState int `json:"orderState"`
JdOrderId int64 `json:"jdOrderId"` //京东子订单编号
State int `json:"state"`
Freight float64 `json:"freight"`
SubmitState int `json:"submitState"`
OrderPrice float64 `json:"orderPrice"`
OrderNakedPrice float64 `json:"orderNakedPrice"`
Type int `json:"type"` //商品类型。 0 普通、1 附件、2 赠品、3延保
Sku []OrderSkuItem `json:"sku"`
OrderTaxPrice float64 `json:"orderTaxPrice"`
} }
//GetFreightRes 运费 type OrderDetailChild struct {
type GetFreightRes struct { CommonRes
Result OrderDetailCOrder `json:"result"`
}
//OrderFreightRes 运费
type OrderFreightRes struct {
*CommonRes *CommonRes
Result struct { Result struct {
Freight float64 `json:"freight"` //总运费 Freight float64 `json:"freight"` //总运费
...@@ -131,23 +129,8 @@ type SkuNums struct { ...@@ -131,23 +129,8 @@ type SkuNums struct {
Num int `json:"num"` //商品数量 Num int `json:"num"` //商品数量
} }
// GetDelivery 物流信息 // Create 下单
func (*orderJD) GetDelivery(ctx context.Context, OrderID string) (res *GetDeliveryRes, err error) { func (*orderJD) Create(ctx context.Context, req *OrderCreateReq) (res *OrderCreateRes, err error) {
method := "order/orderTrack"
param := g.Map{
"jdOrderId": OrderID,
"waybillCode": "1",
}
result, err := server.requestApi(ctx, method, param)
if err != nil {
return
}
err = gjson.New(result).Scan(&res)
return
}
// PlaceOrder 下单
func (*orderJD) PlaceOrder(ctx context.Context, req *PlaceOrderReq) (res *PlaceOrderRes, err error) {
method := "order/submitOrder" method := "order/submitOrder"
var param = g.Map{ var param = g.Map{
"thirdOrder": req.OrderSn, "thirdOrder": req.OrderSn,
...@@ -180,8 +163,8 @@ func (*orderJD) PlaceOrder(ctx context.Context, req *PlaceOrderReq) (res *PlaceO ...@@ -180,8 +163,8 @@ func (*orderJD) PlaceOrder(ctx context.Context, req *PlaceOrderReq) (res *PlaceO
return return
} }
// ReflectOrder 反查订单 // Reflect 反查订单
func (*orderJD) ReflectOrder(ctx context.Context, thirdOrder string) (res *ReflectOrderRes, err error) { func (*orderJD) Reflect(ctx context.Context, thirdOrder string) (res *OrderReflectRes, err error) {
method := "order/selectJdOrderIdByThirdOrder" method := "order/selectJdOrderIdByThirdOrder"
param := g.Map{ param := g.Map{
"thirdOrder": thirdOrder, "thirdOrder": thirdOrder,
...@@ -194,22 +177,47 @@ func (*orderJD) ReflectOrder(ctx context.Context, thirdOrder string) (res *Refle ...@@ -194,22 +177,47 @@ func (*orderJD) ReflectOrder(ctx context.Context, thirdOrder string) (res *Refle
return return
} }
// GetOrderInfo 订单详情 //Detail 订单详情
func (*orderJD) GetOrderInfo(ctx context.Context, OrderID string) (res *GetOrderRes, err error) { func (*orderJD) Detail(ctx context.Context, OrderID string) (res *OrderDetailRes, err error) {
method := "order/selectJdOrder" method := "order/selectJdOrder"
param := g.Map{ param := g.Map{
"jdOrderId": OrderID, "jdOrderId": OrderID,
} }
result, err := server.requestApi(ctx, method, param) result, err := server.requestApi(ctx, method, param)
if err != nil { if err != nil {
return return
} }
var base *OrderDetailBase
_ = gjson.New(result).Scan(&base)
if base.Result.Type == 1 {
_ = gjson.New(result).Scan(&res) _ = gjson.New(result).Scan(&res)
return return
} else {
var child *OrderDetailChild
_ = gjson.New(result).Scan(&child)
res = &OrderDetailRes{}
res.CommonRes = child.CommonRes
res.Result.Type = child.Result.Type
res.Result.SubmitState = child.Result.SubmitState
res.Result.OrderState = child.Result.OrderState
res.Result.POrder = OrderDetailPOrder{
JdOrderId: child.Result.JdOrderId,
Freight: child.Result.Freight,
OrderPrice: child.Result.OrderPrice,
OrderNakedPrice: child.Result.OrderNakedPrice,
OrderTaxPrice: child.Result.OrderTaxPrice,
Sku: child.Result.Sku,
}
res.Result.COrder = append(res.Result.COrder, child.Result)
}
return
} }
// GetFreight 查询运费 //Freight 查询运费
func (*orderJD) GetFreight(ctx context.Context, sku []*SkuNums, province, city, county, town string) (res *GetFreightRes, err error) { func (*orderJD) Freight(ctx context.Context, sku []*SkuNums, province, city, county, town string) (res *OrderFreightRes, err error) {
method := "order/getFreight" method := "order/getFreight"
param := g.Map{ param := g.Map{
"sku": gjson.New(sku).MustToJsonString(), "sku": gjson.New(sku).MustToJsonString(),
...@@ -227,8 +235,8 @@ func (*orderJD) GetFreight(ctx context.Context, sku []*SkuNums, province, city, ...@@ -227,8 +235,8 @@ func (*orderJD) GetFreight(ctx context.Context, sku []*SkuNums, province, city,
return return
} }
// ConfirmReceived 确认收货 // Confirm 确认收货
func (*orderJD) ConfirmReceived(ctx context.Context, OrderID string) (res *CommonRes, err error) { func (*orderJD) Confirm(ctx context.Context, OrderID string) (res *CommonRes, err error) {
method := "order/confirmReceived" method := "order/confirmReceived"
param := g.Map{ param := g.Map{
"jdOrderId": OrderID, "jdOrderId": OrderID,
......
...@@ -13,7 +13,7 @@ type refundJD struct { ...@@ -13,7 +13,7 @@ type refundJD struct {
var Refund = refundJD{} var Refund = refundJD{}
type RefundCancelRes struct { type RefundCancelRes struct {
*CommonRes CommonRes
Result bool `json:"result"` Result bool `json:"result"`
} }
...@@ -66,8 +66,8 @@ type GetServiceListReq struct { ...@@ -66,8 +66,8 @@ type GetServiceListReq struct {
PageSize int `json:"pageSize"` //每页记录数, 大小取值范围[1,100] PageSize int `json:"pageSize"` //每页记录数, 大小取值范围[1,100]
} }
type GetServiceListRes struct { type RefundListRes struct {
*CommonRes CommonRes
Result struct { Result struct {
TotalNum int `json:"totalNum"` //总记录数 TotalNum int `json:"totalNum"` //总记录数
PageSize int `json:"pageSize"` //每页记录数 PageSize int `json:"pageSize"` //每页记录数
...@@ -81,8 +81,8 @@ type GetServiceListRes struct { ...@@ -81,8 +81,8 @@ type GetServiceListRes struct {
} `json:"result"` } `json:"result"`
} }
type GetServiceDetailRes struct { type RefundDetailRes struct {
*CommonRes CommonRes
Result struct { Result struct {
AfsServiceId int `json:"afsServiceId"` //京东售后服务单号 AfsServiceId int `json:"afsServiceId"` //京东售后服务单号
CustomerExpect int `json:"customerExpect"` //服务类型码:退货(10)、换货(20)、维修(20) CustomerExpect int `json:"customerExpect"` //服务类型码:退货(10)、换货(20)、维修(20)
...@@ -119,13 +119,13 @@ type RefundCommonReq struct { ...@@ -119,13 +119,13 @@ type RefundCommonReq struct {
SkuID string `json:"skuId"` //商品编号 SkuID string `json:"skuId"` //商品编号
} }
type CheckIsSupportRes struct { type RefundIsSupportRes struct {
*CommonRes CommonRes
Result int `json:"result"` //可申请时返回可申请数量 Result int `json:"result"` //可申请时返回可申请数量
} }
type GetSupportTypeRes struct { type RefundSupportTypeRes struct {
*CommonRes CommonRes
Result []*CodeItem `json:"result"` //服务类型码:退货(10)、换货(20)、维修(30) 服务类型名称:退货、换货、维修 Result []*CodeItem `json:"result"` //服务类型码:退货(10)、换货(20)、维修(30) 服务类型名称:退货、换货、维修
} }
...@@ -134,12 +134,12 @@ type CodeItem struct { ...@@ -134,12 +134,12 @@ type CodeItem struct {
Name string `json:"name"` //名称 Name string `json:"name"` //名称
} }
type GetReturnTypeRes struct { type RefundReturnTypeRes struct {
*CommonRes CommonRes
Result []*CodeItem `json:"result"` //服务类型码:上门取件(4)、客户发货(40)、客户送货(7) 服务类型名称:上门取件、客户发货、客户送货 Result []*CodeItem `json:"result"` //服务类型码:上门取件(4)、客户发货(40)、客户送货(7) 服务类型名称:上门取件、客户发货、客户送货
} }
type UpdateSendSkuReq struct { type RefundSendReq struct {
AfsServiceId string `json:"afsServiceId"` AfsServiceId string `json:"afsServiceId"`
DeliverDate string `json:"deliverDate"` DeliverDate string `json:"deliverDate"`
ExpressCode string `json:"expressCode"` ExpressCode string `json:"expressCode"`
...@@ -147,8 +147,8 @@ type UpdateSendSkuReq struct { ...@@ -147,8 +147,8 @@ type UpdateSendSkuReq struct {
FreightMoney int `json:"freightMoney"` FreightMoney int `json:"freightMoney"`
} }
// UpdateSendSku 根据填写单号 //Send 根据填写单号
func (*refundJD) UpdateSendSku(ctx context.Context, req *UpdateSendSkuReq) (res *CommonRes, err error) { func (*refundJD) Send(ctx context.Context, req *RefundSendReq) (res *CommonRes, err error) {
method := "afterSale/updateSendSku" method := "afterSale/updateSendSku"
param := g.Map{ param := g.Map{
"param": gjson.New(req).MustToJsonString(), "param": gjson.New(req).MustToJsonString(),
...@@ -161,22 +161,8 @@ func (*refundJD) UpdateSendSku(ctx context.Context, req *UpdateSendSkuReq) (res ...@@ -161,22 +161,8 @@ func (*refundJD) UpdateSendSku(ctx context.Context, req *UpdateSendSkuReq) (res
return return
} }
//AuditCancel 取消服务单 //Cancel 取消售后
func (*refundJD) AuditCancel(ctx context.Context, postData string) (res *CommonRes, err error) { func (*refundJD) Cancel(ctx context.Context, id interface{}) (res *RefundCancelRes, err error) {
method := "afterSale/auditCancel"
param := g.Map{
"param": postData,
}
result, err := server.requestApi(ctx, method, param)
if err != nil {
return
}
_ = gjson.New(result).Scan(&res)
return
}
//RefundCancel 取消售后
func (*refundJD) RefundCancel(ctx context.Context, id interface{}) (res *RefundCancelRes, err error) {
method := "afterSale/auditCancel" method := "afterSale/auditCancel"
req := g.Map{ req := g.Map{
"serviceIdList": gconv.Ints(id), "serviceIdList": gconv.Ints(id),
...@@ -207,8 +193,8 @@ func (*refundJD) Apply(ctx context.Context, req *ApplyReq) (res *CommonRes, err ...@@ -207,8 +193,8 @@ func (*refundJD) Apply(ctx context.Context, req *ApplyReq) (res *CommonRes, err
return return
} }
// GetServiceList 查询服务单根据客户账号和订单号分页查询服务单概要信息 //List 查询服务单根据客户账号和订单号分页查询服务单概要信息
func (*refundJD) GetServiceList(ctx context.Context, OrderSn string) (res *GetServiceListRes, err error) { func (*refundJD) List(ctx context.Context, OrderSn string) (res *RefundListRes, err error) {
method := "afterSale/getServiceListPage" method := "afterSale/getServiceListPage"
param := g.Map{ param := g.Map{
"param": gjson.New(&GetServiceListReq{ "param": gjson.New(&GetServiceListReq{
...@@ -225,8 +211,8 @@ func (*refundJD) GetServiceList(ctx context.Context, OrderSn string) (res *GetSe ...@@ -225,8 +211,8 @@ func (*refundJD) GetServiceList(ctx context.Context, OrderSn string) (res *GetSe
return return
} }
// GetServiceDetail 根据服务单号查询服务单明细信息 //Detail 根据服务单号查询服务单明细信息
func (*refundJD) GetServiceDetail(ctx context.Context, req string) (res *GetServiceDetailRes, err error) { func (*refundJD) Detail(ctx context.Context, req string) (res *RefundDetailRes, err error) {
method := "afterSale/getServiceDetailInfo" method := "afterSale/getServiceDetailInfo"
var reqJson = gjson.New("") var reqJson = gjson.New("")
_ = reqJson.Set("afsServiceId", req) _ = reqJson.Set("afsServiceId", req)
...@@ -241,8 +227,8 @@ func (*refundJD) GetServiceDetail(ctx context.Context, req string) (res *GetServ ...@@ -241,8 +227,8 @@ func (*refundJD) GetServiceDetail(ctx context.Context, req string) (res *GetServ
return return
} }
// CheckIsSupport 查询订单商品是否允许售后 // IsSupport 查询订单商品是否允许售后
func (*refundJD) CheckIsSupport(ctx context.Context, req *RefundCommonReq) (res *CheckIsSupportRes, err error) { func (*refundJD) IsSupport(ctx context.Context, req *RefundCommonReq) (res *RefundIsSupportRes, err error) {
method := "afterSale/getAvailableNumberComp" method := "afterSale/getAvailableNumberComp"
param := g.Map{ param := g.Map{
"param": gjson.New(req).MustToJsonString(), "param": gjson.New(req).MustToJsonString(),
...@@ -255,8 +241,8 @@ func (*refundJD) CheckIsSupport(ctx context.Context, req *RefundCommonReq) (res ...@@ -255,8 +241,8 @@ func (*refundJD) CheckIsSupport(ctx context.Context, req *RefundCommonReq) (res
return return
} }
// GetSupportType 查询订单商品售后类型 // SupportType 查询订单商品售后类型
func (*refundJD) GetSupportType(ctx context.Context, req *RefundCommonReq) (res *GetSupportTypeRes, err error) { func (*refundJD) SupportType(ctx context.Context, req *RefundCommonReq) (res *RefundSupportTypeRes, err error) {
method := "afterSale/getCustomerExpectComp" method := "afterSale/getCustomerExpectComp"
param := g.Map{ param := g.Map{
"param": gjson.New(req).MustToJsonString(), "param": gjson.New(req).MustToJsonString(),
...@@ -270,8 +256,8 @@ func (*refundJD) GetSupportType(ctx context.Context, req *RefundCommonReq) (res ...@@ -270,8 +256,8 @@ func (*refundJD) GetSupportType(ctx context.Context, req *RefundCommonReq) (res
return return
} }
// GetReturnType 查询支持的商品返回京东方式 // ReturnType 查询支持的商品返回京东方式
func (*refundJD) GetReturnType(ctx context.Context, req *RefundCommonReq) (res *GetReturnTypeRes, err error) { func (*refundJD) ReturnType(ctx context.Context, req *RefundCommonReq) (res *RefundReturnTypeRes, err error) {
method := "afterSale/getWareReturnJdComp" method := "afterSale/getWareReturnJdComp"
param := g.Map{ param := g.Map{
"param": gjson.New(req).MustToJsonString(), "param": gjson.New(req).MustToJsonString(),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论