mt sku
This commit is contained in:
@@ -104,6 +104,7 @@ func (a *API) AccessAPI2(cmd string, body map[string]interface{}, trackInfo stri
|
||||
"body": []string{string(utils.MustMarshal(body))},
|
||||
"encrypt": []string{a.encrypt},
|
||||
}
|
||||
|
||||
params[signKey] = []string{a.signParams(params)}
|
||||
encodedParams := params.Encode()
|
||||
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||
|
||||
@@ -31,6 +31,13 @@ const (
|
||||
OrderStatusRefund = "15" // 订单退款,这个是售后之后的事件,不应该当成正常订单事件处理
|
||||
)
|
||||
|
||||
const (
|
||||
RefundTypeAgree = "1" // 同意全单/部分退款申请
|
||||
RefundTypeRefuse = "2" // 拒绝全单/部分退款申请
|
||||
RefundTypeAgreeGoods = "3" // 同意退货申请
|
||||
RefundTypeRefuseGoods = "4" // 拒绝退货申请
|
||||
)
|
||||
|
||||
const (
|
||||
WaybillStatusEvent = "1" // 一般事件
|
||||
WaybillStatusNew = "2" // 生成运单
|
||||
@@ -560,14 +567,6 @@ func (a *API) OrderPartRefundGet(orderID string) (orderMap map[string]interface{
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// func (a *API) OrderPartRefundGet2(orderID string) (partRefundInfo *CBPartRefundInfo, err error) {
|
||||
// result, err := a.OrderPartRefundGet(orderID)
|
||||
// if err == nil {
|
||||
// err = utils.Map2StructByJson(result, &partRefundInfo, true)
|
||||
// }
|
||||
// return partRefundInfo, err
|
||||
// }
|
||||
|
||||
func (a *API) SmartOrderIdConvert(orderID string) (convertedOrderID string, err error) {
|
||||
return a.OrderIdConvert(orderID, isOrderIDEleme(orderID))
|
||||
}
|
||||
@@ -576,23 +575,27 @@ func isOrderIDEleme(orderID string) bool {
|
||||
return len(orderID) == len("3026328756122155111")
|
||||
}
|
||||
|
||||
func (a *API) OrderAgreeRefund(orderID string) (err error) {
|
||||
_, err = a.AccessAPI("order.agreerefund", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
})
|
||||
return err
|
||||
func (a *API) OrderAgreeRefund(param *RefundOrderExamine) (err error) {
|
||||
return a.EbaiRefundOrder(param)
|
||||
//_, err = a.AccessAPI("order.agreerefund", map[string]interface{}{
|
||||
// "order_id": orderID,
|
||||
//})
|
||||
//return err
|
||||
}
|
||||
|
||||
func (a *API) OrderDisagreeRefund(orderID, refuseReason string) (err error) {
|
||||
_, err = a.AccessAPI("order.disagreerefund", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
"refuse_reason": refuseReason,
|
||||
})
|
||||
return err
|
||||
func (a *API) OrderDisagreeRefund(param *RefundOrderExamine) (err error) {
|
||||
return a.EbaiRefundOrder(param)
|
||||
//_, err = a.AccessAPI("order.disagreerefund", map[string]interface{}{
|
||||
// "order_id": orderID,
|
||||
// "refuse_reason": refuseReason,
|
||||
//})
|
||||
//return err
|
||||
}
|
||||
|
||||
//售后 同意用户多次部分取消
|
||||
func (a *API) OrderPartRefund(orderID string, removeSkuList []*RefundSku) (err error) {
|
||||
//return a.EbaiRefundOrder(param)
|
||||
|
||||
_, err = a.AccessAPI("order.manyTimesPartrefund", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
"products": removeSkuList,
|
||||
@@ -601,34 +604,38 @@ func (a *API) OrderPartRefund(orderID string, removeSkuList []*RefundSku) (err e
|
||||
}
|
||||
|
||||
//售后 同意用户多次部分取消
|
||||
func (a *API) OrderAgreePartRefund(orderID string, removeSkuList []*RefundSku, refundID string) (err error) {
|
||||
_, err = a.AccessAPI("order.agreepartrefund", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
"products": removeSkuList,
|
||||
"refund_id": refundID,
|
||||
})
|
||||
return err
|
||||
func (a *API) OrderAgreePartRefund(param *RefundOrderExamine) (err error) {
|
||||
return a.EbaiRefundOrder(param)
|
||||
|
||||
//_, err = a.AccessAPI("order.agreepartrefund", map[string]interface{}{
|
||||
// "order_id": orderID,
|
||||
// "products": removeSkuList,
|
||||
// "refund_id": refundID,
|
||||
//})
|
||||
//return err
|
||||
}
|
||||
|
||||
//售后 同意退货退款
|
||||
func (a *API) OrderAgreeReturnGoods(orderID, refundOrderID string) (err error) {
|
||||
_, err = a.AccessAPI("order.agreereturngoods", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
"refund_order_id": refundOrderID,
|
||||
})
|
||||
return err
|
||||
func (a *API) OrderAgreeReturnGoods(param *RefundOrderExamine) (err error) {
|
||||
return a.EbaiRefundOrder(param)
|
||||
//_, err = a.AccessAPI("order.agreereturngoods", map[string]interface{}{
|
||||
// "order_id": orderID,
|
||||
// "refund_order_id": refundOrderID,
|
||||
//})
|
||||
//return err
|
||||
}
|
||||
|
||||
//售后 拒绝退货退款
|
||||
func (a *API) OrderDisagreeReturnGoods(orderID, refundOrderID, reason string) (err error) {
|
||||
data, err := a.AccessAPI("order.disagreereturngoods", map[string]interface{}{
|
||||
"order_id": orderID,
|
||||
"refund_order_id": refundOrderID,
|
||||
"refuse_code": "5",
|
||||
"refuse_reason": reason,
|
||||
})
|
||||
fmt.Println(data)
|
||||
return err
|
||||
func (a *API) OrderDisagreeReturnGoods(param *RefundOrderExamine) (err error) {
|
||||
return a.EbaiRefundOrder(param)
|
||||
//data, err := a.AccessAPI("order.disagreereturngoods", map[string]interface{}{
|
||||
// "order_id": orderID,
|
||||
// "refund_order_id": refundOrderID,
|
||||
// "refuse_code": "5",
|
||||
// "refuse_reason": reason,
|
||||
//})
|
||||
//fmt.Println(data)
|
||||
//return err
|
||||
}
|
||||
|
||||
func (a *API) OrderCheckout(orderID, pickUpCode string) (err error) {
|
||||
@@ -645,3 +652,43 @@ func (a *API) OrderQueryAcceptancecode(orderID string) (err error) {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
// EbaiRefundOrder 同意退款V2.0 上面的舍弃使用2.0
|
||||
func (a *API) EbaiRefundOrder(param *RefundOrderExamine) error {
|
||||
if (param.ActionType == RefundTypeRefuse || param.ActionType == RefundTypeRefuseGoods) && param.ReasonCode == "" {
|
||||
param.ReasonCode = "7001"
|
||||
}
|
||||
|
||||
_, err := a.AccessAPI("order.reverse.process", utils.Struct2MapByJson(param))
|
||||
return err
|
||||
}
|
||||
|
||||
// GetReverseOrder 根据订单号获取详细订单详情
|
||||
func (a *API) GetReverseOrder(orderId string) ([]interface{}, error) {
|
||||
refundOrder, err := a.AccessAPI("order.reverse.query", map[string]interface{}{
|
||||
"order_id": orderId,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return refundOrder.Data.(map[string]interface{})["reverse_order_list"].([]interface{})[0].(map[string]interface{})["sub_reverse_order_list"].([]interface{}), nil
|
||||
}
|
||||
|
||||
// RefundOrderExamine 商家审核是售后单
|
||||
type RefundOrderExamine struct {
|
||||
ReverseOrderId string `json:"reverse_order_id" required:"true"` // 逆向单ID
|
||||
OrderId string `json:"order_id" required:"true"` // 订单id
|
||||
IdempotentId string `json:"idempotent_id" required:"true"` // 请求唯一标示
|
||||
ActionType string `json:"action_type" required:"true"` // 逆向单审批操作类型,枚举值:【1-同意全单/部分退款申请 、 2-拒绝全单/部分退款申请、 3-同意退货申请 、 4-拒绝退货申请】
|
||||
ReasonCode string `json:"reason_code" required:"false"` // 当拒绝场景必填,即action_type = 2 or action_type =4 时 必填,枚举值: 7019-双方协商一致不再取消订单、 7020-商品已经备货完成、 7021-商品已送出、 7802-商品发出时完好、 7803-用户未举证/举证无效、 7804-商品影响二次销售、 7805-商品不符合7天无理由退款、 7302-未收到退货(仅退货单支持传入该code)、 7001-其他原因
|
||||
ReasonRemarks string `json:"reason_remarks" required:"false"` // 原因备注说明信息
|
||||
RefundProductList []*RefundProductList `json:"refund_product_list" required:"false"` // 订单id
|
||||
}
|
||||
|
||||
type RefundProductList struct {
|
||||
SubBizOrderId string `json:"sub_biz_order_id" required:"false"` // 商品子单ID
|
||||
PlatformSkuId string `json:"platform_sku_id" required:"false"` // 平台商品ID
|
||||
Number string `json:"number"`
|
||||
RefundAmount string `json:"refund_amount"`
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ package ebaiapi
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
)
|
||||
|
||||
func TestCancelOrder(t *testing.T) {
|
||||
err := api.OrderDisagreeReturnGoods("4007560108986061407", "1939575364735607", "1")
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
func TestOrderGet(t *testing.T) {
|
||||
@@ -21,6 +21,53 @@ func TestOrderGet(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderAgreePartRefund(t *testing.T) {
|
||||
param := &RefundOrderExamine{
|
||||
ReverseOrderId: "2308279044977730245",
|
||||
OrderId: "4015750049354953219",
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: RefundTypeAgree,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: "",
|
||||
}
|
||||
refundProductList := make([]*RefundProductList, 0, 0)
|
||||
date, _ := api.GetReverseOrder("4015750049354953219")
|
||||
for _, v := range date {
|
||||
v2 := v.(map[string]interface{})
|
||||
refundProduct := &RefundProductList{
|
||||
SubBizOrderId: v2["sub_biz_order_id"].(string),
|
||||
PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)),
|
||||
}
|
||||
switch utils.MustInterface2Int64(v2["fund_calculate_type"]) {
|
||||
case 0:
|
||||
refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"]))
|
||||
case 1:
|
||||
refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"]))
|
||||
}
|
||||
refundProductList = append(refundProductList, refundProduct)
|
||||
}
|
||||
param.RefundProductList = refundProductList
|
||||
err := api.EbaiRefundOrder(param)
|
||||
globals.SugarLogger.Debugf("err := %s", utils.Format4Output(err, false))
|
||||
}
|
||||
|
||||
func TestOrderAgreeRefund(t *testing.T) {
|
||||
err := api.OrderAgreeRefund(&RefundOrderExamine{
|
||||
ReverseOrderId: "2308279044977730245",
|
||||
OrderId: "4002450124418844395",
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: "1",
|
||||
ReasonRemarks: "",
|
||||
})
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
func TestGetReverseOrder(t *testing.T) {
|
||||
date, _ := api.GetReverseOrder("4099660048407490187")
|
||||
for _, v := range date {
|
||||
fmt.Println(v)
|
||||
}
|
||||
}
|
||||
func TestOrderGet2(t *testing.T) {
|
||||
result, err := api.OrderGet2("2147234624018417846")
|
||||
if err != nil {
|
||||
@@ -57,7 +104,7 @@ func TestOrderListAll(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderPartRefundGet(t *testing.T) {
|
||||
result, err := api.OrderPartRefundGet("4056950043422699136")
|
||||
result, err := api.OrderPartRefundGet("4015750049354953219")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
@@ -165,12 +212,6 @@ func TestAPI_OrderselfDeliveryStateSync(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
func TestAggrent(t *testing.T) {
|
||||
err := api.OrderAgreeReturnGoods("4648176604190697145", "1483635799404794")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestForAA(t *testing.T) {
|
||||
|
||||
|
||||
@@ -29,12 +29,12 @@ func init() {
|
||||
// 天天果园
|
||||
//api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
||||
// 京东果园 320406
|
||||
api = New("c454ef86-2213-4860-9a31-f2ef7e883386", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4")
|
||||
//api = New("c454ef86-2213-4860-9a31-f2ef7e883386", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4")
|
||||
// 果切
|
||||
//api = New("3ef42248-1247-4efa-8624-43cd3a3b97ae", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
||||
|
||||
// 京东超市 381564
|
||||
// api = New("f99d25b8-33a6-4251-a97c-5e24b80b0005", "d2d1e2e3213d4320bc2712a684307831", "1750f5b9848d4a6492c1c20b487074da")
|
||||
api = New("f99d25b8-33a6-4251-a97c-5e24b80b0005", "d2d1e2e3213d4320bc2712a684307831", "1750f5b9848d4a6492c1c20b487074da")
|
||||
//prod zs
|
||||
// api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8")
|
||||
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
|
||||
|
||||
@@ -75,7 +75,7 @@ func TestOrderJDZBDelivery(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestModifySellerDelivery(t *testing.T) {
|
||||
result, err := api.ModifySellerDelivery("2318183905000222", "")
|
||||
result, err := api.ModifySellerDelivery("2320085686000392", "")
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
@@ -147,7 +147,7 @@ func TestOrderQuery2(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetByOrderNoForOaos(t *testing.T) {
|
||||
orderList, err := api.GetByOrderNoForOaos("2226675449000192")
|
||||
orderList, err := api.GetByOrderNoForOaos("2320085686000392")
|
||||
t.Log(utils.Format4Output(orderList, false))
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
|
||||
@@ -66,7 +66,7 @@ func TestFulllDiscountShippingFeeList(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRetailDiscountBatchSave(t *testing.T) {
|
||||
result, _, err := api.RetailDiscountBatchSave2("12944552", 0, []*RetailDiscountActData{
|
||||
result, _, err := api.RetailDiscountBatchSave2("18822904", 0, []*RetailDiscountActData{
|
||||
&RetailDiscountActData{
|
||||
AppFoodCode: "6094573",
|
||||
StartTime: time.Now().Unix(),
|
||||
|
||||
@@ -13,11 +13,12 @@ const (
|
||||
//#region 获取门店订单的结算信息 bill/list
|
||||
|
||||
type Bill struct {
|
||||
AppPoiCode string `json:"app_poi_code"` // APP方门店id,传商家中台系统里门店的编码。如商家在操作绑定门店至开放平台应用中时,未绑定三方门店id信息,则默认APP方门店id与美团门店id相同。
|
||||
StartDate int64 `json:"start_date"` // 秒级时间戳
|
||||
EndDate int64 `json:"end_date"` // 秒级时间戳
|
||||
Offset int64 `json:"offset"`
|
||||
Limit int64 `json:"limit"`
|
||||
AppPoiCode string `json:"app_poi_code"` // APP方门店id,传商家中台系统里门店的编码。如商家在操作绑定门店至开放平台应用中时,未绑定三方门店id信息,则默认APP方门店id与美团门店id相同。
|
||||
StartDate int64 `json:"start_date"` // 秒级时间戳
|
||||
EndDate int64 `json:"end_date"` // 秒级时间戳
|
||||
Offset int64 `json:"offset"`
|
||||
Limit int64 `json:"limit"`
|
||||
AccessToken string `json:"access_token"`
|
||||
}
|
||||
|
||||
// GetStoreBillList 获取门店的订单账单
|
||||
|
||||
@@ -8,14 +8,15 @@ import (
|
||||
|
||||
func TestBillList(t *testing.T) {
|
||||
now := time.Now()
|
||||
from := time.Date(now.Year(), now.Month(), now.Day()-7, 0, 0, 0, 0, time.Local)
|
||||
from := time.Date(now.Year(), now.Month(), now.Day()-2, 0, 0, 0, 0, time.Local)
|
||||
to := time.Date(now.Year(), now.Month(), now.Day()-1, 23, 59, 59, 59, time.Local)
|
||||
param := &Bill{
|
||||
AppPoiCode: "9202390",
|
||||
StartDate: from.Unix(),
|
||||
EndDate: to.Unix(),
|
||||
Offset: 0,
|
||||
Limit: 200,
|
||||
AppPoiCode: "18833517",
|
||||
StartDate: from.Unix(),
|
||||
EndDate: to.Unix(),
|
||||
Offset: 0,
|
||||
Limit: 200,
|
||||
AccessToken: api.token,
|
||||
}
|
||||
|
||||
data, settleId, err := api.GetStoreBillList(param)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package mtwmapi
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -145,3 +146,14 @@ func (a *API) FoodSkuSellStatus(poiCode string, foodData []map[string]interface{
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
// GetSkuPurchasePrice 获取商品进货价
|
||||
func (a *API) GetSkuPurchasePrice(poiCode, skuId string) {
|
||||
data, err := a.AccessAPI("retail/purchase/price/list", true, map[string]interface{}{
|
||||
KeyAppPoiCode: poiCode,
|
||||
"sku_id": skuId,
|
||||
"page_size": 20,
|
||||
})
|
||||
globals.SugarLogger.Debugf("data :== %s", utils.Format4Output(data, false))
|
||||
globals.SugarLogger.Debugf("err :== %s", utils.Format4Output(err, false))
|
||||
}
|
||||
|
||||
@@ -14,3 +14,7 @@ func TestFoodList(t *testing.T) {
|
||||
}
|
||||
// t.Log(result)
|
||||
}
|
||||
|
||||
func TestGetSkuPurchasePrice(t *testing.T) {
|
||||
api.GetSkuPurchasePrice("18048546", "16295939515")
|
||||
}
|
||||
|
||||
@@ -26,7 +26,11 @@ func init() {
|
||||
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
||||
|
||||
//商超
|
||||
<<<<<<< HEAD
|
||||
//api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_ovSLnyKTsMNx0RxMzJ1C7w") //token_n4TwqCntWWuvQwAawzxC0w
|
||||
=======
|
||||
//api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_v-zI40EPjPfXLmaKdgRPqA") //token_n4TwqCntWWuvQwAawzxC0w
|
||||
>>>>>>> 1eebd3a457d772f335a41fd04f88e08ffc8e1bc3
|
||||
cookieStr := `
|
||||
acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1;
|
||||
`
|
||||
@@ -64,7 +68,7 @@ func TestGetAccessToken(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetAccessToken2(t *testing.T) {
|
||||
result, err := api.GetAccessToken2("18574879") //refresh_token_pLG7Jw7g9mu7oOzNSuJIUg
|
||||
result, err := api.GetAccessToken2("18048546") //refresh_token_pLG7Jw7g9mu7oOzNSuJIUg
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -553,6 +554,7 @@ func (a *API) OrderLogisticsCancel(orderID int64, reason string) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// OrderLogisticsStatus 获取订单状态
|
||||
func (a *API) OrderLogisticsStatus(orderID int64) (status int64, err error) {
|
||||
result, err := a.AccessAPI("order/logistics/status", true, map[string]interface{}{
|
||||
KeyOrderID: orderID,
|
||||
@@ -565,6 +567,29 @@ func (a *API) OrderLogisticsStatus(orderID int64) (status int64, err error) {
|
||||
return utils.Interface2Int64WithDefault(data["logistics_status"], 0), err
|
||||
}
|
||||
|
||||
// OrderLogisticsFee 获取订单配送费
|
||||
func (a *API) OrderLogisticsFee(orderID int64) (payFee float64, err error) {
|
||||
result, err := a.AccessAPI("order/logistics/status", true, map[string]interface{}{
|
||||
KeyOrderID: orderID,
|
||||
})
|
||||
globals.SugarLogger.Debugf("=resutl := %s", utils.Format4Output(result, false))
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
data := result.(map[string]interface{})
|
||||
// 美团运单,骑手确认订单之后取消的话就需要扣除全部的运单费用了,到店之后取消订单也不支付骑手配送费
|
||||
if utils.Interface2Int64WithDefault(data["logistics_status"], 0) == utils.Str2Int64WithDefault(WaybillStatusCanceled, 0) {
|
||||
if utils.Interface2Int64WithDefault(data["dispatcher_reach_poi_time"], 0) != 0 {
|
||||
return 2, nil
|
||||
} else if utils.Interface2Int64WithDefault(data["send_time"], 0) != 0 {
|
||||
return utils.TryInterface2Float64(data["pay_amount"])
|
||||
} else {
|
||||
return 0, nil
|
||||
}
|
||||
}
|
||||
return utils.TryInterface2Float64(data["pay_amount"])
|
||||
}
|
||||
|
||||
// 拉取用户真实手机号(必接)
|
||||
// https://developer.waimai.meituan.com/home/docDetail/222
|
||||
// limit最大为MaxBatchPullPhoneNumberLimit = 1000
|
||||
|
||||
@@ -19,7 +19,7 @@ func TestOrderViewStatus(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderGetOrderDetail(t *testing.T) {
|
||||
result, err := api.OrderGetOrderDetail(900658760944919842, false)
|
||||
result, err := api.OrderGetOrderDetail(1100692033635137950, false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -35,7 +35,7 @@ func TestOrderGetOrderDetail(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderGetOrderDetail2(t *testing.T) {
|
||||
result, err := api.OrderGetOrderDetail2(1000533651036489997, false)
|
||||
result, err := api.OrderGetOrderDetail2(1100687990339131759, false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -77,7 +77,18 @@ func TestOrderApplyPartRefund(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderLogisticsStatus(t *testing.T) {
|
||||
result, err := api.OrderLogisticsStatus(140382472052682640)
|
||||
result, err := api.OrderLogisticsStatus(1100687990339131759)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if result == 0 {
|
||||
t.Fatal("result should have value")
|
||||
}
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestOrderLogisticsFee(t *testing.T) {
|
||||
result, err := api.OrderLogisticsFee(900699454211738469)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ func TestPoiGetIDs(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPoiMGet(t *testing.T) {
|
||||
result, err := api.PoiMGet([]string{"15467875"})
|
||||
result, err := api.PoiMGet([]string{"18822904"})
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -44,10 +44,10 @@ func TestPoiSave(t *testing.T) {
|
||||
//}
|
||||
poiParams := map[string]interface{}{}
|
||||
//utils.FilterMapNilMembers(utils.Struct2FlatMap(result[0]))
|
||||
poiParams["address"] = "云南省楚雄彝族自治州楚雄市东瓜镇高新区永安路1号四季银座花园城6栋6-4"
|
||||
poiParams["address"] = "北京市朝阳区百子湾路32号院6号楼-1层C3-1号"
|
||||
//poiParams["pic_url"] = "http://image.jxc4.com/image/5c9fc4fffb4d5ff1aecf85a2d2543e00.jpg"
|
||||
//poiParams["name"] = "京西菜市(礼嘉桥村市场店)"
|
||||
err := api.PoiSave("15467875", poiParams)
|
||||
err := api.PoiSave("18830143", poiParams)
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ func TestReloadStoreSku(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRetailGet(t *testing.T) {
|
||||
result, err := api.RetailGet("17886205", "mtcode_1664518383900835894")
|
||||
result, err := api.RetailGet("18048546", "305011012")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ const (
|
||||
PeiSongTypeKuaiDi = "2002" // 快送
|
||||
PeiSongTypeWholeCity = "2010" // 全城送
|
||||
PeiSongTypeMixed = "3001" // 混合送(即美团专送+快送)
|
||||
PeiSongTypeQiKe = "4015" // 企客远距离配送
|
||||
)
|
||||
|
||||
func (a *API) ShippingSave(poiCode string, area string, minPrice, shippingFee float32) (err error) {
|
||||
|
||||
@@ -36,7 +36,7 @@ func CallBackResultInfo(err error) *CallBackResult {
|
||||
return &CallBackResult{
|
||||
Success: true,
|
||||
ErrCode: "SUCCESS",
|
||||
ErrMsg: "",
|
||||
ErrMsg: "成功",
|
||||
}
|
||||
}
|
||||
return &CallBackResult{
|
||||
@@ -52,7 +52,7 @@ func CallBackResultSign(err error) *CallBackResult {
|
||||
return &CallBackResult{
|
||||
Success: true,
|
||||
ErrCode: "SUCCESS",
|
||||
ErrMsg: "",
|
||||
ErrMsg: "成功",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,8 @@ func (a *API) DeliveryFinish(req *request2.AlibabaAelophyOrderWorkCallbackReques
|
||||
client := ability591.NewAbility591(&a.client)
|
||||
|
||||
//globals.SugarLogger.Debugf("param := %s", utils.Format4Output(req, false))
|
||||
data, _ := client.AlibabaAelophyOrderWorkCallback(req, a.token)
|
||||
data, err := client.AlibabaAelophyOrderWorkCallback(req, a.token)
|
||||
fmt.Println(err)
|
||||
if data != nil && !*data.ApiResult.Success {
|
||||
//globals.SugarLogger.Debugf("requestId[%s],err[%s]", data.RequestId, utils.Format4Output(data, false))
|
||||
return fmt.Errorf(*data.ApiResult.ErrMsg)
|
||||
|
||||
@@ -22,8 +22,8 @@ func TestName(t *testing.T) {
|
||||
}
|
||||
func TestGetOrderDetail(t *testing.T) {
|
||||
requestParam := &request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{
|
||||
StoreId: utils.String2Pointer("JX666708"),
|
||||
BizOrderId: utils.Int64ToPointer(5000910858776180489),
|
||||
StoreId: utils.String2Pointer("JX101983"),
|
||||
BizOrderId: utils.Int64ToPointer(5000921008118200880),
|
||||
}}
|
||||
data, err := apiTao.QueryOrderDetail(requestParam)
|
||||
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
||||
@@ -135,20 +135,44 @@ func TestGetTransactionOrderList(t *testing.T) {
|
||||
func TestPickUp(t *testing.T) {
|
||||
param := &request591.AlibabaAelophyOrderWorkCallbackRequest{}
|
||||
param.WorkCallbackRequest = &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
||||
StoreId: utils.String2Pointer("JX668594"),
|
||||
BizOrderId: utils.Int64ToPointer(5000900604228190922),
|
||||
Status: utils.String2Pointer("SHIPPING"),
|
||||
StoreId: utils.String2Pointer("JX101983"),
|
||||
BizOrderId: utils.Int64ToPointer(5000921008118200880),
|
||||
Status: utils.String2Pointer("PICKED"),
|
||||
}
|
||||
|
||||
workCallbackSubOrderInfoList := make([]domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo, 0, 0)
|
||||
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
||||
BizSubOrderId: utils.Int64ToPointer(3422286108419706112),
|
||||
SkuCode: utils.String2Pointer("19930827"),
|
||||
PickSaleQuantity: utils.String2Pointer("3"),
|
||||
PickStockQuantity: utils.String2Pointer("3"),
|
||||
BizSubOrderId: utils.Int64ToPointer(5000921008118210880),
|
||||
SkuCode: utils.String2Pointer("39132"),
|
||||
PickSaleQuantity: utils.String2Pointer("1"),
|
||||
PickStockQuantity: utils.String2Pointer("1"),
|
||||
}
|
||||
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo)
|
||||
|
||||
workCallbackSubOrderInfo2 := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
||||
BizSubOrderId: utils.Int64ToPointer(5000921008118220880),
|
||||
SkuCode: utils.String2Pointer("6093937"),
|
||||
PickSaleQuantity: utils.String2Pointer("2"),
|
||||
PickStockQuantity: utils.String2Pointer("2"),
|
||||
}
|
||||
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo2)
|
||||
|
||||
workCallbackSubOrderInfo3 := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
||||
BizSubOrderId: utils.Int64ToPointer(5000921008118230880),
|
||||
SkuCode: utils.String2Pointer("6045098"),
|
||||
PickSaleQuantity: utils.String2Pointer("1"),
|
||||
PickStockQuantity: utils.String2Pointer("1"),
|
||||
}
|
||||
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo3)
|
||||
|
||||
workCallbackSubOrderInfo4 := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
||||
BizSubOrderId: utils.Int64ToPointer(5000921008118240880),
|
||||
SkuCode: utils.String2Pointer("24342"),
|
||||
PickSaleQuantity: utils.String2Pointer("1"),
|
||||
PickStockQuantity: utils.String2Pointer("1"),
|
||||
}
|
||||
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo4)
|
||||
|
||||
// 出库
|
||||
param.WorkCallbackRequest.WorkCallbackSubOrderInfoList = &workCallbackSubOrderInfoList
|
||||
|
||||
|
||||
@@ -112,21 +112,47 @@ func TestAddStoreSku(t *testing.T) {
|
||||
globals.SugarLogger.Debugf("err = %s", utils.Format4Output(err, false))
|
||||
}
|
||||
|
||||
var skucodeMap = []string{
|
||||
"JX100829:25278",
|
||||
}
|
||||
|
||||
func TestUpdateSku(t *testing.T) {
|
||||
param := &request585.AlibabaWdkSkuUpdateRequest{}
|
||||
updateSkuList := make([]domain585.AlibabaWdkSkuUpdateSkuDo, 0, 0)
|
||||
updateSku := domain585.AlibabaWdkSkuUpdateSkuDo{
|
||||
OuCode: utils.String2Pointer("JX101870"),
|
||||
SkuCode: utils.String2Pointer("6045426"),
|
||||
CleanSkuMemberPrice: utils.Int64ToPointer(1),
|
||||
AllowAppSale: utils.Int64ToPointer(1),
|
||||
OnlineSaleFlag: utils.Int64ToPointer(1),
|
||||
data2 := make([]string, 0, 0)
|
||||
for _, v := range skucodeMap {
|
||||
storeCodeAndSkuCode := strings.Split(v, ":")
|
||||
skuCode := []string{storeCodeAndSkuCode[1]}
|
||||
storeCode1 := utils.String2Pointer(storeCodeAndSkuCode[0])
|
||||
result, err := apiTao.QueryStoreSKu(&request585.AlibabaWdkSkuQueryRequest{Param: &domain585.AlibabaWdkSkuQuerySkuQueryDo{
|
||||
OuCode: storeCode1,
|
||||
SkuCodes: &skuCode,
|
||||
}})
|
||||
if err != nil {
|
||||
data2 = append(data2, v)
|
||||
continue
|
||||
}
|
||||
|
||||
storeCode := *result
|
||||
if len(storeCode) > 0 && utils.Str2Float64WithDefault(*storeCode[0].Model.SalePrice, 0) < 5 {
|
||||
param := &request585.AlibabaWdkSkuUpdateRequest{}
|
||||
updateSkuList := make([]domain585.AlibabaWdkSkuUpdateSkuDo, 0, 0)
|
||||
updateSku := domain585.AlibabaWdkSkuUpdateSkuDo{
|
||||
OuCode: storeCode1,
|
||||
SkuCode: utils.String2Pointer(skuCode[0]),
|
||||
SkuPrice: utils.String2Pointer(utils.Float64ToStr(utils.Str2Float64WithDefault(*storeCode[0].Model.SalePrice, 0) + 2)), // 优先使用skuPrice 靠后SalePrice
|
||||
}
|
||||
updateSkuList = append(updateSkuList, updateSku)
|
||||
param.ParamList = &updateSkuList
|
||||
_, err := apiTao.UpdateStoreSku(param)
|
||||
if err != nil {
|
||||
data2 = append(data2, v)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
updateSkuList = append(updateSkuList, updateSku)
|
||||
param.ParamList = &updateSkuList
|
||||
data, err := apiTao.UpdateStoreSku(param)
|
||||
globals.SugarLogger.Debugf("data = %s", utils.Format4Output(data, false))
|
||||
globals.SugarLogger.Debugf("err = %s", utils.Format4Output(err, false))
|
||||
|
||||
globals.SugarLogger.Debugf("data2 :============ %s", utils.Format4Output(data2, false))
|
||||
|
||||
}
|
||||
|
||||
// 商品上下架
|
||||
|
||||
@@ -44,12 +44,6 @@ var (
|
||||
)
|
||||
|
||||
func init() {
|
||||
//dir := os.Getenv("PHONE_DATA_DIR")
|
||||
//if dir == "" {
|
||||
// _, fulleFilename, _, _ := runtime.Caller(0)
|
||||
// dir = path.Dir(fulleFilename)
|
||||
//}
|
||||
|
||||
var err error
|
||||
content, err = ioutil.ReadFile(PHONE_DAT) //path.Join(dir, PHONE_DAT)
|
||||
if err != nil {
|
||||
|
||||
@@ -7,21 +7,8 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
//var token = `{
|
||||
// "access_token": "b668f8cc-d875-4887-a613-5452f05e752e",
|
||||
// "expires_in": 1671432212,
|
||||
// "scope": "SCOPE",
|
||||
// "shop_id": 63141688,
|
||||
// "shop_name": "小时达开放平台专用店",
|
||||
// "refresh_token": "fa64fedf-05a7-4c1b-b6c4-f97f90e10b75",
|
||||
// "authority_id": ""
|
||||
//}`
|
||||
|
||||
var token = `{"access_token":"387f10da-bb2f-4416-9323-697574efc8b1","expires_in":1690696461,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"65d99337-6e0e-47fb-80af-f90929ceea64","authority_id":""}`
|
||||
|
||||
//var token = `{"access_token":"e3173e9f-266f-4d87-88e7-e7cd837bc9d9","expires_in":1672882632,"scope":"SCOPE","shop_id":68023619,"shop_name":"京西到家","refresh_token":"5070aae2-493f-46bd-b5d6-6ea0cd64729f","authority_id":""}`
|
||||
|
||||
var a = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
|
||||
var token = `{"access_token":"4a1ac795-50a7-4f83-8b13-a0ee30d93456","expires_in":1692502247,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"b1892379-82b9-4636-91a3-2bff32d164ca","authority_id":""}`
|
||||
var a = New("7267745202649957900", "51998fcf-d521-4553-8c0c-fa662c8dbd6e", token)
|
||||
|
||||
// 查询售后单详情
|
||||
func TestAfsOrder(t *testing.T) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user