Files
F6--/其它系统脚本/新签回访180天V3.ipynb
T
2026-01-30 11:28:35 +08:00

397 lines
34 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# -*- coding: utf-8 -*-\n",
"import psycopg2\n",
"import pandas as pd\n",
"# 获得连接\n",
"conn = psycopg2.connect(database=\"f6_bi\", user=\"BASIC$ro_caowei\", password=\"!ro_caowei123\", host=\"hgprecn-cn-nif1vnv0y002-cn-shanghai.hologres.aliyuncs.com\", port=\"80\")\n",
"# 获得游标对象,一个游标对象可以对数据库进行执行操作\n",
"cursor = conn.cursor()\n",
"\n",
"import datetime\n",
"now_time = datetime.datetime.now()\n",
"yes_time = now_time + datetime.timedelta(days=-1)\n",
"yes_time_nyr = int(yes_time.strftime('%Y%m%d'))# 获取前一天日期\n",
"# sql语句 建表\n",
"sql =f\"\"\"SELECT * FROM \"public\".\"holo_ads_report_saas_profile_ngv_detail_d\" WHERE \"date_id\" = '{yes_time_nyr}' ;\"\"\"\n",
"# 执行语句\n",
"cursor.execute(sql)\n",
"# 获取结果集的每一行\n",
"rows = cursor.fetchall()\n",
"# 获取所有字段名\n",
"all_fields = cursor.description\n",
"#执行结果转化为dataframe\n",
"col = []\n",
"for i in all_fields:\n",
" col.append(i[0])\n",
"data_NGV = pd.DataFrame(list(rows),columns=col)\n",
"data_NGV.to_excel(r'C:\\Users\\admin\\Desktop\\NGV明细.xlsx')\n",
"# 关闭数据库连接\n",
"cursor.close()\n",
"conn.close()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"读取到省市小六技术专家区域客服区域客成表单中 66 条数据!\n",
"2023-05-11 11\n",
"2023-07-23 2023-10-31 1262\n",
"2023-04-14 2023-07-23 1304\n",
"2023-01-04 2023-04-14 1224\n",
"2022-09-26 2023-01-04 976\n",
"2022-06-18 2022-09-26 1326\n",
"2022-03-10 2022-06-18 1580\n",
"2021-11-30 2022-03-10 1306\n",
"2021-08-22 2021-11-30 1689\n",
"2021-05-14 2021-08-22 0\n",
"2021-02-03 2021-05-14 0\n",
"[['693800011139268'], ['106216373838354980'], ['03051357221235925'], ['075458412020533110'], ['0254392654682418'], ['053052302136860181'], ['016222434123279671'], ['080964261223281432'], ['0615271028177307']]\n",
"{'result': 'a662dae1-7faa-4086-812e-2fdabfe57d2c'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '693800011139268', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '奚仲车会', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '055512041727184572', 'employeeField_lnsi0v6v': '1218085201677303', 'employeeField_lnsi0v6w': '693800011139268', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '奚仲车会', 'textField_lnsi0v6z': 'CHS202305110229529', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1218085201677303', 'employeeField_lmeqk424': '055512041727184572', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-IT5662C186KF3Z3K9C28H489DIFZ2DRP7KDOLR8&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': 'd516db5d-292d-4248-a6d2-17ecb64f634d'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '106216373838354980', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '靓车管家(欧尚超市三楼)', 'textField_lnsi0v6s': '旗舰版', 'employeeField_lnsi0v6u': '20590707351213970', 'employeeField_lnsi0v6v': '311003461041349', 'employeeField_lnsi0v6w': '106216373838354980', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '靓车管家(欧尚超市三楼)', 'textField_lnsi0v6z': 'CHS202305110229543', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '311003461041349', 'employeeField_lmeqk424': '20590707351213970', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-9T566BD1AVJFY8OJ6H6OODMIQG6U31JC3KDOLS2&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': '0e16f7da-1d42-4363-8b0a-2bbc4f9f5f82'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '03051357221235925', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '元宝山区陆航汽车服务中心', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '052909055823302010', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '03051357221235925', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '元宝山区陆航汽车服务中心', 'textField_lnsi0v6z': 'CHS202305110229630', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '052909055823302010', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-09866181DVJFNPCL7M4XV5ZZ2XK92QAQ7KDOLJE&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': '22353284-5c51-4c5a-baa8-df2efc9f9e44'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '03051357221235925', 'tableField_lnsi0v71': [{'textField_lnsi0v72': 'CC养车漆彩钣喷保养店', 'textField_lnsi0v6s': '尊享版', 'employeeField_lnsi0v6u': '052909055823302010', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '03051357221235925', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': 'CC养车漆彩钣喷保养店', 'textField_lnsi0v6z': 'CHS202305110229503', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '052909055823302010', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-09866181DVJFNPCL7M4XV5ZZ2XK92RAQ7KDOL9F&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': 'b1db656b-408f-435f-ad25-33f759ffbe50'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '075458412020533110', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '小鹏养车', 'textField_lnsi0v6s': '旗舰版', 'employeeField_lnsi0v6u': '054169455736370109', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '075458412020533110', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '小鹏养车', 'textField_lnsi0v6z': 'CHS202305040228236', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '054169455736370109', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-09866181DVJFNPCL7M4XV5ZZ2XK92PAQ7KDOL6E&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': '75383596-25fb-45b2-8fd1-7cb0168d11c6'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '0254392654682418', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '佳程汽车维修', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '055512041727184572', 'employeeField_lnsi0v6v': '1218085201677303', 'employeeField_lnsi0v6w': '0254392654682418', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '佳程汽车维修', 'textField_lnsi0v6z': 'CHS202305110229561', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1218085201677303', 'employeeField_lmeqk424': '055512041727184572', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-09866181DVJFNPCL7M4XV5ZZ2XK92PAQ7KDOLOD&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': 'f8ca1119-bb7d-4598-a668-eddc6a75d237'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '053052302136860181', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '爱出彩汽车服务', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '2626065538702722', 'employeeField_lnsi0v6v': '1525590028775887', 'employeeField_lnsi0v6w': '053052302136860181', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '爱出彩汽车服务', 'textField_lnsi0v6z': 'CHS202305110229642', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1525590028775887', 'employeeField_lmeqk424': '2626065538702722', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-T99666B1MUJF4A3P7WMVJC80FBWM2KVQ7KDOLZF&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': '9a02831c-f0cc-48ce-87c3-64ddae247ce0'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '016222434123279671', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '鞍山市腾飞宝业精车维护驿站', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '052909055823302010', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '016222434123279671', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '鞍山市腾飞宝业精车维护驿站', 'textField_lnsi0v6z': 'CHS202103160116956', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '052909055823302010', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-9H666R71VSJFBN1PFSRBTA3BTX4N3WZL3KDOLH&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': '47b39d40-74d8-4ee9-81ff-d32fbb4e00cb'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '080964261223281432', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '友通汽车服务', 'textField_lnsi0v6s': '标准版', 'employeeField_lnsi0v6u': '0103433535667605', 'employeeField_lnsi0v6v': '232229053125844557', 'employeeField_lnsi0v6w': '080964261223281432', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '友通汽车服务', 'textField_lnsi0v6z': 'CHS202305110229625', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '232229053125844557', 'employeeField_lmeqk424': '0103433535667605', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-T99666B1MUJF4A3P7WMVJC80FBWM2JVQ7KDOL7F&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"{'result': '85c158f6-088d-43ca-b815-9c8a3f859a07'} {'dateField_lmelabb1': '1698733604370', 'employeeField_lmeqk429': '0615271028177307', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '黑马养车', 'textField_lnsi0v6s': '标准版', 'employeeField_lnsi0v6u': '180720602439816818', 'employeeField_lnsi0v6v': '1525590028775887', 'employeeField_lnsi0v6w': '0615271028177307', 'dateField_lnsi0v6x': '1698733604370', 'textField_lnsi0v6y': '黑马养车', 'textField_lnsi0v6z': 'CHS202305110229501', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1525590028775887', 'employeeField_lmeqk424': '180720602439816818', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-T99666B1MUJF4A3P7WMVJC80FBWM2JVQ7KDOL6F&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n"
]
}
],
"source": [
"# -*- coding: utf-8 -*-\n",
"import psycopg2\n",
"import pandas as pd\n",
"# 获得连接\n",
"conn = psycopg2.connect(database=\"f6_bi\", user=\"BASIC$ro_caowei\", password=\"!ro_caowei123\", host=\"hgprecn-cn-nif1vnv0y002-cn-shanghai.hologres.aliyuncs.com\", port=\"80\")\n",
"# 获得游标对象,一个游标对象可以对数据库进行执行操作\n",
"cursor = conn.cursor()\n",
"\n",
"import datetime\n",
"now_time = datetime.datetime.now()\n",
"yes_time = now_time + datetime.timedelta(days=-1)\n",
"yes_time_nyr = int(yes_time.strftime('%Y%m%d'))# 获取前一天日期\n",
"# sql语句 建表\n",
"sql =f\"\"\"SELECT * FROM \"public\".\"holo_ads_report_saas_profile_ngv_detail_d\" WHERE \"date_id\" = '{yes_time_nyr}' ;\"\"\"\n",
"# 执行语句\n",
"cursor.execute(sql)\n",
"# 获取结果集的每一行\n",
"rows = cursor.fetchall()\n",
"# 获取所有字段名\n",
"all_fields = cursor.description\n",
"#执行结果转化为dataframe\n",
"col = []\n",
"for i in all_fields:\n",
" col.append(i[0])\n",
"data_NGV = pd.DataFrame(list(rows),columns=col)\n",
"# data_NGV.to_excel(r'C:\\Users\\admin\\Desktop\\NGV明细.xlsx')\n",
"# 关闭数据库连接\n",
"cursor.close()\n",
"conn.close()\n",
"import pandas as pd\n",
"import pandas as pd\n",
"import numpy as np\n",
"import requests\n",
"import json\n",
"import time\n",
"import re\n",
"from datetime import datetime\n",
"from dateutil.relativedelta import relativedelta\n",
"from pathlib import Path\n",
"from urllib.parse import quote\n",
"from io import BytesIO\n",
"\n",
"ROOT = Path('.').absolute() # 当前工作目录\n",
"\n",
"\n",
"# 生成 token,参数不需要修改\n",
"def generateToken() -> str:\n",
" \"\"\" 生成 token \"\"\"\n",
"\n",
" token_api = 'https://api.dingtalk.com/v1.0/oauth2/accessToken'\n",
"\n",
" # 该信息在钉钉开放应用中\n",
" data = {\n",
" \"appKey\": \"ding5kqocon5s9oph5uq\",\n",
" \"appSecret\": 'HL1jgsIIfLAC0eTH0A1m4mwxUDqbgsiPeCCGGE3ocM6qJBTIW7Ivt9drxF_Z4Kb_'\n",
" }\n",
"\n",
" res = requests.post(token_api, json=data)\n",
" token = res.json()['accessToken']\n",
"\n",
" return token\n",
"\n",
"def read_instances(token, formUuid, page, n,formatted_today,formatted_today_two):\n",
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": token\n",
" }\n",
"\n",
" formData = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"createFromTimeGMT\" : formatted_today,\n",
" \"createToTimeGMT\" : formatted_today_two,\n",
" \"currentPage\" : page,\n",
" \"pageSize\" : n\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=formData)\n",
" return res.json()\n",
"\n",
"def initiate_process(TOKEN,formUuid,processCode,formData):\n",
" \"\"\" 发起宜搭审批流程 \"\"\"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/processes/instances/start'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": TOKEN\n",
" }\n",
" payload = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"formDataJson\" : json.dumps(formData, cls=NpEncoder),\n",
" \"processCode\" : processCode,\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=payload)\n",
" return res.json()\n",
"def read_instances_new(token, formUuid, page, n):\n",
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": token\n",
" }\n",
"\n",
" formData = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"currentPage\" : page,\n",
" \"pageSize\" : n\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=formData)\n",
" return res.json()\n",
"def read_instances_ngv(token, formUuid, page, n,searchField):\n",
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": token\n",
" }\n",
"\n",
" formData = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"searchFieldJson\": json.dumps(searchField),\n",
" \"currentPage\" : page,\n",
" \"pageSize\" : n\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=formData)\n",
" return res.json()\n",
"class NpEncoder(json.JSONEncoder):\n",
" def default(self, obj):\n",
" if isinstance(obj, np.integer):\n",
" return int(obj)\n",
" elif isinstance(obj, np.floating):\n",
" return float(obj)\n",
" elif isinstance(obj, np.ndarray):\n",
" return obj.tolist()\n",
" else:\n",
" return super(NpEncoder, self).default(obj)\n",
" \n",
"TOKEN = generateToken()\n",
"import datetime\n",
"now_time = datetime.datetime.now()\n",
"today = now_time + datetime.timedelta(days=-173)\n",
"formatted_today = today.strftime(\"%Y-%m-%d\")\n",
"today_two = now_time + datetime.timedelta(days=-172)\n",
"formatted_today_two = today_two.strftime(\"%Y-%m-%d\")\n",
"timestamp_ms = int(time.time() * 1000) # 当然日期时间戳 毫秒级\n",
"'''读取省市小六技术专家区域客服区域客成 '''\n",
"FORMID = \"FORM-TP866D918DFCA4FW79YZU5X43FO32QZJQDZJL7\" #省市小六技术专家区域客服区域客成\n",
"# 读取流程表单数据\n",
"form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=1, n=100)\n",
"PAGES = form_data.get('totalCount')//100 + 1\n",
"textField_gif29wy = {}\n",
"textField_3athky8 = {}\n",
"textField_3hgho1m = {}\n",
"textField_nc7gskc = {}\n",
"textField_qk1e5di = {}\n",
"\"\"\" 获取全量数据 \"\"\"\n",
"for i in range(1, PAGES+1):\n",
" form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=i, n=100)\n",
" for data in form_data.get('data'):\n",
" textField_gif29wy[data['formData']['textField_3hgho1m']]=data['formData']['textField_gif29wy'] #区域客成id\n",
" textField_3athky8[data['formData']['textField_3hgho1m']]=data['formData']['textField_3athky8'] #区域客服id\n",
" textField_3hgho1m[data['formData']['textField_3hgho1m']]=data['formData']['textField_3hgho1m'] #小六id\n",
" textField_nc7gskc[data['formData']['textField_3hgho1m']]=data['formData']['textField_nc7gskc'] #技术专家id\n",
" textField_qk1e5di[data['formData']['textField_3hgho1m']]=data['formData']['textField_lntniove'] #区域经理id\n",
"print(f'读取到省市小六技术专家区域客服区域客成表单中 {len(textField_gif29wy)} 条数据!')\n",
"# [流程]新签服务流程 读取待处理数据\n",
"json_data = []\n",
"read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", 1, 100,formatted_today,formatted_today_two)\n",
"PAGES = read_data.get('totalCount')//100 + 1\n",
"print(formatted_today,read_data.get('totalCount'))\n",
"for a in range(1,PAGES + 1):\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", a, 100,formatted_today,formatted_today_two) \n",
" for i in range(0,len(read_data[\"data\"])):\n",
" json_data.append(read_data[\"data\"][i]['formData'])\n",
"# [流程]新签服务流程 读取待处理数据\n",
"json_data_all = []\n",
"for i in range(0,1000,100):\n",
" now_time = datetime.datetime.now()\n",
" today = now_time + datetime.timedelta(days=-(i+100))\n",
" formatted_today = today.strftime(\"%Y-%m-%d\")\n",
" today_two = now_time + datetime.timedelta(days=-i)\n",
" formatted_today_two = today_two.strftime(\"%Y-%m-%d\")\n",
" timestamp_ms = int(time.time() * 1000) # 当然日期时间戳 毫秒级\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", 1, 100,formatted_today,formatted_today_two)\n",
" PAGES = read_data.get('totalCount')//100 + 1\n",
" print(formatted_today,formatted_today_two,read_data.get('totalCount'))\n",
" for a in range(1,PAGES + 1):\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", a, 100,formatted_today,formatted_today_two) \n",
" for i in range(0,len(read_data[\"data\"])):\n",
" json_data_all.append(read_data[\"data\"][i]['formData'])\n",
"df = pd.DataFrame(json_data_all)\n",
"# 将所有字段设置为字符串类型\n",
"df = df.astype(str)\n",
"data_NGV = data_NGV[['org_code', 'id_own_group']]\n",
"data_NGV = data_NGV.rename(columns={'org_code': 'orgCode'})\n",
"result = pd.merge(df, data_NGV, on='orgCode', how='left')\n",
"data_details_not_null = result.sort_values(by='openTime', ascending=True).drop_duplicates(subset='id_own_group')\n",
"# 重置索引\n",
"data_details_not_null = data_details_not_null.reset_index(drop=True)\n",
"data_details_all = data_details_not_null.copy() # 替换名称 v2 \n",
"# 获取待回访人员信息+去重\n",
"name_list = []\n",
"for data in json_data:\n",
" name_list.append(data['employeeField_kyi1dqth_id'])\n",
"unique_arr = []\n",
"[unique_arr.append(x) for x in name_list if x not in unique_arr]\n",
"print(unique_arr)\n",
"\n",
"# 每日工作计划\n",
"formUuid = \"FORM-4V966N81OMEEH85QDP8XW4AH1AIZ2GKRLZTML21\"\n",
"processCode = \"TPROC--4V966N81OMEEH85QDP8XW4AH1AIZ21ORLZTML31\"\n",
"# 遍历数据并进行创建\n",
"for name in unique_arr:\n",
" tableField_lnsi0v71 = {}\n",
" tableField_lnsi0v71['dateField_lmelabb1'] = \"\"\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = \"\"\n",
" for data in json_data:\n",
" if data['employeeField_kyi1dqth_id'] == name and data['orgCode'] in data_details_all['orgCode'].values:\n",
" data_one = {} # 子表单\n",
" data_two = {} # 主表单\n",
" # 子表单\n",
" data_one['textField_lnsi0v72'] = data['orgName']\n",
" data_one['textField_lnsi0v6s'] = data[\"saasEdition\"] # 销售版本\n",
" try:\n",
" data_one['employeeField_lnsi0v6u'] = textField_nc7gskc[name[0]] # 技术专家\n",
" data_one['employeeField_lnsi0v6v'] = textField_qk1e5di[name[0]] # 区域经理\n",
" if textField_3hgho1m[name[0]] ==\"\":\n",
" data_one['employeeField_lnsi0v6w'] = data['technician_id'][0] # 运营顾问\n",
" else:\n",
" data_one['employeeField_lnsi0v6w'] = textField_3hgho1m[name[0]] # 运营顾问\n",
" except:\n",
" data_one['employeeField_lnsi0v6u'] = data['technician_id'][0] # 技术专家\n",
" data_one['employeeField_lnsi0v6v'] = data['manager_id'][0] # 区域经理\n",
" data_one['employeeField_lnsi0v6w'] = data['technician_id'][0] # 运营顾问\n",
" data_one['dateField_lnsi0v6x'] = str(timestamp_ms) # 计划日期\n",
" data_one['textField_lnsi0v6y'] = data[\"orgName\"] # 门店名称-拷贝\n",
" data_one['textField_lnsi0v6z'] = data[\"orgCode\"] # 门店编码\n",
" data_one['selectField_lnsi0v6q'] = \"强化培训\" # 拜访目的\n",
" # data_one['textField_lnsi0v70'] = data_result.loc[i,\"id_own_group\"] # 公司id\n",
" data_one['textareaField_lnsi0v6r'] = '''\n",
" 1.客户日常使用问题解答;\n",
" 2.跟客户查看主营分析,推荐进销存功能深度使用;\n",
" 3.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
" 4.说明转介绍政策,索要转介绍;''' # 拜访目的说明\n",
" # 加入数据\n",
" tableField_lnsi0v71['tableField_lnsi0v71'] = [data_one]\n",
" # 主表单\n",
" # data_two['dateField_lmelabb1'] = str(timestamp_ms)\n",
" # data_two['employeeField_lmeqk429'] = name\n",
" tableField_lnsi0v71['dateField_lmelabb1'] = str(timestamp_ms)\n",
" try:\n",
" if name[0] ==\"\":\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = data['technician_id'][0] # 运营顾问\n",
" else:\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = name[0]\n",
" tableField_lnsi0v71['employeeField_lmeqk423'] = textField_qk1e5di[name[0]] # 区域经理\n",
" tableField_lnsi0v71['employeeField_lmeqk424'] = textField_nc7gskc[name[0]] # 技术专家\n",
" except:\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = data['technician_id'][0] # 运营顾问\n",
" tableField_lnsi0v71['employeeField_lmeqk423'] = data['manager_id'][0] # 区域经理\n",
" tableField_lnsi0v71['employeeField_lmeqk424'] = data['technician_id'][0] # 技术专家\n",
" tableField_lnsi0v71['textField_lmu0523h'] = \"自动派发回访计划\" # 状态备用\n",
" # 富文本 超链接 NGV\n",
" try:\n",
" form_data_ngv = read_instances_ngv(token=TOKEN, formUuid=\"FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91\", page=1, n=100, searchField={'textField_zc1iowp': data[\"orgCode\"]})\n",
" tableField_lnsi0v71['editorField_lodoplg0'] = [\"root\",{},[\"p\",{},[\"span\",{\"data-type\":\"text\"},[\"span\",{\"data-type\":\"leaf\"},\"\"]],[\"a\",{\"href\":\"https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=\"+form_data_ngv['data'][0]['formInstanceId']+\"&isAdmin=true\"},[\"span\",{\"data-type\":\"text\"},[\"span\",{\"unlink\":{},\"data-type\":\"leaf\"},\"点击查看门店NGV\"]]],[\"span\",{\"data-type\":\"text\"},[\"span\",{\"unlink\":{},\"data-type\":\"leaf\"},\"\"]]]] # 富文本 超链接 NGV\n",
" except:\n",
" pass\n",
" res=initiate_process(TOKEN,formUuid,processCode,tableField_lnsi0v71)\n",
" print(res,tableField_lnsi0v71)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "F6processing",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}