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))},
|
"body": []string{string(utils.MustMarshal(body))},
|
||||||
"encrypt": []string{a.encrypt},
|
"encrypt": []string{a.encrypt},
|
||||||
}
|
}
|
||||||
|
|
||||||
params[signKey] = []string{a.signParams(params)}
|
params[signKey] = []string{a.signParams(params)}
|
||||||
encodedParams := params.Encode()
|
encodedParams := params.Encode()
|
||||||
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||||
|
|||||||
@@ -31,6 +31,13 @@ const (
|
|||||||
OrderStatusRefund = "15" // 订单退款,这个是售后之后的事件,不应该当成正常订单事件处理
|
OrderStatusRefund = "15" // 订单退款,这个是售后之后的事件,不应该当成正常订单事件处理
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
RefundTypeAgree = "1" // 同意全单/部分退款申请
|
||||||
|
RefundTypeRefuse = "2" // 拒绝全单/部分退款申请
|
||||||
|
RefundTypeAgreeGoods = "3" // 同意退货申请
|
||||||
|
RefundTypeRefuseGoods = "4" // 拒绝退货申请
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
WaybillStatusEvent = "1" // 一般事件
|
WaybillStatusEvent = "1" // 一般事件
|
||||||
WaybillStatusNew = "2" // 生成运单
|
WaybillStatusNew = "2" // 生成运单
|
||||||
@@ -560,14 +567,6 @@ func (a *API) OrderPartRefundGet(orderID string) (orderMap map[string]interface{
|
|||||||
return nil, err
|
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) {
|
func (a *API) SmartOrderIdConvert(orderID string) (convertedOrderID string, err error) {
|
||||||
return a.OrderIdConvert(orderID, isOrderIDEleme(orderID))
|
return a.OrderIdConvert(orderID, isOrderIDEleme(orderID))
|
||||||
}
|
}
|
||||||
@@ -576,23 +575,27 @@ func isOrderIDEleme(orderID string) bool {
|
|||||||
return len(orderID) == len("3026328756122155111")
|
return len(orderID) == len("3026328756122155111")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *API) OrderAgreeRefund(orderID string) (err error) {
|
func (a *API) OrderAgreeRefund(param *RefundOrderExamine) (err error) {
|
||||||
_, err = a.AccessAPI("order.agreerefund", map[string]interface{}{
|
return a.EbaiRefundOrder(param)
|
||||||
"order_id": orderID,
|
//_, err = a.AccessAPI("order.agreerefund", map[string]interface{}{
|
||||||
})
|
// "order_id": orderID,
|
||||||
return err
|
//})
|
||||||
|
//return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *API) OrderDisagreeRefund(orderID, refuseReason string) (err error) {
|
func (a *API) OrderDisagreeRefund(param *RefundOrderExamine) (err error) {
|
||||||
_, err = a.AccessAPI("order.disagreerefund", map[string]interface{}{
|
return a.EbaiRefundOrder(param)
|
||||||
"order_id": orderID,
|
//_, err = a.AccessAPI("order.disagreerefund", map[string]interface{}{
|
||||||
"refuse_reason": refuseReason,
|
// "order_id": orderID,
|
||||||
})
|
// "refuse_reason": refuseReason,
|
||||||
return err
|
//})
|
||||||
|
//return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//售后 同意用户多次部分取消
|
//售后 同意用户多次部分取消
|
||||||
func (a *API) OrderPartRefund(orderID string, removeSkuList []*RefundSku) (err error) {
|
func (a *API) OrderPartRefund(orderID string, removeSkuList []*RefundSku) (err error) {
|
||||||
|
//return a.EbaiRefundOrder(param)
|
||||||
|
|
||||||
_, err = a.AccessAPI("order.manyTimesPartrefund", map[string]interface{}{
|
_, err = a.AccessAPI("order.manyTimesPartrefund", map[string]interface{}{
|
||||||
"order_id": orderID,
|
"order_id": orderID,
|
||||||
"products": removeSkuList,
|
"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) {
|
func (a *API) OrderAgreePartRefund(param *RefundOrderExamine) (err error) {
|
||||||
_, err = a.AccessAPI("order.agreepartrefund", map[string]interface{}{
|
return a.EbaiRefundOrder(param)
|
||||||
"order_id": orderID,
|
|
||||||
"products": removeSkuList,
|
//_, err = a.AccessAPI("order.agreepartrefund", map[string]interface{}{
|
||||||
"refund_id": refundID,
|
// "order_id": orderID,
|
||||||
})
|
// "products": removeSkuList,
|
||||||
return err
|
// "refund_id": refundID,
|
||||||
|
//})
|
||||||
|
//return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//售后 同意退货退款
|
//售后 同意退货退款
|
||||||
func (a *API) OrderAgreeReturnGoods(orderID, refundOrderID string) (err error) {
|
func (a *API) OrderAgreeReturnGoods(param *RefundOrderExamine) (err error) {
|
||||||
_, err = a.AccessAPI("order.agreereturngoods", map[string]interface{}{
|
return a.EbaiRefundOrder(param)
|
||||||
"order_id": orderID,
|
//_, err = a.AccessAPI("order.agreereturngoods", map[string]interface{}{
|
||||||
"refund_order_id": refundOrderID,
|
// "order_id": orderID,
|
||||||
})
|
// "refund_order_id": refundOrderID,
|
||||||
return err
|
//})
|
||||||
|
//return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//售后 拒绝退货退款
|
//售后 拒绝退货退款
|
||||||
func (a *API) OrderDisagreeReturnGoods(orderID, refundOrderID, reason string) (err error) {
|
func (a *API) OrderDisagreeReturnGoods(param *RefundOrderExamine) (err error) {
|
||||||
data, err := a.AccessAPI("order.disagreereturngoods", map[string]interface{}{
|
return a.EbaiRefundOrder(param)
|
||||||
"order_id": orderID,
|
//data, err := a.AccessAPI("order.disagreereturngoods", map[string]interface{}{
|
||||||
"refund_order_id": refundOrderID,
|
// "order_id": orderID,
|
||||||
"refuse_code": "5",
|
// "refund_order_id": refundOrderID,
|
||||||
"refuse_reason": reason,
|
// "refuse_code": "5",
|
||||||
})
|
// "refuse_reason": reason,
|
||||||
fmt.Println(data)
|
//})
|
||||||
return err
|
//fmt.Println(data)
|
||||||
|
//return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *API) OrderCheckout(orderID, pickUpCode string) (err error) {
|
func (a *API) OrderCheckout(orderID, pickUpCode string) (err error) {
|
||||||
@@ -645,3 +652,43 @@ func (a *API) OrderQueryAcceptancecode(orderID string) (err error) {
|
|||||||
})
|
})
|
||||||
return err
|
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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCancelOrder(t *testing.T) {
|
func TestCancelOrder(t *testing.T) {
|
||||||
err := api.OrderDisagreeReturnGoods("4007560108986061407", "1939575364735607", "1")
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOrderGet(t *testing.T) {
|
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) {
|
func TestOrderGet2(t *testing.T) {
|
||||||
result, err := api.OrderGet2("2147234624018417846")
|
result, err := api.OrderGet2("2147234624018417846")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -57,7 +104,7 @@ func TestOrderListAll(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestOrderPartRefundGet(t *testing.T) {
|
func TestOrderPartRefundGet(t *testing.T) {
|
||||||
result, err := api.OrderPartRefundGet("4056950043422699136")
|
result, err := api.OrderPartRefundGet("4015750049354953219")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
} else {
|
} else {
|
||||||
@@ -165,12 +212,6 @@ func TestAPI_OrderselfDeliveryStateSync(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func TestAggrent(t *testing.T) {
|
|
||||||
err := api.OrderAgreeReturnGoods("4648176604190697145", "1483635799404794")
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestForAA(t *testing.T) {
|
func TestForAA(t *testing.T) {
|
||||||
|
|
||||||
|
|||||||
@@ -29,12 +29,12 @@ func init() {
|
|||||||
// 天天果园
|
// 天天果园
|
||||||
//api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
//api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
||||||
// 京东果园 320406
|
// 京东果园 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")
|
//api = New("3ef42248-1247-4efa-8624-43cd3a3b97ae", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
||||||
|
|
||||||
// 京东超市 381564
|
// 京东超市 381564
|
||||||
// api = New("f99d25b8-33a6-4251-a97c-5e24b80b0005", "d2d1e2e3213d4320bc2712a684307831", "1750f5b9848d4a6492c1c20b487074da")
|
api = New("f99d25b8-33a6-4251-a97c-5e24b80b0005", "d2d1e2e3213d4320bc2712a684307831", "1750f5b9848d4a6492c1c20b487074da")
|
||||||
//prod zs
|
//prod zs
|
||||||
// api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8")
|
// api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8")
|
||||||
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
|
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ func TestOrderJDZBDelivery(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestModifySellerDelivery(t *testing.T) {
|
func TestModifySellerDelivery(t *testing.T) {
|
||||||
result, err := api.ModifySellerDelivery("2318183905000222", "")
|
result, err := api.ModifySellerDelivery("2320085686000392", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
@@ -147,7 +147,7 @@ func TestOrderQuery2(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGetByOrderNoForOaos(t *testing.T) {
|
func TestGetByOrderNoForOaos(t *testing.T) {
|
||||||
orderList, err := api.GetByOrderNoForOaos("2226675449000192")
|
orderList, err := api.GetByOrderNoForOaos("2320085686000392")
|
||||||
t.Log(utils.Format4Output(orderList, false))
|
t.Log(utils.Format4Output(orderList, false))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ func TestFulllDiscountShippingFeeList(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRetailDiscountBatchSave(t *testing.T) {
|
func TestRetailDiscountBatchSave(t *testing.T) {
|
||||||
result, _, err := api.RetailDiscountBatchSave2("12944552", 0, []*RetailDiscountActData{
|
result, _, err := api.RetailDiscountBatchSave2("18822904", 0, []*RetailDiscountActData{
|
||||||
&RetailDiscountActData{
|
&RetailDiscountActData{
|
||||||
AppFoodCode: "6094573",
|
AppFoodCode: "6094573",
|
||||||
StartTime: time.Now().Unix(),
|
StartTime: time.Now().Unix(),
|
||||||
|
|||||||
@@ -13,11 +13,12 @@ const (
|
|||||||
//#region 获取门店订单的结算信息 bill/list
|
//#region 获取门店订单的结算信息 bill/list
|
||||||
|
|
||||||
type Bill struct {
|
type Bill struct {
|
||||||
AppPoiCode string `json:"app_poi_code"` // APP方门店id,传商家中台系统里门店的编码。如商家在操作绑定门店至开放平台应用中时,未绑定三方门店id信息,则默认APP方门店id与美团门店id相同。
|
AppPoiCode string `json:"app_poi_code"` // APP方门店id,传商家中台系统里门店的编码。如商家在操作绑定门店至开放平台应用中时,未绑定三方门店id信息,则默认APP方门店id与美团门店id相同。
|
||||||
StartDate int64 `json:"start_date"` // 秒级时间戳
|
StartDate int64 `json:"start_date"` // 秒级时间戳
|
||||||
EndDate int64 `json:"end_date"` // 秒级时间戳
|
EndDate int64 `json:"end_date"` // 秒级时间戳
|
||||||
Offset int64 `json:"offset"`
|
Offset int64 `json:"offset"`
|
||||||
Limit int64 `json:"limit"`
|
Limit int64 `json:"limit"`
|
||||||
|
AccessToken string `json:"access_token"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetStoreBillList 获取门店的订单账单
|
// GetStoreBillList 获取门店的订单账单
|
||||||
|
|||||||
@@ -8,14 +8,15 @@ import (
|
|||||||
|
|
||||||
func TestBillList(t *testing.T) {
|
func TestBillList(t *testing.T) {
|
||||||
now := time.Now()
|
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)
|
to := time.Date(now.Year(), now.Month(), now.Day()-1, 23, 59, 59, 59, time.Local)
|
||||||
param := &Bill{
|
param := &Bill{
|
||||||
AppPoiCode: "9202390",
|
AppPoiCode: "18833517",
|
||||||
StartDate: from.Unix(),
|
StartDate: from.Unix(),
|
||||||
EndDate: to.Unix(),
|
EndDate: to.Unix(),
|
||||||
Offset: 0,
|
Offset: 0,
|
||||||
Limit: 200,
|
Limit: 200,
|
||||||
|
AccessToken: api.token,
|
||||||
}
|
}
|
||||||
|
|
||||||
data, settleId, err := api.GetStoreBillList(param)
|
data, settleId, err := api.GetStoreBillList(param)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package mtwmapi
|
package mtwmapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
@@ -145,3 +146,14 @@ func (a *API) FoodSkuSellStatus(poiCode string, foodData []map[string]interface{
|
|||||||
})
|
})
|
||||||
return err
|
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)
|
// t.Log(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetSkuPurchasePrice(t *testing.T) {
|
||||||
|
api.GetSkuPurchasePrice("18048546", "16295939515")
|
||||||
|
}
|
||||||
|
|||||||
@@ -26,7 +26,11 @@ func init() {
|
|||||||
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
//api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "")
|
||||||
|
|
||||||
//商超
|
//商超
|
||||||
|
<<<<<<< HEAD
|
||||||
//api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_ovSLnyKTsMNx0RxMzJ1C7w") //token_n4TwqCntWWuvQwAawzxC0w
|
//api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_ovSLnyKTsMNx0RxMzJ1C7w") //token_n4TwqCntWWuvQwAawzxC0w
|
||||||
|
=======
|
||||||
|
//api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_v-zI40EPjPfXLmaKdgRPqA") //token_n4TwqCntWWuvQwAawzxC0w
|
||||||
|
>>>>>>> 1eebd3a457d772f335a41fd04f88e08ffc8e1bc3
|
||||||
cookieStr := `
|
cookieStr := `
|
||||||
acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1;
|
acctId=57396785; token=0bWbK5VbK50E2BmIhIH2zHB-am_y7mB37yXHm6RLZWx4*; wmPoiId=-1;
|
||||||
`
|
`
|
||||||
@@ -64,7 +68,7 @@ func TestGetAccessToken(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGetAccessToken2(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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -553,6 +554,7 @@ func (a *API) OrderLogisticsCancel(orderID int64, reason string) (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderLogisticsStatus 获取订单状态
|
||||||
func (a *API) OrderLogisticsStatus(orderID int64) (status int64, err error) {
|
func (a *API) OrderLogisticsStatus(orderID int64) (status int64, err error) {
|
||||||
result, err := a.AccessAPI("order/logistics/status", true, map[string]interface{}{
|
result, err := a.AccessAPI("order/logistics/status", true, map[string]interface{}{
|
||||||
KeyOrderID: orderID,
|
KeyOrderID: orderID,
|
||||||
@@ -565,6 +567,29 @@ func (a *API) OrderLogisticsStatus(orderID int64) (status int64, err error) {
|
|||||||
return utils.Interface2Int64WithDefault(data["logistics_status"], 0), err
|
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
|
// https://developer.waimai.meituan.com/home/docDetail/222
|
||||||
// limit最大为MaxBatchPullPhoneNumberLimit = 1000
|
// limit最大为MaxBatchPullPhoneNumberLimit = 1000
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ func TestOrderViewStatus(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestOrderGetOrderDetail(t *testing.T) {
|
func TestOrderGetOrderDetail(t *testing.T) {
|
||||||
result, err := api.OrderGetOrderDetail(900658760944919842, false)
|
result, err := api.OrderGetOrderDetail(1100692033635137950, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,7 @@ func TestOrderGetOrderDetail(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestOrderGetOrderDetail2(t *testing.T) {
|
func TestOrderGetOrderDetail2(t *testing.T) {
|
||||||
result, err := api.OrderGetOrderDetail2(1000533651036489997, false)
|
result, err := api.OrderGetOrderDetail2(1100687990339131759, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,18 @@ func TestOrderApplyPartRefund(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestOrderLogisticsStatus(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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ func TestPoiGetIDs(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestPoiMGet(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))
|
t.Log(utils.Format4Output(result, false))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@@ -44,10 +44,10 @@ func TestPoiSave(t *testing.T) {
|
|||||||
//}
|
//}
|
||||||
poiParams := map[string]interface{}{}
|
poiParams := map[string]interface{}{}
|
||||||
//utils.FilterMapNilMembers(utils.Struct2FlatMap(result[0]))
|
//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["pic_url"] = "http://image.jxc4.com/image/5c9fc4fffb4d5ff1aecf85a2d2543e00.jpg"
|
||||||
//poiParams["name"] = "京西菜市(礼嘉桥村市场店)"
|
//poiParams["name"] = "京西菜市(礼嘉桥村市场店)"
|
||||||
err := api.PoiSave("15467875", poiParams)
|
err := api.PoiSave("18830143", poiParams)
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ func TestReloadStoreSku(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRetailGet(t *testing.T) {
|
func TestRetailGet(t *testing.T) {
|
||||||
result, err := api.RetailGet("17886205", "mtcode_1664518383900835894")
|
result, err := api.RetailGet("18048546", "305011012")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ const (
|
|||||||
PeiSongTypeKuaiDi = "2002" // 快送
|
PeiSongTypeKuaiDi = "2002" // 快送
|
||||||
PeiSongTypeWholeCity = "2010" // 全城送
|
PeiSongTypeWholeCity = "2010" // 全城送
|
||||||
PeiSongTypeMixed = "3001" // 混合送(即美团专送+快送)
|
PeiSongTypeMixed = "3001" // 混合送(即美团专送+快送)
|
||||||
|
PeiSongTypeQiKe = "4015" // 企客远距离配送
|
||||||
)
|
)
|
||||||
|
|
||||||
func (a *API) ShippingSave(poiCode string, area string, minPrice, shippingFee float32) (err error) {
|
func (a *API) ShippingSave(poiCode string, area string, minPrice, shippingFee float32) (err error) {
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ func CallBackResultInfo(err error) *CallBackResult {
|
|||||||
return &CallBackResult{
|
return &CallBackResult{
|
||||||
Success: true,
|
Success: true,
|
||||||
ErrCode: "SUCCESS",
|
ErrCode: "SUCCESS",
|
||||||
ErrMsg: "",
|
ErrMsg: "成功",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return &CallBackResult{
|
return &CallBackResult{
|
||||||
@@ -52,7 +52,7 @@ func CallBackResultSign(err error) *CallBackResult {
|
|||||||
return &CallBackResult{
|
return &CallBackResult{
|
||||||
Success: true,
|
Success: true,
|
||||||
ErrCode: "SUCCESS",
|
ErrCode: "SUCCESS",
|
||||||
ErrMsg: "",
|
ErrMsg: "成功",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,8 @@ func (a *API) DeliveryFinish(req *request2.AlibabaAelophyOrderWorkCallbackReques
|
|||||||
client := ability591.NewAbility591(&a.client)
|
client := ability591.NewAbility591(&a.client)
|
||||||
|
|
||||||
//globals.SugarLogger.Debugf("param := %s", utils.Format4Output(req, false))
|
//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 {
|
if data != nil && !*data.ApiResult.Success {
|
||||||
//globals.SugarLogger.Debugf("requestId[%s],err[%s]", data.RequestId, utils.Format4Output(data, false))
|
//globals.SugarLogger.Debugf("requestId[%s],err[%s]", data.RequestId, utils.Format4Output(data, false))
|
||||||
return fmt.Errorf(*data.ApiResult.ErrMsg)
|
return fmt.Errorf(*data.ApiResult.ErrMsg)
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ func TestName(t *testing.T) {
|
|||||||
}
|
}
|
||||||
func TestGetOrderDetail(t *testing.T) {
|
func TestGetOrderDetail(t *testing.T) {
|
||||||
requestParam := &request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{
|
requestParam := &request591.AlibabaAelophyOrderGetRequest{OrderGetRequest: &domain591.AlibabaAelophyOrderGetOrderGetRequest{
|
||||||
StoreId: utils.String2Pointer("JX666708"),
|
StoreId: utils.String2Pointer("JX101983"),
|
||||||
BizOrderId: utils.Int64ToPointer(5000910858776180489),
|
BizOrderId: utils.Int64ToPointer(5000921008118200880),
|
||||||
}}
|
}}
|
||||||
data, err := apiTao.QueryOrderDetail(requestParam)
|
data, err := apiTao.QueryOrderDetail(requestParam)
|
||||||
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
globals.SugarLogger.Debugf("data := %s", utils.Format4Output(data, false))
|
||||||
@@ -135,20 +135,44 @@ func TestGetTransactionOrderList(t *testing.T) {
|
|||||||
func TestPickUp(t *testing.T) {
|
func TestPickUp(t *testing.T) {
|
||||||
param := &request591.AlibabaAelophyOrderWorkCallbackRequest{}
|
param := &request591.AlibabaAelophyOrderWorkCallbackRequest{}
|
||||||
param.WorkCallbackRequest = &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
param.WorkCallbackRequest = &domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackRequest{
|
||||||
StoreId: utils.String2Pointer("JX668594"),
|
StoreId: utils.String2Pointer("JX101983"),
|
||||||
BizOrderId: utils.Int64ToPointer(5000900604228190922),
|
BizOrderId: utils.Int64ToPointer(5000921008118200880),
|
||||||
Status: utils.String2Pointer("SHIPPING"),
|
Status: utils.String2Pointer("PICKED"),
|
||||||
}
|
}
|
||||||
|
|
||||||
workCallbackSubOrderInfoList := make([]domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo, 0, 0)
|
workCallbackSubOrderInfoList := make([]domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo, 0, 0)
|
||||||
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
workCallbackSubOrderInfo := domain591.AlibabaAelophyOrderWorkCallbackWorkCallbackSubOrderInfo{
|
||||||
BizSubOrderId: utils.Int64ToPointer(3422286108419706112),
|
BizSubOrderId: utils.Int64ToPointer(5000921008118210880),
|
||||||
SkuCode: utils.String2Pointer("19930827"),
|
SkuCode: utils.String2Pointer("39132"),
|
||||||
PickSaleQuantity: utils.String2Pointer("3"),
|
PickSaleQuantity: utils.String2Pointer("1"),
|
||||||
PickStockQuantity: utils.String2Pointer("3"),
|
PickStockQuantity: utils.String2Pointer("1"),
|
||||||
}
|
}
|
||||||
workCallbackSubOrderInfoList = append(workCallbackSubOrderInfoList, workCallbackSubOrderInfo)
|
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
|
param.WorkCallbackRequest.WorkCallbackSubOrderInfoList = &workCallbackSubOrderInfoList
|
||||||
|
|
||||||
|
|||||||
@@ -112,21 +112,47 @@ func TestAddStoreSku(t *testing.T) {
|
|||||||
globals.SugarLogger.Debugf("err = %s", utils.Format4Output(err, false))
|
globals.SugarLogger.Debugf("err = %s", utils.Format4Output(err, false))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var skucodeMap = []string{
|
||||||
|
"JX100829:25278",
|
||||||
|
}
|
||||||
|
|
||||||
func TestUpdateSku(t *testing.T) {
|
func TestUpdateSku(t *testing.T) {
|
||||||
param := &request585.AlibabaWdkSkuUpdateRequest{}
|
data2 := make([]string, 0, 0)
|
||||||
updateSkuList := make([]domain585.AlibabaWdkSkuUpdateSkuDo, 0, 0)
|
for _, v := range skucodeMap {
|
||||||
updateSku := domain585.AlibabaWdkSkuUpdateSkuDo{
|
storeCodeAndSkuCode := strings.Split(v, ":")
|
||||||
OuCode: utils.String2Pointer("JX101870"),
|
skuCode := []string{storeCodeAndSkuCode[1]}
|
||||||
SkuCode: utils.String2Pointer("6045426"),
|
storeCode1 := utils.String2Pointer(storeCodeAndSkuCode[0])
|
||||||
CleanSkuMemberPrice: utils.Int64ToPointer(1),
|
result, err := apiTao.QueryStoreSKu(&request585.AlibabaWdkSkuQueryRequest{Param: &domain585.AlibabaWdkSkuQuerySkuQueryDo{
|
||||||
AllowAppSale: utils.Int64ToPointer(1),
|
OuCode: storeCode1,
|
||||||
OnlineSaleFlag: utils.Int64ToPointer(1),
|
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
|
globals.SugarLogger.Debugf("data2 :============ %s", utils.Format4Output(data2, false))
|
||||||
data, err := apiTao.UpdateStoreSku(param)
|
|
||||||
globals.SugarLogger.Debugf("data = %s", utils.Format4Output(data, false))
|
|
||||||
globals.SugarLogger.Debugf("err = %s", utils.Format4Output(err, false))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 商品上下架
|
// 商品上下架
|
||||||
|
|||||||
@@ -44,12 +44,6 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
//dir := os.Getenv("PHONE_DATA_DIR")
|
|
||||||
//if dir == "" {
|
|
||||||
// _, fulleFilename, _, _ := runtime.Caller(0)
|
|
||||||
// dir = path.Dir(fulleFilename)
|
|
||||||
//}
|
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
content, err = ioutil.ReadFile(PHONE_DAT) //path.Join(dir, PHONE_DAT)
|
content, err = ioutil.ReadFile(PHONE_DAT) //path.Join(dir, PHONE_DAT)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -7,21 +7,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
//var 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":""}`
|
||||||
// "access_token": "b668f8cc-d875-4887-a613-5452f05e752e",
|
var a = New("7267745202649957900", "51998fcf-d521-4553-8c0c-fa662c8dbd6e", token)
|
||||||
// "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)
|
|
||||||
|
|
||||||
// 查询售后单详情
|
// 查询售后单详情
|
||||||
func TestAfsOrder(t *testing.T) {
|
func TestAfsOrder(t *testing.T) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user