package mtwmapi

import (
	"fmt"
	"git.rosy.net.cn/baseapi/platformapi/jdapi"
	"git.rosy.net.cn/baseapi/utils"
	"git.rosy.net.cn/jx-callback/globals"
	"math"
	"strings"
	"testing"
	"time"
)

func TestOrderViewStatus(t *testing.T) {
	result, err := api.OrderViewStatus(123)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(result)
}
func TestTimne(t *testing.T) {

	fmt.Println(utils.Interface2Int64WithDefault(1695292241, 0))
	fmt.Println(getTimeFromTimestamp(utils.Interface2Int64WithDefault(1695292241, 0)))
}
func getTimeFromTimestamp(timeStamp int64) time.Time {
	if timeStamp < 1538103149 { // 立即达订单给的是1（而不是空，0），1538103149不是特殊值，只是一个任意之前的时间，这样写可以处理
		return utils.DefaultTimeValue
	}
	return utils.Timestamp2Time(timeStamp)
}

func TestOrderGetOrderDetail(t *testing.T) {
	result, err := api.OrderGetOrderDetail(3502231341944704147, false)
	if err != nil {
		t.Fatal(err)
	}
	if utils.MustInterface2Int64(result["force_require_picture"]) == 1 {
		forceRequirePicture := utils.MustInterface2Int64(result["force_require_picture"]) // 是否强制返图  0不强制返图，1强制返图
		auditStatus := utils.MustInterface2Int64(result["audit_status"])                  // 需要强制返图时有意义，返图状态  1编辑中、2待审核、3系统审核通过、4下单人审核通过、5下单人审核驳回 非强制返图或强制返图返图前值为0
		fmt.Println(forceRequirePicture)
		fmt.Println(auditStatus)
		dispatchCondition := utils.Interface2String(result["dispatch_condition"])      // 发货条件明细，该字段当前只在强制返图场景下返回以及使用。enable_dispatch=true则可发货，dispatch_condition_detail为不可发货的所有条件明细，如需关注不可发货原因则要查看
		orderRealMediaDetail := utils.Interface2String(result["orderRealMediaDetail"]) // 实拍规则要求及实拍后的图片与ocr识别信息，没返回(null)，则三方用老的传图方式上传
		fmt.Println(dispatchCondition)
		fmt.Println(orderRealMediaDetail)
	}
	globals.SugarLogger.Debugf("%d", int(utils.MustInterface2Int64(result["day_seq"])))
	globals.SugarLogger.Debugf("====%s", utils.Format4Output(result["poi_receive_detail_yuan"], false))
	if len(result) == 0 {
		t.Fatal("result should have value")
	}

	for k, v := range result {
		fmt.Println(fmt.Sprintf("%s=%v", k, v))
	}
	//globals.SugarLogger.Debugf("%s", utils.Format4Output(result, false))
}

type dispatchConditionList struct {
	enable_dispatch           bool `json:"enable_dispatch"` // 是否可发配，true-可发配，false-不可发配
	dispatch_condition_detail []struct {
		enable_dispatch bool `json:"enable_dispatch"` // 是否可发配，true-可发配，false-不可发配
		condition_type  int  `json:"condition_type"`  // 发货条件类型，1-返图标准化强制实拍返图
	} `json:"dispatch_condition_detail"` // 发货条件明细，记录了哪些限制条件满足，哪些未满足
}

func TestJsuan(t *testing.T) {
	fmt.Println(StandardPrice2Int2(-12.39))
}

func StandardPrice2Int2(value float64) int64 {
	return int64(math.Round(value * 100))
}

func TestOrderGetPartRefundFoods(t *testing.T) {
	result, err := api.OrderGetPartRefundFoods(93475541926981203)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(utils.Format4Output(result, false))
}

