def test_121_offline_repay_early_settlement(self, r, env, red): """线下还款流水推送:提前全部结清""" data = excel_table_byname(self.file, 'offline_repay') param = json.loads(data[0]['param']) plan_pay_date = GetSqlData.get_repayment_plan_date( project_id=r.get(red["project_id"]), environment=env, repayment_plan_type=1, period=1) repayment_plan_list = r.get(red["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": 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.get('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=env) assert rep['resultCode'] == int(data[0]['resultCode']) Assert.check_repayment(True, env, r.get(red["project_id"]), param)
def test_115_deduction_apply(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"]) success_amount = 0.00 repayment_detail_list = [] period = 1 for i in json.loads(repayment_plan_list): if i['period'] == period: plan_detail = { "period": 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']) headers["X-TBC-SKIP-SIGN"] = "true" 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_112_repayment(self): """还款流水推送""" data = excel_table_byname(self.file, 'repayment') param = json.loads(data[0]['param']) repayment_plan_list = self.r.get("jfx_repayment_plan") success_amount = 0.00 repayment_detail_list = [] period = 1 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 + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update( { "sourceRequestId": Common.get_random("requestNum"), "projectId": self.r.get("jfx_projectId"), "sourceProjectId": self.r.get("jfx_sourceProjectId"), "sourceUserId": self.r.get("jfx_sourceUserId"), "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), environment=self.env, product="cloudloan" ) self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) Assert.check_repayment(True, self.env, self.r.get("jfx_projectId"), param)
def test_110_query_repaymentplan(self): """还款计划查询""" data = excel_table_byname(self.file, 'repayment_plan') param = json.loads(data[0]['param']) param.update({"projectId": self.r.get('jfx_projectId')}) 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(int(data[0]['resultCode']), rep['resultCode']) Assert.check_repayment(False, self.env, self.r.get("jfx_projectId")) self.r.set("jfx_repayment_plan", json.dumps(rep['content']['repaymentPlanList']))
def test_110_query_repayment_plan(self, r, env, red): """国投云贷还款计划查询""" data = excel_table_byname(self.file, 'query_repayment_plan') param = json.loads(data[0]['param']) param.update({ "transactionId": r.get(red["source_project_id"]), "projectId": r.get(red["project_id"]) }) 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(False, env, r.get(red["project_id"])) r.setex(red["repayment_plan"], 72000, json.dumps(rep['content']['repaymentPlanList']))
def test_112_query_repayment_plan(self): """国投云贷还款计划查询""" data = excel_table_byname(self.file, 'query_repayment_plan') param = json.loads(data[0]['param']) param.update({ "transactionId": self.r.get("rmkj_9_periods_sourceProjectId"), "projectId": self.r.get("rmkj_9_periods_projectId") }) 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(False, self.env, self.r.get("rmkj_6_periods_projectId")) self.r.set("rmkj_9_periods_repayment_plan", json.dumps(rep['content']['repaymentPlanList']))