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

"""
case_tag:cmdc_api,cmdc快速下单-二审通过,2252,2252-25,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_demand"

# 第一步登录多采商城获取token信息
# 获取登录多采商城所需账号密码
username = commonFuc().get_business_data(module, "username")
password = commonFuc().get_business_data(module, "password")
# 获取登录后Cmdc_access_token并进行参数化赋值
cmdc_access_token1 = CmdcMaiiLogin(username, password).get_token()
headers1 = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token1)
print(headers1)
# 第二步进行需求单创建
url1 = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url4")
request_body1 = commonFuc().get_business_data(module, "payload4")
# 发送请求
result1 = requests.post(url1, json=request_body1, headers=headers1)
result1 = json.loads(result1.content)
# 获取预期结果
check_dict1 = commonFuc().get_business_data(module, "checkDict4")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict1, result1)
# 获取新创建需求单对应的订单编号
order_num = result1["data"]["国药集团北京医疗器械有限公司"]["demandItems"][0]["demandCode"]
print(order_num)

# 登录后台管理系统获取token信息
# 获取登录后台管理系统所需账号密码
username1 = commonFuc().get_business_data(module, "username1")
password1 = commonFuc().get_business_data(module, "password1")
# 获取登录后Cmdc_access_token并进行参数化赋值
cmdc_access_token = CmdcDoLogin(username1, password1).get_token()
headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token)

# 第三步在需求单列表根据订单编号查询出新创建的需求单
url2 = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url80")
request_body2 = commonFuc().get_business_data(module, "payload80")
# 发送请求
result2 = requests.post(url2, json=request_body2, headers=headers)
result2 = json.loads(result2.content)
# 获取预期结果
check_dict2 = commonFuc().get_business_data(module, "checkDict80")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict2, result2)

# 第四步获取到新增需求单对应的id并进行参数化赋值处理
demand_id = result2["data"]["list"][0]["demandId"]
demand_code = result2["data"]["list"][0]["demandCode"]
print(demand_id)

# 步骤五对新创建的需求单订单进行审核操作
url3 = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url81")
request_body3 = commonFuc().get_business_data(module, "payload81", demand_id, demand_code)
# 发送请求
result3 = requests.post(url3, json=request_body3, headers=headers)
result3 = json.loads(result3.content)
print(result3)
# 获取预期结果
check_dict3 = commonFuc().get_business_data(module, "checkDict81")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict3, result3)

"""
 场景:流程验证-快速下单创建-一审通过-二审通过
 用例名称：快速下单-二审通过
"""



