def multi_modify_sku_info(sku_id_list, modify_info_dict):
    """
    sku_code_lsit:[7495079369275081918, 7495079369275081919, 7495079369275081920, 7495079369275081921]
    modify_info_dict:{"商品简称":"奖惩", "商品分类":"上衣", "供应商":"供应商1", "品牌":"阿迪达斯", "标准售价":"1", }
    """
    sku_ids = ""
    for i in sku_id_list:
        sku_ids += str(i)
        sku_ids += ","
    # print(f"sku_ids={sku_ids}")
    modify_info_mapping = {
        "商品简称": "ProductShortName",
        "商品分类ID": "ProductCategoryId",
        # TODO:(RUI) 获取商品分类ID方法
        "品牌ID": "BrandId",
        # TODO:(RUI) 获取品牌ID 方法
        "单位": "Unit",
        "标准售价": "StandardPrice",
        "最新进价": "LastPurPrice",
        "重量": "Weight",
        "箱规": "BoxSize",
        "库存同步类型": "SyncType",
        "虚拟库存数": "VirtualQty",
        "包装重量": "PackageWeight",
        "优先出库仓": "FirstWarehouseId",
        "供应商ID": "SupplierId",
        "积分": "SalesPoint",
        "库存预警值": "WarningQty",
        "扩展字段1": "FirstField",
        "扩展字段2": "SecField",
        "扩展字段3": "ThirField",
        "扩展字段4": "FourField",
        "扩展字段5": "FifthField",
        "长": "SkuLength",
        "宽": "SkuWidth",
        "高": "SkuHeight",
        "周长": "PackingPerimeter",
        "规格便签": "SkuMemo",
    }
    url = "http://gw.erp12345.com/api/Products/FullProduct/BatchUpdateProduct?model={"
    params = {}
    for k, v in modify_info_dict.items():
        if k == "供应商ID":
            supplier_id = supplier_interface.get_supplier_info(v, ["供应商ID"])["供应商ID"]
            params[modify_info_mapping[k]] = supplier_id
        elif k == "优先出库仓":
            warehouse_id = inventory_interface.get_inventory_id(v)
            params[modify_info_mapping[k]] = warehouse_id
        elif k in ["商品分类ID", "品牌ID"]:
            assert 1 == 2, "商品分类和品牌获取ID方法需要完善"
        else:
            params[modify_info_mapping[k]] = v
    # print(f"params={params}")
    for k, v in params.items():
        url += f"'{k}':'{v}',"
    url += "}&ids="
    url += sku_ids
    headers = {
        'cookie': base.cookies
    }
    response = requests.get(url, headers=headers)
def new_purchase_order(warehouse_name,
                       supplier_name,
                       sku_info_list,
                       memo="",
                       is_cash_pay="false"):
    """
        warehouse_name:仓库名称
        supplier_name:供应商名称
        memo:备注
        is_cash_pay: 现金支付
        sku_info_list :
        [
        {"商家编码":"测试商品1-红色 S","单价":"20","数量":"10"},
        {},
        ]
        return:{'ID': '7495081608949531534', 'Code': 'PUO2009010003'}
        """
    """
    sku_info_list : [
    {"SkuId":"7495079369275081918","ActualPrice":"20","Qty":"10"},
    {"SkuId":"7495079369275081919","ActualPrice":"21","Qty":"11"},
    {"SkuId":"7495079369275081920","ActualPrice":"22","Qty":"12"},
    {"SkuId":"7495079369275081921","ActualPrice":"23","Qty":"13"},
    {"SkuId":"7495079369275081922","ActualPrice":"24","Qty":"14"},
    {"SkuId":"7495079369275081923","ActualPrice":"25","Qty":"15"},
    {"SkuId":"7495079369275081924","ActualPrice":"26","Qty":"16"}
    ]
    返回数据:
    {"data":
        {
            "Id":"7495081583011954992",
            "Code":"PUO2009010001",
            "OutCode":null,
            "SupplierId":"7494441869460375525",
            "SupplierName":"供应商1",
            "WarehouseId":"162573418911628622",
            "WarehouseName":"主仓库",
            "Qty":91,
            "Amount":2121.0,
            "PayAmount":0.0,
            "IsCashPay":false,
            "Memo":"",
            "Status":"未审核",
            "StatusType":1,
            "IsSettlement":false,
            "SettlementAmount":0.0,
            "UnSettlementAmount":0.0,
            "RecordDate":"2020-09-01 22:36:38",
            "RecordUserName":"******",
            "PushStatus":"",
            "WmsStatus":"",
            "WmsMessage":null,
            "StockInQty":0,
            "ProcurementType":null
        },
    "code":1,
    "message":null
    }
    """
    params = {
        "WarehouseId":
        inventory_interface.get_inventory_id(warehouse_name),
        "SupplierId":
        supplier_interface.get_supplier_info(supplier_name,
                                             ["供应商ID"])["供应商ID"],
        "Memo":
        memo,
        "IsCashPay":
        is_cash_pay,
    }
    lines = []
    for i in sku_info_list:
        line = {
            "SkuId": product_interface.get_sku_id(i["商家编码"])[0],
            "ActualPrice": i["单价"],
            "Qty": i["数量"]
        }
        lines.append(line)
    # print(lines)
    url = "http://gw.erp12345.com/api/Purchase/Purchase/AddPurchase?purchase={"
    for k, v in params.items():
        url += f"'{k}':'{v}',"
    url += "'Lines':["
    for i in lines:
        url += "{"
        for k, v in i.items():
            url += f"'{k}':{v},"
        url += "},"
    url += "]}"
    headers = {'Cookie': base.cookies}
    response = requests.get(url, headers=headers)
    result = dict(response.json())
    purchase_order_info_list = {
        "ID": result["data"]["Id"],
        "Code": result["data"]["Code"],
    }
    return purchase_order_info_list
