From 965022f290926808f1086be63059be7ddd8639af Mon Sep 17 00:00:00 2001 From: root Date: Tue, 2 Jul 2024 12:01:50 +0800 Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E5=A4=A9=E6=B6=A6Smart-ccc?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E6=95=B0=E6=8D=AE,dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customer_labels_feign.py | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/dev/workflow/TK_Cust/smart_ccc_custom/查询客户资料可用标签/customer_labels_feign.py b/dev/workflow/TK_Cust/smart_ccc_custom/查询客户资料可用标签/customer_labels_feign.py index da0e642..5734f9e 100644 --- a/dev/workflow/TK_Cust/smart_ccc_custom/查询客户资料可用标签/customer_labels_feign.py +++ b/dev/workflow/TK_Cust/smart_ccc_custom/查询客户资料可用标签/customer_labels_feign.py @@ -62,38 +62,39 @@ def build_query_string(params): return query_string - -def request_data_signature_post(): - print('开始请求数据...') +def request_data_signature_post(customerId): + print(f'开始请求客户可用标签数据:{formatted2_previous_hour(0)}') url='https://api-bj.clink.cn/crm/list_customer_labels' - header={} - param={'AccessKeyId':'b17759d3a36fba9a2cf522fbf4cbf177','Timestamp':current_time_utc,'Expires':Expires,} + header={'Content-Type':'application/json;charset=UTF-8'} + param={'AccessKeyId':'b17759d3a36fba9a2cf522fbf4cbf177','Timestamp':current_time_utc,'Expires':86400} print(f'param: {param}') - paramJson = {"Timestamp":""} - print(f'paramJson: {paramJson}') url_path = build_query_string(param) - url_param = build_query_string(param) + url_param = url_path print(f'url_param: {url_param}') url_param = f'POSTapi-bj.clink.cn/crm/list_customer_labels?{url_param}' - print(f'url_param2: {url_param}') + print(f'待计算字符串: {url_param}') signature= generate_signature(url_param,'5g027B6w06630Y5240c1') - print(f'signature: {signature}') - url = f'{url}?{url_path}&Signature={signature}' + print(f'计算签名: {signature}') + print(f'编码后签名: {urllib.parse.quote_plus(signature)}') + url = f'{url}?{url_path}&Signature={urllib.parse.quote_plus(signature)}' print(f'url: {url}') + body={} - print(f'body: {body}') - dataReqL=requests.post(url,headers=header,params=body) + jsonData = json.dumps(body) + print(f'body: {jsonData}') + dataReqL=requests.post(url,headers=header,data=jsonData) + resText = dataReqL.text i = 0 - while 'error' in dataReqL and i < 5: + while 'error' in resText and i < 5: + print(f'请求客户可用标签数据失败,再次请求第{i+1}次') time.sleep(1) dataReqL=requests.post(url,headers=header,params=body) i = i + 1 - resL=json.loads(dataReqL.text) - print(dataReqL) - resL=json.loads(dataReqL.text) + resL=json.loads(resText) return resL + def load_data_to_db(dataList): conn = psycopg2.connect(database="dataops_db", user="dbuser_dops", password="MIgTi3jA",host="172.17.0.8", port="5432") print('数据库连接成功') @@ -113,11 +114,13 @@ def load_data_to_db(dataList): if __name__ == "__main__": - + print(f'{formatted2_previous_hour(0)}开始请求客户可用标签数据') resL = request_data_signature_post() - print(resL) - - + # print(resL) if 'error' in resL: - load_error_to_db(resl) - load_data_to_db(resL[''customerLabels']) \ No newline at end of file + error = resL['error'] + print(f'请求客户资料列表失败,失败原因:{error}') + else: + dataList = resL['customerLabels'] + load_data_to_db(dataList) + print(f'{formatted2_previous_hour(0)}请求客户可用标签数据结束') \ No newline at end of file