예제 #1
0
	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'])
예제 #4
0
 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'])
예제 #6
0
	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'], "交易成功")
예제 #7
0
	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'])
예제 #8
0
 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'])
예제 #9
0
	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'] == "交易成功"
예제 #10
0
    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
예제 #11
0
    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'], "交易成功")
예제 #12
0
 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'] == "交易成功"
예제 #13
0
    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'])
예제 #14
0
	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'], "交易成功")
예제 #15
0
    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'] == "交易成功"
예제 #16
0
 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'], "交易成功")
예제 #19
0
    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'], "交易成功")