def new_stock_in_order(warehouse_name, supplier_name, sku_info_list, memo=''):
    """
            warehouse_name:仓库名称
            supplier_name:供应商名称
            memo:备注
            sku_info_list :
            [
            {"商家编码":"测试商品1-红色 S","数量":"10"},
            {},
            ]
            return:{'ID': '7495081608949531534', 'Code': 'PUO2009010003'}
    """
    """
    sku_info_list : [
    {"SkuId":"7494440356323262567","CostPrice":811.63,"Qty":1},
    {"SkuId":"7494440356323262568","CostPrice":133.99,"Qty":1}
    ]
    返回数据:
    {"data":
        {
            "Id":"7495082491766636848",
            "Code":"SIO2009020002",
            "SourceOrderCode":null,
            "StockInType":0,
            "StockInSearchType":2,
            "StockInSearchTypeName":"无采购入库",
            "StockInTypeName":"手动新增",
            "SupplierId":"7494441869460375525",
            "SupplierName":"供应商1",
            "WarehouseId":"162573418911628622",
            "WarehouseName":"主仓库",
            "Qty":2,
            "Amount":945.62,
            "StockInUserName":null,
            "IsStockIn":false,
            "Memo":"",
            "RecordDate":"2020-09-02 13:39:24",
            "RecordUserName":"******",
            "StockInDate":null
        },
    "code":1,
    "message":null
    }
    """
    params = {
        "WarehouseId":
        get_inventory_id(warehouse_name),
        "SupplierId":
        supplier_interface.get_supplier_info(supplier_name,
                                             ["供应商ID"])["供应商ID"],
        "Memo":
        memo,
    }
    lines = []
    for i in sku_info_list:
        query_info_list = {"仓库": "主仓库", "商家编码": i["商家编码"]}
        return_info_list = ["成本单价"]
        cost_price = finance_interface.get_warehouse_cost_price_info(
            query_info_list, return_info_list)[0]["成本单价"]
        line = {
            "SkuId": product_interface.get_sku_id(i["商家编码"])[0],
            "ActualPrice": cost_price,
            "Qty": i["数量"]
        }
        lines.append(line)
    # print(lines)
    url = "http://gw.erp12345.com/api/Stocks/StockInOrder/AddStockInOrder?stock={"
    for k, v in params.items():
        url += f"'{k}':'{v}',"
    url += "'Lines':["
    for i in lines:
        url += "{"
        for k, v in i.items():
            url += f"'{k}':{v},"
        url += "},"
    url += "]}"
    headers = {'Cookie': base.cookies}
    response = requests.get(url, headers=headers)
    result = dict(response.json())
    purchase_order_info_list = {
        "ID": result["data"]["Id"],
        "Code": result["data"]["Code"],
    }
    return purchase_order_info_list
def test_get_supplier_info():
    result = supplier_interface.get_supplier_info("供应商1", ["供应商ID", "市场"])
    print(result)