From a6550460065effe4be6522a704cf01bc4a14f680 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 10 Jan 2024 10:00:05 +0800 Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E6=B3=B0=E5=85=8B=E5=AE=A2?= =?UTF-8?q?=E6=88=B7,dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql | 44 ++++ .../SCRM联系方式/T01_SCRM_CONTACT_agi.sql | 229 +++++++++++++++++ .../crm_raw_leads/S98_S_crm_raw_leads.sql | 66 +++++ .../crm_raw_leads/sa_foreign_tables.sql | 23 ++ .../dev/tk_cust/crm_raw_leads/sa_tables.sql | 63 +++++ .../S98_S_scrm_leads_af0912.sql | 70 ++++++ .../scrm_leads_af0912/sa_foreign_tables.sql | 24 ++ .../tk_cust/scrm_leads_af0912/sa_tables.sql | 67 +++++ .../S98_S_scrm_leads_bf0912.sql | 38 +++ .../scrm_leads_bf0912/sa_foreign_tables.sql | 16 ++ .../tk_cust/scrm_leads_bf0912/sa_tables.sql | 35 +++ .../udesk_record/S98_S_udesk_record.sql | 186 ++++++++++++++ .../udesk_record/sa_foreign_tables.sql | 53 ++++ .../dev/tk_cust/udesk_record/sa_tables.sql | 183 ++++++++++++++ .../dev/tk_cust/泰克客户/wf_dag_tk_cust.py | 230 ++++++++++++++++++ 15 files changed, 1327 insertions(+) create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql create mode 100644 TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql create mode 100644 TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql create mode 100644 TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql create mode 100644 TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql create mode 100644 TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql create mode 100644 TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql new file mode 100644 index 0000000..1d539cc --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT.sql @@ -0,0 +1,44 @@ + +DROP TABLE IF EXISTS p20_pdm.T01_SCRM_CONTACT; +CREATE TABLE IF NOT EXISTS p20_pdm.T01_SCRM_CONTACT ( + cue_id text + , city_name text + , company_name text + , email text + , mobile_number text + , mobile_number_fix text + , full_name text + , prov_name text + , create_time text + , wechat_id text + , update_time text + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( cue_id ) +); + + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.cue_id IS '线索ID'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.company_name IS '公司'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.email IS '邮箱'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.mobile_number IS '手机号码'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.mobile_number_fix IS '调整后手机号码'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.full_name IS '姓名'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.prov_name IS '省份'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.update_time IS '更新时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.T01_SCRM_CONTACT.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.T01_SCRM_CONTACT IS 'SCRM联系方式'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql new file mode 100644 index 0000000..ef9bb13 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式/T01_SCRM_CONTACT_agi.sql @@ -0,0 +1,229 @@ +/***************************************************************************************************/ +/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM) */ +/*VERSION 01.10 revised on 2020-08-25 */ +/*Brilliance stems from wisdoms. */ +/*************Head Section**************************************************************************/ +/*Script Use: Periodically load data to :T01_SCRM_CONTACT(SCRM联系方式) */ +/*Create Date:2024-01-05 13:21:25 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-05 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-05 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_contact_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:T01_SCRM_CONTACT */ +/*ETL Job Name:T01_SCRM_CONTACT */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE T01_SCRM_CONTACT_agi_CUR_I + ( LIKE :PDMDB.T01_SCRM_CONTACT) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE T01_SCRM_CONTACT_agi_INS +( LIKE :PDMDB.T01_SCRM_CONTACT) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_contact_af0912*****************************************************/ +/*****************************************************************************************************/ + +INSERT INTO T01_SCRM_CONTACT_agi_CUR_I ( + cue_id /*线索ID*/ + ,city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,mobile_number_fix /*调整后手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(p0.cue_id),'') /*cue_id*/ + ,COALESCE(TRIM(p0.city_name),'') /*city_name*/ + ,COALESCE(TRIM(p0.company_name),'') /*company_name*/ + ,COALESCE(TRIM(p0.email),'') /*email*/ + ,COALESCE(TRIM(p0.mobile_number),'') /*mobile_number*/ + ,COALESCE(TRIM(p0.mobile_number),'') /*mobile_number_fix*/ + ,COALESCE(TRIM(p0.full_name),'') /*full_name*/ + ,COALESCE(TRIM(p0.prov_name),'') /*prov_name*/ + ,COALESCE(TRIM(p0.create_time),'') /*create_time*/ + ,COALESCE(TRIM(p0.wechat_id),'') /*wechat_id*/ + ,COALESCE(TRIM(p0.update_time),'') /*update_time*/ + ,0 /*Etl_Batch_No*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/ + ,:ETLJOB /*Etl_Job*/ + ,current_timestamp(0) /*Etl_Proc_Dt*/ + ,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/ + ,Substr('s98_s_scrm_contact_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_contact_af0912' /*Src_Table*/ + +FROM (select * from p10_sa.s98_s_scrm_contact_af0912) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO T01_SCRM_CONTACT_agi_INS ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,mobile_number_fix /*调整后手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,cue_id /*线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.mobile_number_fix /*调整后手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.update_time /*更新时间*/ + ,P1.cue_id /*线索ID*/ + ,P1.Etl_Batch_No /*作业批次号*/ + ,P1.Etl_First_Dt /*最初入库时间*/ + ,P1.Etl_Job /*作业名称*/ + ,P1.Etl_Proc_Dt /*本次入库时间*/ + ,P1.Etl_Tx_Dt /*作业运行时间*/ + ,P1.Src_Sysname /*来源系统*/ + ,P1.Src_Table /*来源表*/ + +FROM T01_SCRM_CONTACT_agi_CUR_I P1 +LEFT JOIN :PDMDB.T01_SCRM_CONTACT P2 +ON P1.city_name = P2.city_name + AND P1.company_name = P2.company_name + AND P1.email = P2.email + AND P1.mobile_number = P2.mobile_number + AND P1.mobile_number_fix = P2.mobile_number_fix + AND P1.full_name = P2.full_name + AND P1.prov_name = P2.prov_name + AND P1.create_time = P2.create_time + AND P1.wechat_id = P2.wechat_id + AND P1.update_time = P2.update_time + AND P1.cue_id = P2.cue_id + +WHERE P2.city_name IS NULL + OR P2.company_name IS NULL + OR P2.email IS NULL + OR P2.mobile_number IS NULL + OR P2.mobile_number_fix IS NULL + OR P2.full_name IS NULL + OR P2.prov_name IS NULL + OR P2.create_time IS NULL + OR P2.wechat_id IS NULL + OR P2.update_time IS NULL + OR P2.cue_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.T01_SCRM_CONTACT ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,mobile_number_fix /*调整后手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,cue_id /*线索ID*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.mobile_number_fix /*调整后手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.update_time /*更新时间*/ + ,P1.cue_id /*线索ID*/ + ,P1.Etl_Batch_No /*作业批次号*/ + ,P1.Etl_First_Dt /*最初入库时间*/ + ,P1.Etl_Job /*作业名称*/ + ,P1.Etl_Proc_Dt /*本次入库时间*/ + ,P1.Etl_Tx_Dt /*作业运行时间*/ + ,P1.Src_Sysname /*来源系统*/ + ,P1.Src_Table /*来源表*/ + +FROM T01_SCRM_CONTACT_agi_INS P1 +ON CONFLICT ( cue_id) +DO UPDATE SET + cue_id=excluded.cue_id + ,city_name=excluded.city_name + ,company_name=excluded.company_name + ,email=excluded.email + ,mobile_number=excluded.mobile_number + ,mobile_number_fix=excluded.mobile_number_fix + ,full_name=excluded.full_name + ,prov_name=excluded.prov_name + ,create_time=excluded.create_time + ,wechat_id=excluded.wechat_id + ,update_time=excluded.update_time + ,Etl_Batch_No=excluded.Etl_Batch_No + ,Etl_First_Dt=excluded.Etl_First_Dt + ,Etl_Job=excluded.Etl_Job + ,Etl_Proc_Dt=excluded.Etl_Proc_Dt + ,Etl_Tx_Dt=excluded.Etl_Tx_Dt + ,Src_Sysname=excluded.Src_Sysname + ,Src_Table=excluded.Src_Table + + +; +/*****程序结束退出 */ +\q + diff --git a/TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql b/TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql new file mode 100644 index 0000000..fd4d44b --- /dev/null +++ b/TK_Cust/dev/tk_cust/crm_raw_leads/S98_S_crm_raw_leads.sql @@ -0,0 +1,66 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_crm_raw_leads +; +insert into p10_sa.S98_S_crm_raw_leads +( tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt ) + select + tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt + from p00_tal.S98_S_crm_raw_leads + ; + delete from p12_sfull.S98_S_crm_raw_leads +; +; +insert into p12_sfull.S98_S_crm_raw_leads +( tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt ) + select + tek_contactnumber + , tek_leadnumber + , fullname + , createdon + , companyname + , emailaddress1 + , mobilephone + , tek_mqldate + , campaignidname + , tek_industry2idname + , tek_marketing_program_type_idname + , etl_tx_dt + from p10_sa.S98_S_crm_raw_leads +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql new file mode 100644 index 0000000..538b881 --- /dev/null +++ b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_foreign_tables.sql @@ -0,0 +1,23 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_crm_raw_leads ( + tek_contactnumber TEXT + , tek_leadnumber TEXT + , fullname TEXT + , createdon TEXT + , companyname TEXT + , emailaddress1 TEXT + , mobilephone TEXT + , tek_mqldate TEXT + , campaignidname TEXT + , tek_industry2idname TEXT + , tek_marketing_program_type_idname TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'crm_raw_leads' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql new file mode 100644 index 0000000..1bacb18 --- /dev/null +++ b/TK_Cust/dev/tk_cust/crm_raw_leads/sa_tables.sql @@ -0,0 +1,63 @@ + +create table if not exists p10_sa.S98_S_crm_raw_leads ( + tek_contactnumber TEXT + , tek_leadnumber TEXT + , fullname TEXT + , createdon TEXT + , companyname TEXT + , emailaddress1 TEXT + , mobilephone TEXT + , tek_mqldate TEXT + , campaignidname TEXT + , tek_industry2idname TEXT + , tek_marketing_program_type_idname TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_contactnumber IS 'tek_contactnumber'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_leadnumber IS 'tek_leadnumber'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.fullname IS 'fullname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.createdon IS 'createdon'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.companyname IS 'companyname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.emailaddress1 IS 'emailaddress1'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.mobilephone IS 'mobilephone'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_mqldate IS 'tek_mqldate'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.campaignidname IS 'campaignidname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_industry2idname IS 'tek_industry2idname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.tek_marketing_program_type_idname IS 'tek_marketing_program_type_idname'; + COMMENT ON COLUMN p10_sa.S98_S_crm_raw_leads.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_crm_raw_leads IS ''; + + + +create table if not exists p12_sfull.S98_S_crm_raw_leads ( + tek_contactnumber TEXT + , tek_leadnumber TEXT + , fullname TEXT + , createdon TEXT + , companyname TEXT + , emailaddress1 TEXT + , mobilephone TEXT + , tek_mqldate TEXT + , campaignidname TEXT + , tek_industry2idname TEXT + , tek_marketing_program_type_idname TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_contactnumber IS 'tek_contactnumber'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_leadnumber IS 'tek_leadnumber'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.fullname IS 'fullname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.createdon IS 'createdon'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.companyname IS 'companyname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.emailaddress1 IS 'emailaddress1'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.mobilephone IS 'mobilephone'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_mqldate IS 'tek_mqldate'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.campaignidname IS 'campaignidname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_industry2idname IS 'tek_industry2idname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.tek_marketing_program_type_idname IS 'tek_marketing_program_type_idname'; + COMMENT ON COLUMN p12_sfull.S98_S_crm_raw_leads.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_crm_raw_leads IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql b/TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql new file mode 100644 index 0000000..dd7ba0d --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_af0912/S98_S_scrm_leads_af0912.sql @@ -0,0 +1,70 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_leads_af0912 +; +insert into p10_sa.S98_S_scrm_leads_af0912 +( customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt ) + select + customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt + from p00_tal.S98_S_scrm_leads_af0912 + ; + delete from p12_sfull.S98_S_scrm_leads_af0912 +; +; +insert into p12_sfull.S98_S_scrm_leads_af0912 +( customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt ) + select + customer_id + , date + , target_name + , c_name + , c_type + , content_name + , source + , tag + , c_keyword + , attr2 + , label + , group_label + , etl_tx_dt + from p10_sa.S98_S_scrm_leads_af0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql new file mode 100644 index 0000000..2fe5e69 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_foreign_tables.sql @@ -0,0 +1,24 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_leads_af0912 ( + customer_id TEXT + , date TEXT + , target_name TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , label TEXT + , group_label TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_leads_af0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql new file mode 100644 index 0000000..3b007ca --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_af0912/sa_tables.sql @@ -0,0 +1,67 @@ + +create table if not exists p10_sa.S98_S_scrm_leads_af0912 ( + customer_id TEXT + , date TEXT + , target_name TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , label TEXT + , group_label TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.customer_id IS 'customerId'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.date IS 'date'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.target_name IS 'targetName'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.c_name IS 'c_name'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.c_type IS 'c_type'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.content_name IS 'contentName'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.source IS 'source'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.tag IS 'tag'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.attr2 IS 'attr2'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.label IS 'label'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.group_label IS 'groupLabel'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_leads_af0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_leads_af0912 ( + customer_id TEXT + , date TEXT + , target_name TEXT + , c_name TEXT + , c_type TEXT + , content_name TEXT + , source TEXT + , tag TEXT + , c_keyword TEXT + , attr2 TEXT + , label TEXT + , group_label TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.customer_id IS 'customerId'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.date IS 'date'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.target_name IS 'targetName'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.c_name IS 'c_name'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.c_type IS 'c_type'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.content_name IS 'contentName'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.source IS 'source'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.tag IS 'tag'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.attr2 IS 'attr2'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.label IS 'label'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.group_label IS 'groupLabel'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_af0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_leads_af0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql new file mode 100644 index 0000000..b5f9077 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/S98_S_scrm_leads_bf0912.sql @@ -0,0 +1,38 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_scrm_leads_bf0912 +; +insert into p10_sa.S98_S_scrm_leads_bf0912 +( cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt ) + select + cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt + from p00_tal.S98_S_scrm_leads_bf0912 + ; + delete from p12_sfull.S98_S_scrm_leads_bf0912 +; +; +insert into p12_sfull.S98_S_scrm_leads_bf0912 +( cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt ) + select + cue_id + , activate_time + , activate_name + , event_name + , etl_tx_dt + from p10_sa.S98_S_scrm_leads_bf0912 +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql new file mode 100644 index 0000000..ed79aa0 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_foreign_tables.sql @@ -0,0 +1,16 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_scrm_leads_bf0912 ( + cue_id TEXT + , activate_time TEXT + , activate_name TEXT + , event_name TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'scrm_leads_bf0912' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql new file mode 100644 index 0000000..854baa7 --- /dev/null +++ b/TK_Cust/dev/tk_cust/scrm_leads_bf0912/sa_tables.sql @@ -0,0 +1,35 @@ + +create table if not exists p10_sa.S98_S_scrm_leads_bf0912 ( + cue_id TEXT + , activate_time TEXT + , activate_name TEXT + , event_name TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.activate_time IS '活动时间'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.activate_name IS '活动名称'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.event_name IS '事件名称'; + COMMENT ON COLUMN p10_sa.S98_S_scrm_leads_bf0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_scrm_leads_bf0912 IS ''; + + + +create table if not exists p12_sfull.S98_S_scrm_leads_bf0912 ( + cue_id TEXT + , activate_time TEXT + , activate_name TEXT + , event_name TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.cue_id IS '线索ID'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.activate_time IS '活动时间'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.activate_name IS '活动名称'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.event_name IS '事件名称'; + COMMENT ON COLUMN p12_sfull.S98_S_scrm_leads_bf0912.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_scrm_leads_bf0912 IS ''; + diff --git a/TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql b/TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql new file mode 100644 index 0000000..44b3ecb --- /dev/null +++ b/TK_Cust/dev/tk_cust/udesk_record/S98_S_udesk_record.sql @@ -0,0 +1,186 @@ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on +delete from p10_sa.S98_S_udesk_record +; +insert into p10_sa.S98_S_udesk_record +( udesk_time + , ring_time + , dura_time + , cust_name + , cust_tel + , con_result + , operator + , follow_up + , location + , source + , relay_number + , satisfaction + , call_type + , device_status + , company + , quest + , queue_status + , dtmf + , queue_time + , cause_of_call_failure + , call_record + , leave_message + , hang_up + , external_telephone + , business_record_template + , theme + , vibration + , customer_service + , work_order + , email + , tag + , description + , charge_person + , charge_group + , level + , blacklist_ind + , company_name + , consultation_content + , ivr_record + , call_id + , other_data + , etl_tx_dt ) + select + udesk_time + , ring_time + , dura_time + , cust_name + , cust_tel + , con_result + , operator + , follow_up + , location + , source + , relay_number + , satisfaction + , call_type + , device_status + , company + , quest + , queue_status + , dtmf + , queue_time + , cause_of_call_failure + , call_record + , leave_message + , hang_up + , external_telephone + , business_record_template + , theme + , vibration + , customer_service + , work_order + , email + , tag + , description + , charge_person + , charge_group + , level + , blacklist_ind + , company_name + , consultation_content + , ivr_record + , call_id + , other_data + , etl_tx_dt + from p00_tal.S98_S_udesk_record + ; + delete from p12_sfull.S98_S_udesk_record +; +; +insert into p12_sfull.S98_S_udesk_record +( udesk_time + , ring_time + , dura_time + , cust_name + , cust_tel + , con_result + , operator + , follow_up + , location + , source + , relay_number + , satisfaction + , call_type + , device_status + , company + , quest + , queue_status + , dtmf + , queue_time + , cause_of_call_failure + , call_record + , leave_message + , hang_up + , external_telephone + , business_record_template + , theme + , vibration + , customer_service + , work_order + , email + , tag + , description + , charge_person + , charge_group + , level + , blacklist_ind + , company_name + , consultation_content + , ivr_record + , call_id + , other_data + , etl_tx_dt ) + select + udesk_time + , ring_time + , dura_time + , cust_name + , cust_tel + , con_result + , operator + , follow_up + , location + , source + , relay_number + , satisfaction + , call_type + , device_status + , company + , quest + , queue_status + , dtmf + , queue_time + , cause_of_call_failure + , call_record + , leave_message + , hang_up + , external_telephone + , business_record_template + , theme + , vibration + , customer_service + , work_order + , email + , tag + , description + , charge_person + , charge_group + , level + , blacklist_ind + , company_name + , consultation_content + , ivr_record + , call_id + , other_data + , etl_tx_dt + from p10_sa.S98_S_udesk_record +; +\q \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql b/TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql new file mode 100644 index 0000000..09ea348 --- /dev/null +++ b/TK_Cust/dev/tk_cust/udesk_record/sa_foreign_tables.sql @@ -0,0 +1,53 @@ + +CREATE FOREIGN TABLE if not exists p00_tal.S98_S_udesk_record ( + udesk_time TEXT + , ring_time TEXT + , dura_time TEXT + , cust_name TEXT + , cust_tel TEXT + , con_result TEXT + , operator TEXT + , follow_up TEXT + , location TEXT + , source TEXT + , relay_number TEXT + , satisfaction TEXT + , call_type TEXT + , device_status TEXT + , company TEXT + , quest TEXT + , queue_status TEXT + , dtmf TEXT + , queue_time TEXT + , cause_of_call_failure TEXT + , call_record TEXT + , leave_message TEXT + , hang_up TEXT + , external_telephone TEXT + , business_record_template TEXT + , theme TEXT + , vibration TEXT + , customer_service TEXT + , work_order TEXT + , email TEXT + , tag TEXT + , description TEXT + , charge_person TEXT + , charge_group TEXT + , level TEXT + , blacklist_ind TEXT + , company_name TEXT + , consultation_content TEXT + , ivr_record TEXT + , call_id TEXT + , other_data TEXT + , etl_tx_dt TIMESTAMP +) + + +SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'udesk_record' ); + + + + + diff --git a/TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql b/TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql new file mode 100644 index 0000000..59cf7a2 --- /dev/null +++ b/TK_Cust/dev/tk_cust/udesk_record/sa_tables.sql @@ -0,0 +1,183 @@ + +create table if not exists p10_sa.S98_S_udesk_record ( + udesk_time TEXT + , ring_time TEXT + , dura_time TEXT + , cust_name TEXT + , cust_tel TEXT + , con_result TEXT + , operator TEXT + , follow_up TEXT + , location TEXT + , source TEXT + , relay_number TEXT + , satisfaction TEXT + , call_type TEXT + , device_status TEXT + , company TEXT + , quest TEXT + , queue_status TEXT + , dtmf TEXT + , queue_time TEXT + , cause_of_call_failure TEXT + , call_record TEXT + , leave_message TEXT + , hang_up TEXT + , external_telephone TEXT + , business_record_template TEXT + , theme TEXT + , vibration TEXT + , customer_service TEXT + , work_order TEXT + , email TEXT + , tag TEXT + , description TEXT + , charge_person TEXT + , charge_group TEXT + , level TEXT + , blacklist_ind TEXT + , company_name TEXT + , consultation_content TEXT + , ivr_record TEXT + , call_id TEXT + , other_data TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.udesk_time IS '时间'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.ring_time IS '响铃时间'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.dura_time IS '通话时长'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.cust_name IS '客户'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.cust_tel IS '客户电话'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.con_result IS '通话结果'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.operator IS '客服'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.follow_up IS '后续通话'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.location IS '归属地'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.source IS '来源'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.relay_number IS '中继号'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.satisfaction IS '满意度评价'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.call_type IS '通话类型'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.device_status IS '设备状态'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.company IS '公司'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.quest IS '任务'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.queue_status IS '排队状态'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.dtmf IS 'DTMF'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.queue_time IS '排队耗时'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.cause_of_call_failure IS '外呼失败原因'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.call_record IS '通话录音'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.leave_message IS '留言'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.hang_up IS '通话挂断方'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.external_telephone IS '外部电话'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.business_record_template IS '业务记录模版'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.theme IS '主题'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.vibration IS '顺振'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.customer_service IS '相关客服'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.work_order IS '生成工单'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.email IS '邮箱'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.tag IS '标签'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.description IS '描述'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.charge_person IS '负责人'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.charge_group IS '负责组'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.level IS '等级'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.blacklist_ind IS '是否在黑名单'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.company_name IS '公司名称'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.consultation_content IS '咨询内容'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.ivr_record IS 'IVR录音'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.call_id IS 'Call ID'; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.other_data IS ''; + COMMENT ON COLUMN p10_sa.S98_S_udesk_record.etl_tx_dt IS ''; + +COMMENT ON TABLE p10_sa.S98_S_udesk_record IS ''; + + + +create table if not exists p12_sfull.S98_S_udesk_record ( + udesk_time TEXT + , ring_time TEXT + , dura_time TEXT + , cust_name TEXT + , cust_tel TEXT + , con_result TEXT + , operator TEXT + , follow_up TEXT + , location TEXT + , source TEXT + , relay_number TEXT + , satisfaction TEXT + , call_type TEXT + , device_status TEXT + , company TEXT + , quest TEXT + , queue_status TEXT + , dtmf TEXT + , queue_time TEXT + , cause_of_call_failure TEXT + , call_record TEXT + , leave_message TEXT + , hang_up TEXT + , external_telephone TEXT + , business_record_template TEXT + , theme TEXT + , vibration TEXT + , customer_service TEXT + , work_order TEXT + , email TEXT + , tag TEXT + , description TEXT + , charge_person TEXT + , charge_group TEXT + , level TEXT + , blacklist_ind TEXT + , company_name TEXT + , consultation_content TEXT + , ivr_record TEXT + , call_id TEXT + , other_data TEXT + , etl_tx_dt TIMESTAMP +) ; + + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.udesk_time IS '时间'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.ring_time IS '响铃时间'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.dura_time IS '通话时长'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.cust_name IS '客户'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.cust_tel IS '客户电话'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.con_result IS '通话结果'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.operator IS '客服'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.follow_up IS '后续通话'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.location IS '归属地'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.source IS '来源'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.relay_number IS '中继号'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.satisfaction IS '满意度评价'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.call_type IS '通话类型'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.device_status IS '设备状态'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.company IS '公司'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.quest IS '任务'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.queue_status IS '排队状态'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.dtmf IS 'DTMF'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.queue_time IS '排队耗时'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.cause_of_call_failure IS '外呼失败原因'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.call_record IS '通话录音'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.leave_message IS '留言'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.hang_up IS '通话挂断方'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.external_telephone IS '外部电话'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.business_record_template IS '业务记录模版'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.theme IS '主题'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.vibration IS '顺振'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.customer_service IS '相关客服'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.work_order IS '生成工单'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.email IS '邮箱'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.tag IS '标签'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.description IS '描述'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.charge_person IS '负责人'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.charge_group IS '负责组'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.level IS '等级'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.blacklist_ind IS '是否在黑名单'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.company_name IS '公司名称'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.consultation_content IS '咨询内容'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.ivr_record IS 'IVR录音'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.call_id IS 'Call ID'; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.other_data IS ''; + COMMENT ON COLUMN p12_sfull.S98_S_udesk_record.etl_tx_dt IS ''; + +COMMENT ON TABLE p12_sfull.S98_S_udesk_record IS ''; + diff --git a/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py b/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py new file mode 100644 index 0000000..087a169 --- /dev/null +++ b/TK_Cust/dev/tk_cust/泰克客户/wf_dag_tk_cust.py @@ -0,0 +1,230 @@ +#!/usr/bin/python +# -*- encoding=utf-8 -*- +from airflow import DAG +from datetime import datetime, timedelta +from airflow.contrib.hooks.ssh_hook import SSHHook +from airflow.contrib.operators.ssh_operator import SSHOperator +from airflow.sensors.external_task_sensor import ExternalTaskSensor +import json + +from airflow.operators.email_operator import EmailOperator +from airflow.utils.trigger_rule import TriggerRule + + +sshHook = SSHHook(ssh_conn_id ='ssh_air') +default_args = { +'owner': 'info@idgvalue.com', +'email': [''], +'email_on_failure': True, +'email_on_retry':True, +'start_date': datetime(2022, 9, 12), +'depends_on_past': False, +'retries': 6, +'retry_delay': timedelta(minutes=10), +} + +dag = DAG('wf_dag_tk_cust', default_args=default_args, +schedule_interval="0 0 * * *", +catchup=False, +dagrun_timeout=timedelta(minutes=160), +max_active_runs=3) + +task_failed = EmailOperator ( + dag=dag, + trigger_rule=TriggerRule.ONE_FAILED, + task_id="task_failed", + to=["info@idgvalue.com"], + cc=[""], + subject="tk_cust_failed", + html_content='

