def logout(self): all_req_data = {} token = self.login() #退出登录请求数据 logout_req_data = token['data']['accToken'] all_req_data.update({'accToken':logout_req_data}) #退出登录请求头 logout_req_header = { 'serialno':'1098293248392', 'accToken':logout_req_data, 'systemId':'WPT' } all_req_data.update(logout_req_header) #退出登录请求数据 public.log_record('退出登录请求数据', sys._getframe().f_lineno, all_req_data) logout_res_data = requests.post( url=config.plms_logout_default_url, json={'accToken':logout_req_data}, headers = logout_req_header ) if logout_res_data.json()['retCode']: return logout_res_data.json() else: public.log_record('退出登录失败响应数据', sys._getframe().f_lineno, logout_res_data.text)
def login(self): all_req_data = {} login_req_data = { 'userId': config.default_operation_name, 'password': '******', } all_req_data.update(login_req_data) login_req_header = { 'serialno':'1098293248392', 'systemId':'WPT' } all_req_data.update(login_req_header) public.log_record('登录请求数据', sys._getframe().f_lineno, all_req_data) login_res_data = requests.post( url=config.plms_login_default_url, json=login_req_data, headers = login_req_header ) if login_res_data.json()['retCode']: return login_res_data.json() else: public.log_record('登录请求败响应数据', sys._getframe().f_lineno, login_res_data.text) return None
def admission(business_type): req_data = { 'certId': get_user_info[1], 'businessType': business_type, 'inputType': 'NOTXD', 'mainBorrowerCertId': '', 'interfaceType': 'Y1', 'source': 'WPT' } # 获取到其他业务类型的中文名称 for k, v in config.business_type.items(): if v[0] == business_type: business_type_name = v[1] try: response = requests.post(url=config.inner_admission_default_url, json=req_data) public.log_record('准入%s' % business_type_name, sys._getframe().f_lineno, '{url:%s,data:%s}' % (response.url, str(req_data))) return response.json() except Exception as e: public.log_record('准入%s' % business_type_name, sys._getframe().f_lineno, ',异常信息:%s' % e)
def handel_query(self, *args, **kwargs): cursor = self.conn.connect() if len(args) == 0: columns = '*' else: columns = str(args).replace('(', '').replace(')', '').replace("'", '')[:-1] is_null = '' condition = '' for k, v in kwargs.items(): is_null += v if is_null == '': sql = " select %s from attachment ; " % (columns) else: for k, v in kwargs.items(): condition += " %s = '%s' and " % (k, v) sql = " select %s from attachment where %s " % (columns, condition) sql = sql.strip()[:-4] + ';' public.log_record('查询影像附件信息:', sys._getframe().f_lineno, sql) cursor.execute(sql) results = cursor.fetchall() self.conn.close() return results
def test_get_apply_id(self): ''' 获取空白申请编号''' apply_id_res = requests.get(url=config.wk_get_apply_id_default_url) if apply_id_res.json()['code']: public.log_record('获取空白申请编号响应数据', sys._getframe().f_lineno, apply_id_res.text) self.assertEqual(apply_id_res.json()['code'],'000000') else: public.log_record('获取空白申请编号失败响应数据', sys._getframe().f_lineno, apply_id_res.text)
def test_logout(self): ''' 退出登录''' logout = LoginLogout() logout_res_data = logout.logout() if logout_res_data['retCode']: self.assertEqual(logout_res_data['retCode'], '000000') else: public.log_record('退出登录请求败响应数据', sys._getframe().f_lineno, logout_res_data)
def test_query_valid_recommend(self): ''' 查询有效推荐 ''' recommend_info = cma_recommend() if recommend_info: public.log_record('根据身份证号查询最近一笔有效推荐人信息响应数据', sys._getframe().f_lineno, recommend_info) self.assertEqual(recommend_info['code'],'000000') else: public.log_record('根据身份证号查询最近一笔有效推荐人信息失败响应数据', sys._getframe().f_lineno, recommend_info)
def test_inquiry_credit(self): ''' 查询征信报告''' handel_credit = public.CreditInquiry() inquiry_credit = handel_credit.save_to_mongoDB() if inquiry_credit: public.log_record('查询征信响应数据:', sys._getframe().f_lineno, inquiry_credit) self.assertEqual(str(inquiry_credit['code']),'0','查询征信') else: public.log_record('查询征信失败响应数据:', sys._getframe().f_lineno, inquiry_credit)
def handel_update(self, **kwargs): cursor = self.conn.connect() sql = " update apply set %s = '%s' where apply_id = '%s' ;" for k, v in kwargs.items(): new_sql = sql % (k, v, kwargs['apply_id']) public.log_record('修改申请单状态:', sys._getframe().f_lineno, new_sql) cursor.execute(new_sql) self.conn.close()
def test_login(self): ''' 登录认证''' login = LoginLogout() login_res_data = login.login() if login_res_data['retCode']: public.log_record('登录请求应数据', sys._getframe().f_lineno, login_res_data) self.assertEqual(login_res_data['retCode'], '000000') else: public.log_record('登录请求败响应数据', sys._getframe().f_lineno, login_res_data)
def test_submit_nbts(self): ''' 提交宁波通商 ''' business_type = config.business_type['NBTS'][0] submit_result = public.submit(business_type) if submit_result: public.log_record('提交【宁波通商】响应结果', sys._getframe().f_lineno, submit_result) submit_status = submit_result['code'] self.assertEqual(submit_status, '000000') else: public.log_record('提交【宁波通商】失败响应结果', sys._getframe().f_lineno, submit_result)
def test_submit_zljr(self): ''' 提交招联金融 ''' business_type = config.business_type['ZLJR'][0] submit_result = public.submit(business_type) if submit_result: public.log_record('提交【招联金融】响应结果', sys._getframe().f_lineno, submit_result) submit_status = submit_result['code'] self.assertEqual(submit_status, '000000') else: public.log_record('提交【招联金融】失败响应结果', sys._getframe().f_lineno, submit_result)
def test_fetch_credit_result(self): ''' 查询征信结果 ''' handel_credit_result = public.CreditInquiry(flag=True) get_inquiry_credit_result = handel_credit_result.fetch_result() if get_inquiry_credit_result: public.log_record('获取征信结果响应数据:', sys._getframe().f_lineno, get_inquiry_credit_result) self.assertGreater(int(get_inquiry_credit_result['data']['totalCount']), 0, '查询征信结果') else: public.log_record('获取征信结果失败响应数据:', sys._getframe().f_lineno, get_inquiry_credit_result)
def test_submit_yyfax(self): ''' 提交友金快贷 ''' business_type = config.business_type['YYFAX'][0] submit_result = public.submit(business_type) if submit_result: public.log_record('提交【友金快贷】响应结果', sys._getframe().f_lineno, submit_result) submit_status = submit_result['code'] self.assertEqual(submit_status, '000000') else: public.log_record('提交【友金快贷】失败响应结果', sys._getframe().f_lineno, submit_result)
def test_tel_sign_admission(self): ''' 电话签约准入 ''' #当前电话签约条件下数据 signing_data = { 'apply_status': '001', 'state': '0070', 'sub_state': '0001' } #,'operate_org_id':config.default_operate_org_id #请求准入数据 signing_admission_data = { 'operator': config.default_operation_name, 'systemId': '05', 'applyId': None } wk = wk_db_server.ApplyRepository() query_result = wk.handel_query('1', ('apply_id', 'business_type'), **signing_data) if query_result is None: public.log_record('当前查询条件下没有待补件的数据', sys._getframe().f_lineno, query_result) return None signing_admission_data['applyId'] = query_result['apply_id'] public.log_record('电话签约准入', sys._getframe().f_lineno, signing_admission_data) try: admission_result = requests.post(url=config.wk_detail_default_url, json=signing_admission_data) if admission_result.json(): public.log_record('电话签约准入结果', sys._getframe().f_lineno, admission_result.json()) else: public.log_record('查询进度响应结果', sys._getframe().f_lineno, admission_result.text) return None except Exception as e: public.log_record('电话签约准入', sys._getframe().f_lineno, e) return e self.assertEqual(admission_result.json()['code'], '000000', '电话签约准入结果')
def test_bind_relation(self): ''' 获取推荐人绑定关系 ''' #获取推荐人编码 recommerd_info = cma_recommend() print('recommerd_info:',recommerd_info) if recommerd_info: #根据推荐人编码获取推荐人绑定关系请求数据 bind_req_data = { 'recommerderNo': recommerd_info['content']['rcmderId'] } public.log_record('根据推荐人编码获取推荐人绑定关系请求数据', sys._getframe().f_lineno, bind_req_data) bind_res_data = requests.post( url=config.bms_bind_relation_default_url, json=bind_req_data ) if bind_res_data.json()['retCode']: public.log_record('根据推荐人编码获取推荐人绑定关系响应数据', sys._getframe().f_lineno, bind_res_data.text) self.assertEqual(bind_res_data.json()['retCode'], '000000') else: public.log_record('根据推荐人编码获取推荐人绑定关系响应数据', sys._getframe().f_lineno, bind_res_data.text) else: public.log_record('推荐人编码为空,未能获取推荐人绑定关系', sys._getframe().f_lineno, recommerd_info) return None
def test_get_pass_apply(self): ''' 获取审批通过的申请单''' #查询条件 已放款 apply_status = {'apply_status':'004'} wk = wk_db_server.ApplyToCuBaseInfoRepository() query_result = wk.handel_query(('cert_code'),**apply_status) if query_result is None: public.log_record('当前查询条件【%s】下无数据' % apply_status, sys._getframe().f_lineno, query_result) return None # 获取审批通过申请单的请求数据 pass_apply_req_data = { 'certId': query_result['cert_code'] } public.log_record('获取审批通过申请单的请求数据', sys._getframe().f_lineno, pass_apply_req_data) pass_apply_res_data = requests.post( url=config.wk_pass_apply_default_url, json=pass_apply_req_data ) if pass_apply_res_data.json()['code']: public.log_record('获取审批通过申请单的响应数据', sys._getframe().f_lineno, pass_apply_res_data.text) apply_count = len(pass_apply_res_data.json()['data']['applyIdList']) self.assertGreater(apply_count,0) else: public.log_record('获取审批通过申请单失败响应数据', sys._getframe().f_lineno, pass_apply_res_data.text) return None
def handel_update(self,seller_id,is_scene='1'): cursor = self.conn.connect() sql = " update bms_seller set is_scene = '%s' where seller_id = '%s';" new_sql = sql%(is_scene,seller_id) public.log_record('将营销人员是否有现调权置为【%s】(1:有现调权;0:无现调权)'%is_scene, sys._getframe().f_lineno, new_sql) cursor.execute(new_sql) self.conn.close()
def test_real_auth(self): ''' 实名认证''' AES = public.EncryptAndDecrypt(key='abcdefghij123456',iv='0102030405060708') time_format = public.ChangeTimeFormat() timestamp = time_format.change_timestamp(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())) #实名认证请求数据 real_auth_req_data ={ 'timeStamp':timestamp, 'certId':get_user_info[1], 'source':'shizuishan', 'inputType':'NOTXD', 'isCompany':'false' } public.log_record('实名认证请数据,加密前:', sys._getframe().f_lineno, real_auth_req_data) encode_data = AES.aes_encrypt(json.dumps(real_auth_req_data)) public.log_record('实名认证请求数据,加密后:', sys._getframe().f_lineno, encode_data) real_auth_res_data = requests.post( url=config.hp_real_auth_default_url, json={ 'json':encode_data } ) if real_auth_res_data.json(): public.log_record('实名认证响应数据:',sys._getframe().f_lineno,real_auth_res_data.text) self.assertEqual(str(real_auth_res_data.json()['authed']).lower(), 'true') else: public.log_record('实名认证失败响应数据:', sys._getframe().f_lineno, real_auth_res_data.text)
def handel_query(self, *args, **kwargs): cursor = self.conn.connect() if len(args) == 0: columns = '*' else: columns = str(args).replace('(', '').replace(')', '').replace("'", '')[:-1] is_null = '' condition = '' for k, v in kwargs.items(): is_null += v if is_null == '': sql = """ select %s from app_user t1,app_rcmd_record t2 where t1.id = t2.rcmder and t1.id != '' and t1.cert_no != '' order by t2.rcmd_time desc limit 1; """ %(columns) else: for k, v in kwargs.items(): condition += " %s = '%s' and " % (k, v) sql = """ select %s from app_user t1,app_rcmd_record t2 where t1.id = t2.rcmder and t1.id != '' and t1.encrypt_cert_no != '' and t2.status = '06' and %s """ % (columns,condition) sql = sql.strip()[:-4] sql = sql + ' order by t2.rcmd_time desc limit 1;' public.log_record('查询CMA推荐人信息:', sys._getframe().f_lineno, sql) cursor.execute(sql) result = cursor.fetchone() self.conn.close() return result
def test_query_schedule(self): ''' 查询进度结果''' #查询进度请求参数 query_data = { "operateOrgId": [config.default_operate_org_id], "operator": config.default_operation_name, "pageSize": 10, "pageNum": 1 } public.log_record('查询进度请求数据', sys._getframe().f_lineno, query_data) try: query_result = requests.post(url=config.wk_schedule_default_url, json=query_data) if query_result.json()['data']: schedule_result = query_result.json() public.log_record('查询进度响应结果', sys._getframe().f_lineno, query_result.text) self.assertGreater(int(schedule_result['data']['count']), 0, '进度查询结果') else: public.log_record('查询进度响应结果', sys._getframe().f_lineno, query_result.text) return None except Exception as e: public.log_record('查询进度', sys._getframe().f_lineno, e)
def handel_query(self, *args, **kwargs): cursor = self.conn.connect() if len(args) == 0: columns = '*' else: columns = str(args).replace('(', '').replace(')', '').replace("'", '')[:-1] is_null = '' condition = '' for k, v in kwargs.items(): is_null += v if is_null == '': sql = """ select %s from fatp_loan_apply t1,fatp_contract_info t2 where t1.contract_serial_no = t2.serial_no order by t2.create_time desc limit 1; """ % (columns) else: for k, v in kwargs.items(): condition += " %s = '%s' and " % (k, v) sql = """ select %s from fatp_loan_apply t1,fatp_contract_info t2 where t1.contract_serial_no = t2.serial_no and %s """ % (columns, condition) sql = sql.strip()[:-4] sql = sql + ' order by t2.create_time desc limit 1;' public.log_record('查询合同及借据信息', sys._getframe().f_lineno, sql) cursor.execute(sql) result = cursor.fetchone() self.conn.close() return result
def handel_query(self,seller_id): cursor = self.conn.connect() sql = " select is_scene,user_id from bms_seller where seller_id = '%s'; " new_sql = sql%(seller_id) public.log_record('查询营销人员信息是否有现调权:', sys._getframe().f_lineno,new_sql) cursor.execute(new_sql) result = cursor.fetchone() self.conn.close() return result
def handel_query(self, limit='', *args, **kwargs): cursor = self.conn.connect() try: limit = int(limit) except Exception: limit = 1 if len(args) == 0: columns = '*' else: columns = str(args).replace('(', '').replace(')', '').replace("'", '')[:-1] is_null = '' condition = '' for k, v in kwargs.items(): is_null += v if is_null == '': sql = " select %s from fatp_loan_apply order by create_time desc limit 100; " % ( columns) else: for k, v in kwargs.items(): condition += " %s = '%s' and " % (k, v) sql = " select %s from fatp_loan_apply where %s " % (columns, condition) sql = sql.strip()[:-4] sql = sql + ' order by create_time desc limit 1;' public.log_record('查询借款申请信息', sys._getframe().f_lineno, sql) cursor.execute(sql) if limit > 1: results = cursor.fetchall() else: results = cursor.fetchone() return results self.conn.close()
def test_telemarketing_query(self): ''' 电销查询''' telemarketing_req_data = { "param": { "orgId": config.default_operate_org_id, "isDefault": 1 }, "pageNo": 1, "pageSize": 10 } public.log_record('电销查询请求数据', sys._getframe().f_lineno, telemarketing_req_data) telemarketing_res_data = requests.post( url=config.lcrm_telemarketing_default_url, json=telemarketing_req_data) if telemarketing_res_data.json()['retCode']: public.log_record('电销查询响应数据', sys._getframe().f_lineno, telemarketing_res_data.text) self.assertEqual(telemarketing_res_data.json()['retCode'], '000000') else: public.log_record('电销查询失败响应数据', sys._getframe().f_lineno, telemarketing_res_data.text)
def test_get_org_list(self): ''' 获取机构列表 ''' # 获取机构列表请求数据 org_list_req_data = { 'pageNo':'1', 'pageSize':'100', 'param':{ 'orgId':'', 'orgName':'', 'parentOrgId':'', 'orgLevelList':['3','5'], }, } public.log_record('获取机构列表请求数据', sys._getframe().f_lineno, org_list_req_data) org_list_res_data = requests.post( url=config.bms_org_list_default_list, json=org_list_req_data ) if org_list_res_data.json()['retCode']: public.log_record('获取机构列表请求数据响应数据', sys._getframe().f_lineno, org_list_res_data.text) self.assertEqual(org_list_res_data.json()['retCode'], '000000') else: public.log_record('获取机构列表请求数据失败响应数据', sys._getframe().f_lineno, org_list_res_data.text) return None
def test_get_send_info(self): ''' 批量获取发标信息''' # 未记账/未暂缓状态数据 putout_status = {'defer_pay_status': '0', 'put_out_status': '0'} fatp = fatp_db_server.ApplyToContractRepository() query_result = fatp.handel_query(('t2.apply_serial_no'), **putout_status) if query_result is None: public.log_record('当前查询条件【%s】下未存在有效数据' % putout_status, sys._getframe().f_lineno, query_result) return None public.log_record('当前查询条件【%s】下查询结果数据' % putout_status, sys._getframe().f_lineno, query_result) #获取记账状态下的apply_id apply_id = query_result['apply_serial_no'] #批量获取发标信息请求数据 send_info_req_data = {'applyIdList': [apply_id]} public.log_record('批量获取发标信息请求数据', sys._getframe().f_lineno, send_info_req_data) send_info_res_data = requests.post(url=config.wk_send_info_default_url, json=send_info_req_data) if send_info_res_data.json()['code']: public.log_record('批量获取发标信息响应数据', sys._getframe().f_lineno, send_info_res_data.text) self.assertEqual(send_info_res_data.json()['code'], '000000') else: public.log_record('批量获取发标信息失败响应数据', sys._getframe().f_lineno, send_info_res_data.text)
def query_seller_depart_unit(self,org_id): cursor = self.conn.connect() sql = """ select t.seller_name,t.user_id,t.seller_id,t.belong_team,t1.department_name,t2.unit_name from bms_seller t , bms_department_info t1,bms_business_unit t2 where t.belong_team = t1.department_code and t1.unit_code = t2.unit_code and t.`status` = '1' and t2.org_id = '%s'; """ new_sql = sql%(org_id) cursor.execute(new_sql) result = cursor.fetchone() public.log_record('查询【%s】具有现调权限的营销人员信息'%result['unit_name'], sys._getframe().f_lineno, new_sql) cursor.close() return result
def test_cancel(self): ''' 取消任务''' wk = wk_db_server.ApplyRepository() #查询预审面签数据 visa_interview query_data = { 'state': '0017', 'apply_status': '001', 'sub_state': '0001', 'prev_state': '0010', 'apply_source': 'B_PROJECT_INLET', 'operate_org_id': config.default_operate_org_id } query_result = wk.handel_query('1', ('apply_id'), **query_data) if query_result is None: public.log_record('当前环境下不存在预审面签数据', sys._getframe().f_lineno, query_result) return None #取消面签请求数据 visa_interview_req_data = { 'applyId': query_result['apply_id'], 'operatorId': config.wind_control } public.log_record('取消面签请求数据', sys._getframe().f_lineno, visa_interview_req_data) visa_interview_res_data = requests.post( url=config.wk_cancel_default_url, json=visa_interview_req_data) if visa_interview_res_data.json()['code']: public.log_record('取消面签响应数据', sys._getframe().f_lineno, visa_interview_res_data.text) self.assertEqual(visa_interview_res_data.json()['code'], '000000') else: public.log_record('取消面签响应数据', sys._getframe().f_lineno, visa_interview_res_data.text) return None
def test_admission_zrb(self): ''' 准入真融宝''' public.log_record('用户信息', sys._getframe().f_lineno, get_user_info) admission_result = admission(config.business_type['ZRB'][0]) if admission_result: is_y = admission_result['data']['isAdmission'] public.log_record('准入真融宝响应结果:', sys._getframe().f_lineno, admission_result) self.assertEqual(str(is_y).upper(), 'Y'.upper(), '准入真融宝') else: public.log_record('准入真融宝失败响应结果', sys._getframe().f_lineno, admission_result)