package ebaiapi

import (
	"fmt"
	"testing"

	"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) {
	result, err := api.OrderGet("4055150105296238277")
	if err != nil {
		t.Fatal(err)
	} else {
		t.Log(utils.Format4Output(result, false))
	}
}

func TestOrderGet2(t *testing.T) {
	result, err := api.OrderGet2("2147234624018417846")
	if err != nil {
		t.Fatal(err)
	} else {
		t.Log(utils.Format4Output(result, false))
	}
}

func TestOrderStatusGet(t *testing.T) {
	result, err := api.OrderStatusGet("1576493808229489038")
	if err != nil {
		t.Fatal(err)
	} else {
		t.Log(utils.Format4Output(result, false))
	}
}
func TestOrderList(t *testing.T) {
	result, err := api.OrderList("300104", 32267046052, utils.Str2Time("2022-08-22").Unix(), utils.Str2Time("2022-09-08").Unix(), 0, 1)
	if err != nil {
		t.Fatal(err)
	} else {
		t.Log(utils.Format4Output(result, false))
	}
}

func TestOrderListAll(t *testing.T) {
	result, err := api.OrderListAll("", 32267046052, utils.Str2Time("2022-09-01").Unix(), utils.Str2Time("2022-09-08").Unix(), 0)
	if err != nil {
		t.Fatal(err)
	} else {
		t.Log(utils.Format4Output(result, false))
	}
}

func TestOrderPartRefundGet(t *testing.T) {
	result, err := api.OrderPartRefundGet("4056950043422699136")
	if err != nil {
		t.Fatal(err)
	} else {
		t.Log(utils.Format4Output(result, false))
	}
}

// func TestOrderPartRefundGet2(t *testing.T) {
// 	result, err := api.OrderPartRefundGet2("1557459492221457830")
// 	if err != nil {
// 		t.Fatal(err)
// 	} else {
// 		t.Log(utils.Format4Output(result, false))image/upload
// 	}
// }

func TestOrderConfirm(t *testing.T) {
	err := api.OrderConfirm("4087880039095667221")
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderPickComplete(t *testing.T) {
	err := api.OrderPickComplete("4087880039095667221")
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderCallDelivery(t *testing.T) {
	err := api.OrderCallDelivery("1556617836226053651")
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderSwitchselfdelivery(t *testing.T) {
	err := api.OrderSwitchselfdelivery("1574550169196474502")
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderComplete(t *testing.T) {
	err := api.OrderComplete("4087880039095667221", "")
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderPrivateInfo(t *testing.T) {
	_, err := api.OrderPrivateInfo("1542178206811884")
	if err != nil {
		t.Fatal(err)
	}
	// t.Log(result)
}

func TestOrderDeliveryGet(t *testing.T) {
	result, err := api.OrderDeliveryGet("4033300102969791105")
	if err != nil {
		t.Fatal(err)
	}
	t.Log(result)
}

func TestSmartOrderIdConvert(t *testing.T) {
	result, err := api.SmartOrderIdConvert("3035779376398878822")
	if err != nil {
		t.Fatal(err)
	}
	t.Log(result)
}

func TestOrderPartRefund(t *testing.T) {
	err := api.OrderPartRefund("3035779376398878822", []*RefundSku{
		&RefundSku{
			CustomeSkuID: "",
			Number:       "1",
		},
	})
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderCancel(t *testing.T) {
	err := api.OrderCancel("2122788271803194389", CancelTypeCustom, "admin")
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderQueryAcceptancecode(t *testing.T) {
	err := api.OrderQueryAcceptancecode("5021871103848829132")
	if err != nil {
		t.Fatal(err)
	}
}

func TestAPI_OrderselfDeliveryStateSync(t *testing.T) {
	err := api.OrderselfDeliveryStateSync("4457139638483820157", "199999999999")
	if err != nil {
		t.Fatal(err)
	}
}
func TestAggrent(t *testing.T) {
	err := api.OrderAgreeReturnGoods("4648176604190697145", "1483635799404794")
	if err != nil {
		t.Fatal(err)
	}
}

func TestForAA(t *testing.T) {

	var a = []int64{6044969,
		6043622,
		6044971,
		6042562,
		31728,
		31729,
		32143,
		32142,
		6043605,
		6043604,
		6042743,
		30226,
		30225,
		6043959,
		6043960,
		6042349,
		6042296,
		31882,
		31871,
		6042704,
		6039499,
		30415,
		30414,
		32364,
		32363,
		6043603,
		6043602,
		30224,
		30223,
		6042284,
		30215,
		30214,
		6039424,
		31235,
		30368,
		30370,
		30369,
		30183,
		30182,
		6042733,
		6042737,
		30237,
		30236,
		6042287,
		30213,
		6042288,
		30233,
		30207,
		30206,
		30190,
		30189,
		6042167,
		6042166,
		30413}

	var cc = ""
	for _, v := range a {
		if v != 30413 {
			cc += utils.Int64ToStr(v) + ","
		}
		cc += utils.Int64ToStr(v)
	}
	fmt.Println(cc)
}

func TestOnline(t *testing.T) {
	fmt.Println(0&(2|4|32) != 0)
	fmt.Println(MergeStoreStatus(-2, 1))
}

// 合并得到最终的门店状态
func MergeStoreStatus(status int, vendorStatus int) int {
	if status < vendorStatus {
		return status
	}
	return vendorStatus
}

func Test223(t *testing.T) {
	var statuss []int
	if err := utils.UnmarshalUseNumber([]byte("[20]"), &statuss); err != nil {
		fmt.Println(err)
	}
	fmt.Println(statuss)
}
