def test_114_offline_repay_early_settlement(self): """线下还款流水推送:提前全部结清""" data = excel_table_byname(self.file, 'offline_repay') param = json.loads(data[0]['param']) plan_pay_date = GetSqlData.get_repayment_plan_date( project_id=self.r.get("ddq_6_periods_projectId"), environment=self.env, repayment_plan_type=1, period=1 ) repayment_plan_list = self.r.get("ddq_6_periods_early_settlement_repayment_plan") success_amount = 0.00 repayment_detail_list = [] for i in json.loads(repayment_plan_list): plan_detail = { "sourceRepaymentDetailId": Common.get_random("transactionId"), "payAmount": i['amount'], "planCategory": i['repaymentPlanType'] } success_amount = round(success_amount + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update({ "projectId": self.r.get("ddq_6_periods_projectId"), "transactionId": self.r.get("ddq_6_periods_sourceProjectId"), "sourceProjectId": self.r.get("ddq_6_periods_sourceProjectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "planPayDate": plan_pay_date['plan_pay_date'], "successAmount": success_amount, "repayType": 2, "period": json.loads(repayment_plan_list)[0]['period'], "payTime": Common.get_time("-") }) param['repaymentDetailList'] = repayment_detail_list if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response( faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=self.env ) self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) Assert.check_repayment(True, self.env, self.r.get("ddq_6_periods_projectId"), param)
def test_120_offline_repay_repayment(self, r, env, red): """线下还款流水推送:正常还一期""" data = excel_table_byname(self.file, 'offline_repay') param = json.loads(data[0]['param']) period = 1 plan_pay_date = GetSqlData.get_repayment_plan_date( project_id=r.get(red["project_id"]), environment=env, repayment_plan_type=1, period=period) repayment_plan_list = r.get(red["repayment_plan"]) success_amount = 0.00 repayment_detail_list = [] for i in json.loads(repayment_plan_list): if i['period'] == period: plan_detail = { "sourceRepaymentDetailId": Common.get_random("transactionId"), "payAmount": i['restAmount'], "planCategory": i['repaymentPlanType'] } success_amount = round( success_amount + float(plan_detail.get("payAmount")), 2) repayment_detail_list.append(plan_detail) param.update({ "projectId": r.get(red["project_id"]), "transactionId": r.get(red["source_project_id"]), "sourceProjectId": r.get(red["source_project_id"]), "sourceRepaymentId": Common.get_random("sourceProjectId"), "planPayDate": plan_pay_date['plan_pay_date'], "successAmount": success_amount, "payTime": Common.get_time("-"), "period": period }) param['repaymentDetailList'] = repayment_detail_list if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=env) assert rep['resultCode'] == int(data[0]['resultCode']) Assert.check_repayment(True, env, r.get(red["project_id"]), param)
def test_116_deduction_apply_all_periods(self, r, env, red): """主动还款:连续还款整笔结清""" data = excel_table_byname(self.file, 'deduction_apply') param = json.loads(data[0]['param']) repayment_plan_list = r.get(red["repayment_plan"]) maturity = GetSqlData.get_maturity(project_id=r.get(red["project_id"]), environment=env) for period in range(maturity): period = period + 1 success_amount = 0.00 repayment_detail_list = [] for i in json.loads(repayment_plan_list): if i['period'] == period: plan_detail = { "period": i['period'], "payAmount": i['restAmount'], "planCategory": i['repaymentPlanType'] } success_amount = round( success_amount + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update({ "sourceRequestId": Common.get_random("requestNum"), "projectId": r.get(red["project_id"]), "sourceProjectId": r.get(red["source_project_id"]), "sourceUserId": r.get(red["source_user_id"]), "serviceSn": Common.get_random("serviceSn"), "payTime": Common.get_time("-"), "successAmount": success_amount, "period": period }) param['repaymentDetailList'] = repayment_detail_list if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=env) assert rep['resultCode'] == int(data[0]['resultCode']) Assert.check_repayment(True, env, r.get(red["project_id"]), param) r.setex(red["deduction_task_id"], 72000, rep['content']['deductionTaskId'])
def test_119_capital_flow(self): """资金流水推送""" data = excel_table_byname(self.file, 'cash_push') param = json.loads(data[0]['param']) success_amount = GetSqlData.get_repayment_amount( project_id=self.r.get("jfqylv2_3_periods_projectId"), environment=self.env, period=1) param.update({ "serviceSn": Common.get_random("serviceSn"), "projectId": self.r.get("jfqylv2_3_periods_projectId"), "sourceProjectId": self.r.get("jfqylv2_3_periods_sourceProjectId"), "repaymentPlanId": Common.get_random("sourceProjectId"), "sucessAmount": success_amount, "sourceRepaymentId": Common.get_random("sourceProjectId"), "tradeTime": Common.get_time(), "finishTime": Common.get_time() }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=self.env, product="gateway") response_data = json.loads(Common.dencrypt_response(rep.text)) self.assertEqual(response_data['resultCode'], int(data[0]['resultCode']))
def test_3_repayment_settle_in_advance(self, r, env): """翼支付提前结清""" data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = Common().get_json_data('data', 'yzf_settle_in_advance.json') param['repayment'].update({ "projectId": r.get("yzf_repayment_advance_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": 103.36 }) plan_type = {"Principal": "1", "Interest": "2"} for i in param['repaymentDetailList']: i.update({ "sourceRepaymentDetailId": Common.get_random("transactionId"), "relatedPlanId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") }) if i['repaymentPlanType'] == 'Principal': this_pay_amount = GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("yzf_repayment_advance_projectId")) i.update({"thisPayAmount": this_pay_amount}) for i in param['repaymentPlanList']: i.update({ "sourcePlanId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") }) if i['repaymentStatus'] == 'repayment_done': i.update({ "curAmount": GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("yzf_repayment_advance_projectId")), "payAmount": GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("yzf_repayment_advance_projectId")) }) else: if i['assetPlanOwner'] == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_advance_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_type[i['repaymentPlanType']]) i.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), }) elif i['assetPlanOwner'] == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("yzf_repayment_advance_projectId"), environment=env, repayment_plan_type=plan_type[i['repaymentPlanType']], period=i['period']) i.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), }) for i in param['feePlanList']: i.update({ "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功" assert rep['resultCode'] == int(data[0]['msgCode'])
def test_4_after_comp_repay(self, r, env): """借去花代偿后还款""" # noinspection PyGlobalUndefined global period, plan_pay_type, plan_list_detail data = excel_table_byname(self.file, 'after_comp_repay') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) period = 1 param['repayment'].update( { "projectId": r.get("jqh_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), } ) plan_type = { "Principal": "1", "Interest": "2", "Fee": "3" } for i in range(0, len(param['repaymentDetailList'])): plan_pay_type = plan_type[param['repaymentDetailList'][i]['repaymentPlanType']] plan_catecory = param['repaymentDetailList'][i]['planCategory'] asset_plan_owner = param['repaymentDetailList'][i]['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("jqh_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=period) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=3, feecategory=param['repaymentDetailList'][i]['planCategory'] ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": period } ) elif asset_plan_owner == "financePartner": if plan_catecory == 1 or plan_catecory == 2: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=plan_pay_type ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=3, feecategory=param['repaymentDetailList'][i]['planCategory'] ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['repaymentPlanList'])): plan_list_pay_type = plan_type[param['repaymentPlanList'][i]['repaymentPlanType']] plan_list_asset_plan_owner = param['repaymentPlanList'][i]['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=plan_list_pay_type ) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get('cur_amount')), "payAmount": float(plan_list_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("jqh_projectId"), environment=env, repayment_plan_type=plan_list_pay_type, period=param['repaymentPlanList'][i]['period']) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get('cur_amount')), "payAmount": float(plan_list_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['feePlanList'])): plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=param['feePlanList'][i]['period'], repayment_plan_type=3, feecategory=param['feePlanList'][i]['feeCategory'] ) param['feePlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") } ) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response( faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic" ) assert (rep['resultCode'], data[0]['msgCode']) assert (rep['content']['message'], "交易成功")
def test_3_compensation(self, r, env): """借去花代偿一期""" data = excel_table_byname(self.file, 'compensation') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param['assetSwapInfo'].update( { "projectId": r.get("jqh_projectId"), "sourceApplyId": Common.get_random("serviceSn"), "actionTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) for i in param['assetSwapDetailList']: i.update( { "projectId": r['jqh_sourceProjectId'], "sourceDetailId": Common.get_random("serviceSn"), "sourceSwapId": Common.get_random("serviceSn"), "sourceRelatedPlanId": Common.get_random("serviceSn"), "actionTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) for i in param['repaymentPlanList']: global plan_list_detail, plan_pay_type plan_pay_type = { "Principal": "1", "Interest": "2" } if i['assetPlanOwner'] == "foundPartner": plan_list_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("jqh_projectId"), environment=env, repayment_plan_type=plan_pay_type.get( i['repaymentPlanType']), period=i['period']) elif i['assetPlanOwner'] == "financePartner": plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_pay_type.get(i['repaymentPlanType']) ) i.update( { "sourcePlanId": plan_list_detail.get("source_plan_id"), "planPayDate": str(plan_list_detail.get("plan_pay_date")) } ) for i in param['feePlanList']: i.update( { "sourcePlanId": Common.get_random("serviceSn"), "planPayDate": Common.get_time("-"), "sourceRepaymentDetailId": Common.get_random("serviceSn"), "relatedPlanId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-") } ) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response( faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic" ) assert (rep['resultCode'], data[0]['msgCode'])
def test_3_repayment_one_period(self, env, r): """拿去花全部结清""" time.sleep(3) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) for per in range(1, 7): plan_type = {"Principal": "1", "Interest": "2"} repayment = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_repayment_normal_settle_projectId"), environment=env, repayment_plan_type="1", period=per) success_amount = GetSqlData.get_repayment_amount( environment=env, project_id=r.get("nqh_repayment_normal_settle_projectId"), period=per) param['repayment'].update({ "projectId": r.get("nqh_repayment_normal_settle_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": str(repayment.get('plan_pay_date')), "successAmount": success_amount }) for i in param['repaymentDetailList']: plan_pay_type = plan_type.get(i['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_repayment_normal_settle_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=per) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": str(repayment_detail.get('plan_pay_date')), "period": per, "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) for y in param['repaymentPlanList']: plan_pay_type_plan = plan_type.get(y['repaymentPlanType']) if y['assetPlanOwner'] == 'foundPartner': repayment_detail_plan = GetSqlData.get_repayment_plan_date( project_id=r.get( "nqh_repayment_normal_settle_projectId"), environment=env, repayment_plan_type=plan_pay_type_plan, period=per) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": str(repayment_detail_plan.get('plan_pay_date')), "curAmount": float(repayment_detail_plan.get("rest_amount")), "payAmount": float(repayment_detail_plan.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) else: repayment_detail_plan = GetSqlData.get_user_repayment_detail( project_id=r.get( "nqh_repayment_normal_settle_projectId"), environment=env, period=per, repayment_plan_type=plan_pay_type_plan) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": str(repayment_detail_plan.get('plan_pay_date')), "curAmount": float(repayment_detail_plan.get("rest_amount")), "payAmount": float(repayment_detail_plan.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功" assert rep['resultCode'] == int(data[0]['msgCode'])
def test_104_repayment_one_period(self, r, env): """随意借V2还款一期""" data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param['repayment'].update( { "projectId": r.get("syjv2_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) plan_type = { "Principal": "1", "Interest": "2" } for i in param['repaymentDetailList']: if i['repaymentPlanType'] in ("1", "2"): plan_pay_type = plan_type.get(i['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("syjv2_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=i['period']) i.update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "payTime": Common.get_time("-") } ) else: repayment_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("syjv2_projectId"), environment=env, repayment_plan_type=1, period=i['period']) i.update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "payTime": Common.get_time("-") } ) for i in param['repaymentPlanList']: plan_pay_type_plan = plan_type.get(i['repaymentPlanType']) repayment_detail_plan = GetSqlData.get_repayment_plan_date(project_id=r.get("syjv2_projectId"), environment=env, repayment_plan_type=plan_pay_type_plan, period=i['period']) i.update( { "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": str(repayment_detail_plan.get('plan_pay_date')), "payTime": Common.get_time("-") } ) for i in param['feePlanList']: i.update( { "sourcePlanId": Common.get_random("serviceSn"), "planPayDate": Common.get_time("-") } ) param['reliefApply'].update( { "projectId": r.get("syjv2_projectId"), "reliefTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "sourceReliefApplyId": Common.get_random("serviceSn") } ) for i in param['reliefDetailList']: i.update( { "planPayDate": param['feePlanList'][0]['planPayDate'], "reliefTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "sourcePlanId": Common.get_random("serviceSn"), "sourceReliefDetailId": Common.get_random("serviceSn") } ) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response( faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic" ) assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功"
def _get_repay_data(env: str, project_id: str, param: Optional[dict]) -> dict: """ 初始化校验需要用到的还款数据 :param env: :param project_id: :param param: :return: """ _data = { "repay_type": param["repayType"], "period": param["period"], "pay_time": param["payTime"], "repayment_detail": param["repaymentDetailList"], "repay_principal": 0, "repay_interest": 0, "plan_pay_date": None, "success_amount": param["successAmount"], "payment_flow_source": param["paymentFlowSource"], "source_repayment_id": param["sourceRepaymentId"], "maturity": GetSqlData.get_maturity(project_id=project_id, environment=env), "database_repayment_plan": GetSqlData.get_repayment_plan(project_id=project_id, environment=env), "database_fee_plan": GetSqlData.get_fee_plan(project_id, env), "database_repayment": GetSqlData.get_repayment(project_id, env)[-1], "database_repayment_detail": GetSqlData.get_repayment_detail(project_id, env), "current_repayment_plan": [], # 当前期的还款计划 "before_repayment_plan": [], # 已发生的还款计划 "after_repayment_plan": [], # 未发生的还款计划 "current_fee_plan": [], # 当前期费计划 "before_fee_plan": [], # 已发生的费计划 "after_fee_plan": [], # 未发生的费计划 "current_repayment_detail": [], # 当前期还款流水 "before_repayment_detail": [], # 已发生的还款流水 "after_repayment_detail": [] # 未发生的还款流水 } _data["plan_pay_date"] = GetSqlData.get_repayment_plan_date( project_id, env, 1, _data["period"])["plan_pay_date"] for p in _data["database_repayment_plan"]: if p["period"] == _data["period"]: _data["current_repayment_plan"].append(p) elif p["period"] < _data["period"]: _data["before_repayment_plan"].append(p) else: _data["after_repayment_plan"].append(p) for f in _data["database_fee_plan"]: if f["period"] == _data["period"]: _data["current_fee_plan"].append(f) elif f["period"] < _data["period"]: _data["before_fee_plan"].append(f) else: _data["after_fee_plan"].append(f) for detail in _data["repayment_detail"]: if detail["planCategory"] == 1: _data["repay_principal"] += detail["payAmount"] elif detail["planCategory"] == 2: _data["repay_interest"] += detail["payAmount"] for repayment_detail in _data["database_repayment_detail"]: if repayment_detail["period"] < _data["period"]: _data["before_repayment_detail"].append(repayment_detail) elif repayment_detail["period"] == _data["period"]: _data["current_repayment_detail"].append(repayment_detail) elif repayment_detail["period"] > _data["period"]: _data["after_repayment_detail"].append(repayment_detail) return _data
def test_3_repayment_one_period(self): """翼支付全部结清""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) for per in range(1, 25): success_amount = GetSqlData.get_user_repayment_amount( environment=self.env, project_id=self.r.get("yzf_repayment_normal_settle_projectId"), period=per) param['repayment'].update({ "projectId": self.r.get("yzf_repayment_normal_settle_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": success_amount }) plan_type = {"Principal": "1", "Interest": "2"} for i in param['repaymentDetailList']: plan_pay_type = plan_type[i['repaymentPlanType']] plan_catecory = i['planCategory'] asset_plan_owner = i['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=per) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": per }) else: if per == 24: if plan_catecory == 2002: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "yzf_repayment_normal_settle_projectId" ), environment=self.env, repayment_plan_type=2, period=24) user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get( "yzf_repayment_normal_settle_projectId" ), environment=self.env, period=24, repayment_plan_type=2) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": Common.get_repaydate("1")[0].split(" ")[0], "thisPayAmount": float( Decimal(user_repayment_detail[ 'rest_amount']) - Decimal( repayment_detail['rest_amount']) - 2), "payTime": Common.get_time("-"), "period": per }) elif plan_catecory == 2003: i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": Common.get_repaydate("1")[0].split(" ")[0], "thisPayAmount": 2.00, "payTime": Common.get_time("-"), "period": per }) else: i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": Common.get_repaydate("1")[0].split(" ")[0], "payTime": Common.get_time("-"), "period": per }) elif asset_plan_owner == "financePartner": user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, period=per, repayment_plan_type=plan_pay_type) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": per }) else: pass for p in param['repaymentPlanList']: plan_list_pay_type = plan_type[p['repaymentPlanType']] plan_list_asset_plan_owner = p['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, period=per, repayment_plan_type=plan_list_pay_type) p.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, repayment_plan_type=plan_list_pay_type, period=per) p.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=self.env, product="pintic") self.assertEqual(rep['resultCode'], data[0]['msgCode']) self.assertEqual(rep['content']['message'], "交易成功")
def test_repay_two_periods(self, r, env): """橙分期一次还款2期""" data = excel_table_byname(self.file, 'repay_two_periods') param = json.loads(data[0]['param']) param['repayment'].update({ "projectId": r.get("cfq_12_periods_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), }) plan_type = {"Principal": "1", "Interest": "2", "Fee": "3"} for i in param['repaymentDetailList']: plan_pay_type = plan_type[i['repaymentPlanType']] plan_catecory = i['planCategory'] asset_plan_owner = i['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail1 = GetSqlData.get_repayment_plan_date( project_id=r.get("cfq_12_periods_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=i['period']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail1.get('plan_pay_date')), "thisPayAmount": float(repayment_detail1.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) else: plan_list_detail2 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=3, feecategory=i['planCategory']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail2.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": i['period'] }) elif asset_plan_owner == "financePartner": if plan_catecory == 1 or plan_catecory == 2: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_pay_type) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) else: plan_list_detail3 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=3, feecategory=i['planCategory']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail3.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": i['period'] }) for i in param['repaymentPlanList']: plan_list_pay_type = plan_type[i['repaymentPlanType']] plan_list_asset_plan_owner = i['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail4 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_list_pay_type) i.update({ "sourcePlanId": plan_list_detail4.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail4.get('cur_amount')), "payAmount": float(plan_list_detail4.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail5 = GetSqlData.get_repayment_plan_date( project_id=r.get("cfq_12_periods_projectId"), environment=env, repayment_plan_type=plan_list_pay_type, period=i['period']) i.update({ "sourcePlanId": plan_list_detail5.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail5.get('cur_amount')), "payAmount": float(plan_list_detail5.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) for i in param['feePlanList']: plan_list_detail6 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=3, feecategory=i['feeCategory']) i.update({ "sourcePlanId": plan_list_detail6.get('source_plan_id'), "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintec") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功"
def test_105_settle_in_advance_phase_one(self, r, env): """橙分期在第一期提前结清""" data = excel_table_byname(self.file, 'settle_in_advance') param = Common().get_json_data( 'data', 'cfq_12_periods_settle_in_advance_phase_one.json') period = GetSqlData.get_current_period( r.get("cfq_12_periods_projectId"), env) # 剩余在贷本金 debt_amount = float( GetSqlData.get_debt_amount(r.get("cfq_12_periods_projectId"), env)) # 当期利息 rest_interest = float( GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=period, repayment_plan_type="2").get("rest_amount")) param['repayment'].update({ "projectId": r.get("cfq_12_periods_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), }) plan_type = {"Principal": "1", "Interest": "2", "Fee": '3'} for i in param['repaymentDetailList']: i.update({ "sourceRepaymentDetailId": Common.get_random("transactionId"), "relatedPlanId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "period": period }) if i['repaymentPlanType'] == 'Principal': i.update({ "thisPayAmount": GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("cfq_12_periods_projectId")) }) for i in param['repaymentPlanList']: i.update({ "sourcePlanId": Common.get_random("sourceProjectId"), "payTime": "1970-01-01 00:00:00", "sourceCreateTime": Common.get_time("-"), }) if i['repaymentStatus'] == 'repayment_done': if i['repaymentPlanType'] == 'Principal': i.update({ "curAmount": debt_amount, "payAmount": debt_amount, "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) elif i['repaymentPlanType'] == 'Interest': i.update({ "curAmount": rest_interest, "payAmount": rest_interest, "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) else: if i['assetPlanOwner'] == 'financePartner': plan_list_detail1 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_type[i['repaymentPlanType']]) i.update({ "sourcePlanId": plan_list_detail1.get('source_plan_id'), "planPayDate": str(plan_list_detail1.get("plan_pay_date")), "curAmount": float(plan_list_detail1.get("rest_amount")), "payAmount": float(plan_list_detail1.get("rest_amount")), }) elif i['assetPlanOwner'] == 'foundPartner': plan_list_detail2 = GetSqlData.get_repayment_plan_date( project_id=r.get("cfq_12_periods_projectId"), environment=env, repayment_plan_type=plan_type[i['repaymentPlanType']], period=i['period']) i.update({ "sourcePlanId": plan_list_detail2.get('source_plan_id'), "planPayDate": str(plan_list_detail2.get("plan_pay_date")), "curAmount": float(plan_list_detail2.get("rest_amount")), "payAmount": float(plan_list_detail2.get("rest_amount")), }) for i in param['feePlanList']: i.update({ "sourcePlanId": Common.get_random('serviceSn'), "planPayDate": Common.get_time('-'), 'payTime': Common.get_time('-') }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintec") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功" assert rep['resultCode'], int(data[0]['msgCode'])
def test_104_repayment(self): """橙分期24期还款一期""" global period, plan_pay_type, plan_list_detail data = excel_table_byname(self.file, 'repayment') param = json.loads(data[0]['param']) period = 1 param['repayment'].update( { "projectId": self.r.get("cfq_24_periods_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) plan_type = { "Principal": "1", "Interest": "2", "Fee": "3" } for i in range(0, len(param['repaymentDetailList'])): plan_pay_type = plan_type[param['repaymentDetailList'][i]['repaymentPlanType']] plan_catecory = param['repaymentDetailList'][i]['planCategory'] asset_plan_owner = param['repaymentDetailList'][i]['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=period) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, repayment_plan_type="1", period=period) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "payTime": Common.get_time("-"), "period": period } ) elif asset_plan_owner == "financePartner": if plan_catecory == 1 or plan_catecory == 2: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=period, repayment_plan_type=plan_pay_type ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=period, repayment_plan_type="1" ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['repaymentPlanList'])): plan_list_pay_type = plan_type[param['repaymentPlanList'][i]['repaymentPlanType']] plan_list_asset_plan_owner = param['repaymentPlanList'][i]['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=period, repayment_plan_type=plan_list_pay_type ) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": period } ) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date(project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, repayment_plan_type=plan_list_pay_type, period=param['repaymentPlanList'][i]['period']) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['feePlanList'])): plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=param['feePlanList'][i]['period'], repayment_plan_type="1", feecategory=1 ) param['feePlanList'][i].update( { "sourcePlanId": Common.get_random("sourceProjectId"), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "payTime": Common.get_time("-") } ) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response( faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=self.env, product="pintec", prod_type="pintec" ) self.assertEqual(rep['resultCode'], data[0]['msgCode']) self.assertEqual(rep['content']['message'], "交易成功")
def test_4_repayment_after_return(self, env, r): """退货更新还款计划""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) plan_type = {"Principal": "1", "Interest": "2"} repayment = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_one_period_same_day_return_projectId"), environment=env, repayment_plan_type="1", period=1) success_amount = GetSqlData.get_repayment_amount( project_id=r.get("nqh_one_period_same_day_return_projectId"), environment=env, period=1) param['repayment'].update({ "projectId": r.get("nqh_one_period_same_day_return_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": str(repayment.get('plan_pay_date')), "sourceCreateTime": str(repayment.get('plan_pay_date')), "successAmount": success_amount }) for i in param['repaymentDetailList']: plan_pay_type = plan_type.get(i['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_one_period_same_day_return_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=1) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('cur_amount')), "payTime": Common.get_time("-") }) for y in param['repaymentPlanList']: plan_pay_type_plan = plan_type.get(y['repaymentPlanType']) repayment_detail_plan = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_one_period_same_day_return_projectId"), environment=env, repayment_plan_type=plan_pay_type_plan, period=y['period']) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "curAmount": float(repayment_detail_plan.get('origin_amount')), "payAmount": float(repayment_detail_plan.get('origin_amount')), "payTime": Common.get_time('-') }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功"
def test_3_repayment_one_period(self, env, r): """翼支付还款一期""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) success_amount = GetSqlData.get_user_repayment_amount( environment=env, project_id=r.get("yzf_repayment_projectId"), period=param['repaymentDetailList'][0]['period']) param['repayment'].update({ "projectId": r.get("yzf_repayment_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": success_amount }) plan_type = {"Principal": "1", "Interest": "2", "Fee": "3"} repaydate = Common.get_repaydate(24) for i in range(len(param['repaymentDetailList'])): plan_pay_type = plan_type[param['repaymentDetailList'][i] ['repaymentPlanType']] plan_catecory = param['repaymentDetailList'][i]['planCategory'] asset_plan_owner = param['repaymentDetailList'][i][ 'assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("yzf_repayment_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=param['repaymentDetailList'][i]['period']) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) else: plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['repaymentDetailList'][i]['period'], repayment_plan_type=3, feecategory=param['repaymentDetailList'][i] ['planCategory']) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": repaydate[0].split(" ")[0], "thisPayAmount": float(plan_list_detail.get('rest_amount')), "payTime": Common.get_time("-") }) elif asset_plan_owner == "financePartner": user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['repaymentDetailList'][i]['period'], repayment_plan_type=plan_pay_type) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) else: pass for i in range(len(param['repaymentPlanList'])): plan_list_pay_type = plan_type[param['repaymentPlanList'][i] ['repaymentPlanType']] plan_list_asset_plan_owner = param['repaymentPlanList'][i][ 'assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['repaymentPlanList'][i]['period'], repayment_plan_type=plan_list_pay_type) param['repaymentPlanList'][i].update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-") }) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("yzf_repayment_projectId"), environment=env, repayment_plan_type=plan_list_pay_type, period=param['repaymentPlanList'][i]['period']) param['repaymentPlanList'][i].update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-") }) for i in range(len(param['feePlanList'])): plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['feePlanList'][i]['period'], repayment_plan_type=3, feecategory=param['feePlanList'][i]['feeCategory']) param['feePlanList'][i].update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功"
def setUpClass(cls): cls.env = "qa" cls.sql = GetSqlData() cls.r = Common.conn_redis(environment=cls.env) cls.file = Config().get_item('File', 'cfq_12_periods_return_case_file')
def test_3_repayment_one_period(self): """随意借还款一期""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) success_amount = GetSqlData.get_repayment_amount( environment=self.env, project_id=self.r.get("syj_repayment_advance_projectId"), period=param['repaymentDetailList'][0]['period']) param['repayment'].update({ "projectId": self.r.get("syj_repayment_advance_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": success_amount }) plan_type = {"Principal": "1", "Interest": "2"} for i in param['repaymentDetailList']: plan_pay_type = plan_type.get(i['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get("syj_repayment_advance_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=i['period']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) for y in param['repaymentPlanList']: plan_pay_type_plan = plan_type.get(y['repaymentPlanType']) repayment_detail_plan = GetSqlData.get_repayment_plan_date( project_id=self.r.get("syj_repayment_advance_projectId"), environment=self.env, repayment_plan_type=plan_pay_type_plan, period=y['period']) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(repayment_detail_plan.get("rest_amount")), "payAmount": float(repayment_detail_plan.get("rest_amount")), "payTime": Common.get_time("-") }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=self.env, product="pintic") print("响应信息:%s" % rep) print("返回json:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual( json.loads(rep.text)['resultCode'], data[0]['msgCode']) self.assertEqual(json.loads(rep.text)['content']['message'], "交易成功")
def test_4_repayment_after_return(self): """退货更新还款计划""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) for per in range(1, 7): plan_type = {"Principal": "1", "Interest": "2"} repayment = GetSqlData.get_repayment_plan_date( project_id=self.r.get("nqh_periods_same_day_return_projectId"), environment=self.env, repayment_plan_type="1", period=per) success_amount = GetSqlData.get_repayment_amount( project_id=self.r.get("nqh_periods_same_day_return_projectId"), environment=self.env, period=per) param['repayment'].update({ "projectId": self.r.get("nqh_periods_same_day_return_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": str(repayment.get('plan_pay_date')), "sourceCreateTime": str(repayment.get('plan_pay_date')), "successAmount": success_amount }) for i in range(len(param['repaymentDetailList'])): plan_pay_type = plan_type.get( param['repaymentDetailList'][i]['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "nqh_periods_same_day_return_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=per) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": str(repayment_detail.get('plan_pay_date')), "period": per, "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) for y in range(len(param['repaymentPlanList'])): plan_pay_type_plan = plan_type.get( param['repaymentPlanList'][y]['repaymentPlanType']) repayment_detail_plan = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "nqh_periods_same_day_return_projectId"), environment=self.env, repayment_plan_type=plan_pay_type_plan, period=param['repaymentPlanList'][y]['period']) if plan_pay_type_plan == "1": param['repaymentPlanList'][y].update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "curAmount": "100.00" }) elif plan_pay_type_plan == "2": param['repaymentPlanList'][y].update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "curAmount": "10.00" }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=self.env, product="pintic") self.assertEqual( json.loads(rep.text)['resultCode'], data[0]['msgCode']) self.assertEqual( json.loads(rep.text)['content']['message'], "交易成功")