# -*- encoding=utf8 -*-
__author__ = "liguangyu"

"""
case_tag:cmdc_api,cmdc订单提交_审核_确认打款_费森,3000,3000-4,sit,bs
主数据平台:后台运营系统返利规则新增接口
"""

from common.common_func import commonFuc
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
import requests
import json

module = "cmdc_scenario"
a = 20
while a <= 20:
    # 第一步登录商城进行订单提交
    # 登录多采商城获取cmdc_access_token
    # 获取登录多采商城所需账号密码
    username = commonFuc().get_business_data(module, "username3")
    password = commonFuc().get_business_data(module, "password3")
    # 获取登录后Cmdc_access_token并进行参数化赋值
    cmdc_access_token1 = CmdcMaiiLogin(username, password).get_token()
    headers_do = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token1)

    # 进行订单提交操作
    url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url4_1")
    request_body = commonFuc().get_business_data(module, "payload4_1")
    # 发送请求
    result = requests.post(url, json=request_body, headers=headers_do)
    result = json.loads(result.content)
    # print(result)
    # 获取生成订单信息
    demandParentId = result["data"]["国药集团联合医疗器械有限公司"]["demandParentId"]
    demandParentCode = result["data"]["国药集团联合医疗器械有限公司"]["demandParentCode"]
    demandId = result["data"]["国药集团联合医疗器械有限公司"]["demandItems"][0]["demandId"]
    demandCode = result["data"]["国药集团联合医疗器械有限公司"]["demandItems"][0]["demandCode"]
    demandSkuId1 = result["data"]["国药集团联合医疗器械有限公司"]["demandItems"][0]["demandSkuId"]

    # print(demandCode)
    # 获取后台运营平台登录所需账号密码
    username = commonFuc().get_business_data(module, "username_102")
    password = commonFuc().get_business_data(module, "password_102")
    # 获取登录后Cmdc_access_token
    cmdc_access_token = CmdcDoLogin(username, password).get_token()
    headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)

    # 第二步对订单审核操作
    url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url4_2")
    request_body = commonFuc().get_business_data(module, "payload4_2", demandId, demandParentId, demandParentCode,
                                                 demandCode,
                                                 demandSkuId1, demandCode, demandId, demandParentId,
                                                 demandParentCode, demandCode,  demandSkuId1, demandCode,
                                                demandSkuId1, demandCode)
    # 发送请求
    result = requests.post(url, json=request_body, headers=headers)
    result = json.loads(result.content)

    # 第三步对审核通过的订单进行确认收款操作
    url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url4_3")
    request_body = commonFuc().get_business_data(module, "payload4_3", demandParentCode, demandId, demandParentId)

    """
     场景: 订单提交_审核_确认打款_费森
     用例名称：订单提交_审核_确认打款_费森
     输出：{"success":true,"code":"200","message":"OK"}
    """

    # 发送请求
    result = requests.post(url, json=request_body, headers=headers)
    # 获取接口响应时间
    api_time = float(result.elapsed.total_seconds())
    result = json.loads(result.content)
    print(demandParentCode)
    result["api_time"] = api_time

    # 获取预期结果
    check_dict = commonFuc().get_business_data(module, "checkDict4")
    # 断言实际结果中是否包含预期结果的内容
    commonFuc().check_result(check_dict, result)
    a = a + 1
