This commit is contained in:
richboo111
2023-08-30 15:07:21 +08:00
23 changed files with 301 additions and 120 deletions

View File

@@ -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,

View File

@@ -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"`
}

View File

@@ -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) {

View File

@@ -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"

View File

@@ -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())

View File

@@ -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(),

View File

@@ -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 获取门店的订单账单

View File

@@ -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)

View File

@@ -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))
}

View File

@@ -14,3 +14,7 @@ func TestFoodList(t *testing.T) {
}
// t.Log(result)
}
func TestGetSkuPurchasePrice(t *testing.T) {
api.GetSkuPurchasePrice("18048546", "16295939515")
}

View File

@@ -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)
}

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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) {

View File

@@ -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: "成功",
}
}

View File

@@ -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)

View File

@@ -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

View File

@@ -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))
}
// 商品上下架

View File

@@ -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 {

View File

@@ -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