func TestOrderReceived(t *testing.T) {
	err := api.OrderReceived(25236872740350976)
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderConfirm(t *testing.T) {
	err := api.OrderConfirm(2000844470023437537)
	if utils.IsErrMatch(err, utils.Int2Str(ErrCodeOpFailed), []string{
		"订单已经确认过了",
	}) {
		err = nil
	} else {
		globals.SugarLogger.Warnf("mtwm AcceptOrRefuseOrder orderID:%s failed with err:%v", "1", err)
	}
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderApplyPartRefund(t *testing.T) {
	err := api.OrderApplyPartRefund(93495654059392270, "缺货", []*RefundSku{
		&RefundSku{
			AppFoodCode: "30831",
			Count:       1,
		},
	})
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderLogisticsStatus(t *testing.T) {
	result, err := api.OrderLogisticsStatus(1100710754248464487)
	if err != nil {
		t.Fatal(err)
	}
	if result == nil {
		t.Fatal("result should have value")
	}
	t.Log(utils.Format4Output(result, false))
}

func TestGetDeliveryPath(t *testing.T) {
	data1, data2, err := api.GetDeliveryPath(1100718012566212160, "7290541")
	fmt.Println(data1)
	fmt.Println(data2)
	fmt.Println(utils.Float64ToStr(float64(data1) / 1000000))
	fmt.Println(utils.Float64ToStr(float64(data2) / 1000000))
	fmt.Println(err)
}

func TestOrderLogisticsFee(t *testing.T) {
	result, err := api.OrderLogisticsFee(1100709560902354698)
	if err != nil {
		t.Fatal(err)
	}
	if result == 0 {
		t.Fatal("result should have value")
	}
	t.Log(utils.Format4Output(result, false))
}

func TestOrderBatchPullPhoneNumber(t *testing.T) {
	result, err := api.OrderBatchPullPhoneNumber("5873_2705892", 0, MaxBatchPullPhoneNumberLimit)
	t.Log(utils.Format4Output(result, false))
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderGetRiderInfoPhoneNumber(t *testing.T) {
	result, err := api.OrderGetRiderInfoPhoneNumber("8872485", 0, MaxBatchPullPhoneNumberLimit)
	t.Log(utils.Format4Output(result, false))
	if err != nil {
		t.Fatal(err)
	}
}

func TestGetOrderRefundDetail(t *testing.T) {
	result, err := api.GetOrderRefundDetail(3302052631611300348, 0)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(utils.Format4Output(result, false))
}

func TestGetOrderRefundDetail2(t *testing.T) {
	result, err := api.GetOrderRefundDetail(601112850243823799, 0)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(utils.Format4Output(result, false))
}

func TestGetOrderActDetaill(t *testing.T) {
	result, err := api.GetOrderActDetail([]*GetOrderActDetailParam{
		&GetOrderActDetailParam{
			OrderID: 69760842061320598,
			// ActParam: []*GetOrderActDetailParamAct{
			// 	&GetOrderActDetailParamAct{
			// 		Type: 1,
			// 	},
			// },
		},
	})
	if err != nil {
		t.Fatal(err)
	}
	t.Log(utils.Format4Output(result, false))
}

func TestOrderRefundReject(t *testing.T) {
	err := api.OrderRefundReject(27058923254735296, "测试")
	// t.Log(utils.Format4Output(result, false))
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderRefundAgree(t *testing.T) {
	err := api.OrderRefundAgree(27058922456066076, "测试")
	// t.Log(utils.Format4Output(result, false))
	if err != nil {
		t.Fatal(err)
	}
}

func TestOrderCancel(t *testing.T) {
	err := api.OrderCancel(27058922397679200, "取消", 1)
	// t.Log(utils.Format4Output(result, false))
	if err != nil {
		t.Fatal(err)
	}
}

func TestAa2(t *testing.T) {
	time := time.Now().Unix()
	fmt.Println(api.signParams(apiURL+"/oauth/authorize?", map[string]interface{}{
		"timestamp":     time,
		"app_id":        "5873",
		"app_poi_code":  "12422751",
		"response_type": "token",
	}), time)
}

func TestDeleving(t *testing.T) {
	err := api.OrderLogisticsChange2Self(148815413321281654)

	fmt.Println(strings.Contains(err.Error(), "1047"))
	t.Fatal(err)
}

func TestOrderDelivering(t *testing.T) {
	err := api.OrderDelivering(148815413321281654)
	t.Fatal(err)
}

func TestApplyCompensation(t *testing.T) {
	param := &ApplyCompensationRes{
		OrderId:     3500902110034359123,
		Reason:      "申请退款",
		ApplyStatus: 110,
		Amount:      35.31,
		//FoodData:    nil,
	}
	err := api.ApplyCompensation(param)
	if err != nil {
		fmt.Println(err.Error())
	}
}

func TestOrderStatusAndPsInfo(t *testing.T) {
	api.OrderStatusAndPsInfo(map[string]interface{}{
		"order_id":                "301923143817184437",
		"third_carrier_order_id":  "3035904010050124404",
		"courier_name":            "唐正",
		"courier_phone":           "15902809732",
		"logistics_status":        "20",
		"latitude":                "30.760525",
		"longitude":               "104.053413",
		"logistics_provider_code": "10002",
	})
}

func TestEcommerceGetOrderIdByPage(t *testing.T) {
	orderIdList, err := api.EcommerceGetOrderIdByPage("23932637", time.Now().Add(-24*time.Hour), time.Now())
	t.Log(orderIdList)
	t.Log(err)
}

// TestUpdateSkuBoxFee 修改打包费
func TestUpdateSkuBoxFee(t *testing.T) {
	toApi := New("5873", "41c479790a76f86326f89e8048964739", "", "token_qJalvtSnVB-hBeDvRLVN_w")
	toApi.RetailBatchInitData(utils.GetUUID(), "12371130", []map[string]interface{}{
		map[string]interface{}{
			"app_food_code":    "mtcode_1788146996860325928",
			"category_name":    "神价商品",
			"unit":             "罐",
			"sequence":         -361,
			"tag_id":           200001294,
			"upc":              6920226221352,
			"description":      "",
			"price":            20,
			"picture":          `http://p0.meituan.net/retailsp/8e6cd87119cd6c36d2e1cdd1c5345ab266547.jpg,http://p0.meituan.net/retailsp/49856b31a8aa526d69931a160e7c18b841941.jpg,http://p1.meituan.net/retailsp/e590574f5a75e5fb1d576ded5d0418cf81638.jpg`,
			"picture_contents": "",
			"skus": []map[string]interface{}{
				{
					"isSellFlag":                1,
					"price":                     "20.0",
					"unit":                      "罐",
					"available_times":           map[string]string{"friday": "", "monday": "", "saturday": "", "sunday": "", "thursday": "", "tuesday": "", "wednesday": ""},
					"sku_id":                    "mtcode_1788146996860325928",
					"spec":                      "330ml*6罐",
					"upc":                       "6920226221352",
					"weight":                    "1980",
					"limit_open_sync_stock_now": false,
					"location_code":             "",
					"stock":                     989,
				},
			},
			"name":              "【六罐装】可口可乐 碳酸饮料汽水饮料 330ml*6罐/件",
			"min_order_count":   1,
			"common_attr_value": `[{"attrId":1200000135,"attrName":"包装方式","valueList":[{"setValue":true,"setValueId":true,"value":"罐装","valueId":1300000333}]},{"attrId":1200000132,"attrName":"国产/进口","valueList":[{"setValue":true,"setValueId":true,"value":"国产","valueId":1300000003}]},{"attrId":1200000133,"attrName":"口味","valueList":[{"setValue":true,"setValueId":true,"value":"其他","valueId":1300000249}]},{"attrId":1200000204,"attrName":"是否含糖","valueList":[{"setValue":true,"setValueId":true,"value":"含糖","valueId":1300000468}]},{"attrId":1200000333,"attrName":"单件容量","valueList":[{"setValue":true,"setValueId":true,"value":"330ml","valueId":0}]},{"attrId":1200000210,"attrName":"商品类别","valueList":[{"setValue":true,"setValueId":true,"value":"可乐","valueId":1300000483}]},{"attrId":1200000094,"attrName":"产地","valueList":[{"setValue":true,"setValueId":true,"value":"中国","valueId":100000050}]},{"attrId":1200000088,"attrName":"品牌","valueList":[{"setValue":true,"setValueId":true,"value":"可口可乐（Coca-Cola）","valueId":1000557}]}]`,
			"is_sold_out":       0,
		},
	})
}

func TestCopyMtToMT(t *testing.T) {
	CopyMtToMT("1693690", "12371130", 20)
}

// CopyMtToMT 美团商品复制到美团
func CopyMtToMT(fromStoreId, toStoreId string, offSet int) (hint string, data []string, err error) {
	var fromApi *API //= mtwm.GetAPI(fromStore.VendorOrgCode, fromStore.ID, fromStore.VendorStoreID)
	var toApi *API   // = mtwm.GetAPI(toStore.VendorOrgCode, toStore.ID, toStore.VendorStoreID)
	var errList = make([]*AppFoodResult, 0, 0)
	var errData = make([]string, 0, 0)
	fromApi = New("5873", "41c479790a76f86326f89e8048964739", "", "token_vNCxaqyai16or9en_C5PSw")
	toApi = New("5873", "41c479790a76f86326f89e8048964739", "", "token_qJalvtSnVB-hBeDvRLVN_w")

	i := offSet
	for {
		// 同步商品
		fromFoodList, err1 := fromApi.RetailListAll(fromStoreId, offSet)
		if len(fromFoodList) == 0 || fromFoodList == nil {
			return "", nil, err1
		}

		errDataList, err := BatchInitSkuMT2MT(fromFoodList, toApi, toStoreId, i)
		if err != nil {
			globals.SugarLogger.Debugf("BatchInitData : %v", err)
		}
		if len(errDataList) > 0 {
			//globals.SugarLogger.Debugf("errListData %d:= %s", i, utils.Format4Output(errDataList, false))
			errList = append(errList, errDataList...)
		}
		globals.SugarLogger.Debugf("==========页数[%d],数据长度[%d]", i, len(fromFoodList))
		if len(fromFoodList) < 100 {
			break
		}
		i++
	}

	for _, v := range errList {
		errData = append(errData, fmt.Sprintf("food_id:%s,错误:%s", v.AppFoodCode, v.ErrorMsg))
	}
	globals.SugarLogger.Debugf("errList := %s", utils.Format4Output(errList, false))
	return hint, errData, err
}

// BatchInitSkuMT2MT 批量创建商品
func BatchInitSkuMT2MT(fromSku []*AppFood, toApi *API, vendorStoreID string, offset int) ([]*AppFoodResult, error) {
	errList := make([]*AppFoodResult, 0, 0)
	foodDataList := make([]map[string]interface{}, len(fromSku))

	apijd := jdapi.New("1e87595b-e850-4ba4-9ee0-53bcfe383a4f", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4")
	apijd.SetCookieWithStr(`user_email=jd_jxcs1223; lsp-store1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3KKPE2KWRJ56RVQ2FMRXLQLWO4QBQL7EIOBUFAULGOCVWY7RBKZGAICS43NT6J6SUQ6QKCZ5CPQJXLXRTXJ6TTQZ76WIPY3FIXEQWDFYBPQQMRRIIWHZJ24QAGVWTRELTJ4ANKYUYK6KOCYNU7MPQZRGZ7A3RCFZCSP5UJH6H2OTKVR4EGOCXYTZO2DXT6UDKHMIWF7PCFTVIYAVZV6TUYE43JONRCTQBY2PDBQYCB4ONJOEWAF6KFL3GJ3XH26R6E; __jda=1736810.11184102.1626140984.1626140984.1626140984.1; __jdb=1736810.1.11184102%7C1.1626140984; __jdv=1736810%7Cdirect%7C-%7Cnone%7C-; __jdc=1736810; UM_distinctid=17a9d8e412b8f-0db54dad15adbc-5b1e341a-1fa400-17a9d8e412c298; josl-privilege1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3L5R67UBB3LZWSV7QY5A7WMTVESBQL7EIOBUFAULGOCVWY7RBKZGB4IDIBOFHLL26YJTJU5SFCC7CKHRTXJ6TTQZ76WIPY3FIXEQWDFYES24CC32SX326B3WVAC6EVB4YIAQWEDFKRBXVVYOYZRBTKYYJZ5HQBVLCTBLZJYLBWT5R6DGE3H4C4L7R23TYZA5JMSPJU7HE6MGAWXAMIJ7H54ZWWGP56KATLF26DHPBFC7H6AGN62RYAH3GOOTQMZPFOOK3A5M4RSJGLYDIG2YB3HH35HA; o2o-pms1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3LPBK4CTTQUICQG4IXP7VTZQY3RRQL7EIOBUFAULGOCVWY7RBKZGA4IDAH46XCGKM54EGU3D4E25KTQMIOV7EVR4JGDPUMIPCVZVKBP5E4RJGGER5KFUQWJBFZJVCAXQUQ; o2o-stock1.jddj.com=OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3LDRI5V7NVUHTVXQQYNAA4HGUZJBQL7EIOBUFAULGOCVWY7RBKZGBYT7E4RO4CXG23IJO2MNVRCTQIIMIOV7EVR4JGDPUMIPCVZVKBP5E4RJGGER5KFUQWJBFZJVCAXQUQ`)

	for k, storeSku := range fromSku {
		foodData := make(map[string]interface{})
		if storeSku.AppFoodCode != "" {
			foodData[KeyAppFoodCode] = storeSku.AppFoodCode
		} else {
			foodData[KeyAppFoodCode] = time.Now().UnixNano() + int64(k*3)
		}

		skus := make([]interface{}, 0)
		upc := ""
		for _, v := range storeSku.SkuList {
			if v.Stock == "" {
				v.Stock = "99999"
			}
			if v.SkuId == "" {
				v.SkuId = storeSku.AppFoodCode
			}
			if v.SkuId == "" {
				v.SkuId = utils.Int2Str(storeSku.Ctime + int(k*3))
			}
			//	salesCycle, _ := json.Marshal(v.AvailableTimes)
			mapSkuList := utils.Struct2MapByJson(v)
			if v.BoxNum == "" {
				delete(mapSkuList, "box_num")
			}
			if v.BoxPrice == "" {
				delete(mapSkuList, "box_price")
			}
			if v.LadderBoxNum == "" {
				delete(mapSkuList, "ladder_box_num")
			}
			if v.LadderBoxPrice == "" {
				delete(mapSkuList, "ladder_box_price")
			}
			delete(mapSkuList, "min_order_count")
			if v.Upc != "" {
				upc = v.Upc
			} else if api.QuerySkuIsNeedUpc(storeSku.TagID) {
				upcList, _ := apijd.GetJdUpcCodeByName(storeSku.Name, "", 1, 20)
				if len(upcList) != 0 {
					upc = upcList[0].UpcCode
				}
			}
			//mapSkuList["available_times"] = string(salesCycle)
			mapSkuList["available_times"] = v.AvailableTimes
			//if v.MinOrderCount != "" {
			//	mapSkuList["min_order_count"] = utils.Str2Int(v.MinOrderCount)
			//}
			if upc != "" {
				mapSkuList["upc"] = upc
			}
			skus = append(skus, mapSkuList)
		}
		foodData["skus"] = skus
		foodData["name"] = utils.LimitUTF8StringLen(storeSku.Name, MaxSkuNameCharCount)
		foodData["description"] = storeSku.Description
		foodData["price"] = storeSku.Price
		foodData["min_order_count"] = storeSku.MinOrderCount
		foodData["unit"] = storeSku.Unit
		//todo 增加商品必填属性
		//foodData["common_attr_value"] = storeSku.CommonAttrValue
		if storeSku.CommonAttrValue != "" && storeSku.CommonAttrValue != "[]" {
			foodData["common_attr_value"] = CommonAttrValueUpdate(storeSku.CommonAttrValue)
		}
		if storeSku.SecondaryCategoryCode != "" {
			foodData["category_code"] = storeSku.SecondaryCategoryCode
		} else {
			foodData["category_name"] = storeSku.SecondaryCategoryName
		}

		if storeSku.SecondaryCategoryName == "" && storeSku.SecondaryCategoryCode == "" {
			if storeSku.SecondaryCategoryCode != "" {
				foodData["category_code"] = storeSku.CategoryCode
			} else {
				foodData["category_name"] = storeSku.CategoryName
			}
		}

		foodData["is_sold_out"] = storeSku.IsSoldOut
		foodData["picture"] = storeSku.Picture
		foodData["picture_contents"] = storeSku.PictureContents
		foodData["sequence"] = storeSku.Sequence
		foodData["tag_id"] = storeSku.TagID
		foodData["upc"] = storeSku.UpcCode
		if foodData["upc"].(string) == "" {
			foodData["upc"] = upc
		}
		if foodData["upc"].(string) == "" {
			foodData["upc"] = "no_upc"
		}

		foodDataList[k] = foodData
	}

	count := len(foodDataList) / 10
	if len(foodDataList)%10 != 0 {
		count += 1
	}
	for i := 0; i < count; i++ {
		if i == count-1 {
			failedFoodList, _ := toApi.RetailBatchInitData("liulei1973", vendorStoreID, foodDataList[i*10:])
			if len(failedFoodList) != 0 {
				//globals.SugarLogger.Debugf("failedFoodList := %s", utils.Format4Output(failedFoodList, false))
				errList = append(errList, failedFoodList...)
			}
		} else {
			data := foodDataList[i*10 : (i+1)*10]
			failedFoodList, _ := toApi.RetailBatchInitData("liulei1973", vendorStoreID, data)
			if len(failedFoodList) != 0 {
				//globals.SugarLogger.Debugf("failedFoodList := %s", utils.Format4Output(failedFoodList, false))
				errList = append(errList, failedFoodList...)
			}
		}
	}

	return errList, nil
}

func TestGetOrderAddress(t *testing.T) {
	address, err := api.GetOrderAddress(4001960782283263314, 3)
	fmt.Println(address)
	fmt.Println(err)
}

func TestUploadMediaToOrder(t *testing.T) {

	api.UploadMediaToOrder("3802235423760827381", ` [{"url":"https://image.jxc4.com/image/324b3953957385f024420e73506a5d52.png","type":0,"configSnapshotId":1171,"itemId":9066429983115,"seq":1,"innerSeq":1,"requireId":12734,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1171,"itemId":9066429983115,"seq":1,"innerSeq":1,"requireId":12735,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1140,"itemId":9066429983051,"seq":1,"innerSeq":1,"requireId":12635,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1140,"itemId":9066429983051,"seq":1,"innerSeq":1,"requireId":12636,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1190,"itemId":9066429983179,"seq":1,"innerSeq":1,"requireId":12845,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1190,"itemId":9066429983179,"seq":1,"innerSeq":1,"requireId":12846,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1190,"itemId":9066429983179,"seq":2,"innerSeq":1,"requireId":12845,"mediaCode":""},{"url":"","type":0,"configSnapshotId":1190,"itemId":9066429983179,"seq":2,"innerSeq":1,"requireId":12846,"mediaCode":""}]`)
}