您好,tk_cust作业失败,请及时处理"

') + +file_Tk01 = SSHOperator( +ssh_hook=sshHook, +task_id='file_Tk01', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Tk01"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_Update_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_Update_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Update_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_Merge_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_Merge_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Merge_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_SCRM_Contact_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_SCRM_Contact_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"SCRM_Contact_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_SCRM_Contact_bf0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_SCRM_Contact_bf0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"SCRM_Contact_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +livechat_6381 = SSHOperator( +ssh_hook=sshHook, +task_id='livechat_6381', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_livechat"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_af0912_6333 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_af0912_6333', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_update_af0912_6448 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_update_af0912_6448', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_update_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_merge_af0912_7975 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_merge_af0912_7975', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_merge_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_contact_bf0912_6949 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_contact_bf0912_6949', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_contact_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +T01_SCRM_CONTACT = SSHOperator( +ssh_hook=sshHook, +task_id='T01_SCRM_CONTACT', +command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"T01_SCRM_CONTACT_agi"}, +depends_on_past=False, +retries=3, +dag=dag) +file_Udesk_record = SSHOperator( +ssh_hook=sshHook, +task_id='file_Udesk_record', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"Udesk_record"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_CRM_Raw_Leads = SSHOperator( +ssh_hook=sshHook, +task_id='file_CRM_Raw_Leads', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"CRM_Raw_Leads"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_scrm_leads_bf0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_scrm_leads_bf0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"scrm_leads_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_scrm_leads_af0912 = SSHOperator( +ssh_hook=sshHook, +task_id='file_scrm_leads_af0912', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"scrm_leads_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + + +udesk_record_3768 = SSHOperator( +ssh_hook=sshHook, +task_id='udesk_record_3768', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_udesk_record"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_leads_bf0912_508 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_leads_bf0912_508', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_leads_bf0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +scrm_leads_af0912_5813 = SSHOperator( +ssh_hook=sshHook, +task_id='scrm_leads_af0912_5813', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_scrm_leads_af0912"}, +depends_on_past=False, +retries=3, +dag=dag) + +crm_raw_leads_6024 = SSHOperator( +ssh_hook=sshHook, +task_id='crm_raw_leads_6024', +command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"S98_S_crm_raw_leads"}, +depends_on_past=False, +retries=3, +dag=dag) + +file_Tk01 >> livechat_6381 +file_Merge_af0912 >> scrm_contact_merge_af0912_7975 +file_SCRM_Contact_bf0912 >> scrm_contact_bf0912_6949 +file_SCRM_Contact_af0912 >> scrm_contact_af0912_6333 +file_Update_af0912 >> scrm_contact_update_af0912_6448 +scrm_contact_af0912_6333 >> T01_SCRM_CONTACT +file_Udesk_record >> udesk_record_3768 +file_scrm_leads_bf0912 >> scrm_leads_bf0912_508 +file_scrm_leads_af0912 >> scrm_leads_af0912_5813 +file_CRM_Raw_Leads >> crm_raw_leads_6024 +crm_raw_leads_6024 >> task_failed