add workflow 泰克CRM,dev

This commit is contained in:
root 2025-10-17 14:13:12 +08:00
parent c3cdb596f2
commit 6971c1633f
2 changed files with 38 additions and 7 deletions

View File

@ -15,6 +15,8 @@ CREATE TABLE IF NOT EXISTS p30_common.cust_contact_mapping (
, etl_proc_dt timestamp(0)
, etl_tx_dt DATE
, etl_batch_no VARCHAR(50)
, jdy_contact VARCHAR(50)
, partner_contact VARCHAR(50)
,primary key( contact_id )
);
@ -32,5 +34,7 @@ CREATE TABLE IF NOT EXISTS p30_common.cust_contact_mapping (
COMMENT ON COLUMN p30_common.cust_contact_mapping.etl_proc_dt IS '本次入库时间';
COMMENT ON COLUMN p30_common.cust_contact_mapping.etl_tx_dt IS '作业运行时间';
COMMENT ON COLUMN p30_common.cust_contact_mapping.etl_batch_no IS '作业批次号';
COMMENT ON COLUMN p30_common.cust_contact_mapping.jdy_contact IS '简道云客户信息';
COMMENT ON COLUMN p30_common.cust_contact_mapping.partner_contact IS 'partner客户信息';
COMMENT ON TABLE p30_common.cust_contact_mapping IS '客户联系方式映射';

View File

@ -1,14 +1,14 @@
/***************************************************************************************************/
/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM) */
/*script in Sql, generate by SdmCreateScript 2024(by IdgValue, qihang.feng@idgvalue.COM) */
/*VERSION 01.10 revised on 2020-08-25 */
/*Brilliance stems from wisdoms. */
/*************Head Section**************************************************************************/
/*Script Use: Periodically load data to :cust_contact_mapping(客户联系方式映射) */
/*Create Date:2024-10-25 15:45:54 */
/*Create Date:2025-10-17 14:12:47 */
/*SDM Developed By: dev */
/*SDM Developed Date: 2024-01-19 */
/*SDM Checked By: dev */
/*SDM Checked Date: 2024-10-25 */
/*SDM Checked Date: 2025-10-17 */
/*Script Developed By: dev */
/*Script Checked By: dev */
/*Source table 1: p30_common.d_scrm_contact */
@ -51,6 +51,8 @@ INSERT INTO cust_contact_mapping_agi_CUR_I (
,etl_proc_dt /*本次入库时间*/
,etl_tx_dt /*作业运行时间*/
,etl_batch_no /*作业批次号*/
,jdy_contact /*简道云客户信息*/
,partner_contact /*partner客户信息*/
)
SELECT
coalesce(p1.contact_id,'LCON-'||lpad(nextval('p20_pdm.user_id_seq')::text,10,'0')) /*contact_id*/
@ -67,6 +69,8 @@ SELECT
,current_timestamp(0) /*etl_proc_dt*/
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_tx_dt*/
,0 /*etl_batch_no*/
,p0.jdy_contact /*jdy_contact*/
,p0.Partner_contact /*partner_contact*/
FROM (select '' contact_id,user_id
,string_agg(case when src_channel='CRM' then crm_contact_account else '' end,',') crm_contact
@ -74,6 +78,8 @@ FROM (select '' contact_id,user_id
,string_agg(case when src_channel='Livechat' then crm_contact_account else '' end,',') livechat_contact
,string_agg(case when src_channel='Udesk' then crm_contact_account else '' end,',') udesk_contact
,string_agg(case when src_channel='SMART CCC' then crm_contact_account else '' end,',') ccc_contact
,string_agg(case when src_channel='JDY' then crm_contact_account else '' end,',') jdy_contact
,string_agg(case when src_channel='Partner' then crm_contact_account else '' end,',') Partner_contact
from (
select case when tel ~ '^1[3-9]\d{9}$' then tel
when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then email
@ -98,7 +104,18 @@ select case when mobile_phone ~ '^1[3-9]\d{9}$' then mobile_phone
union all
select case when mobile_phone ~ '^1[3-9]\d{9}$' then mobile_phone
else full_name
end user_id,udesk_contact,'Udesk' from p30_common.d_udesk_contact)p1
end user_id,udesk_contact,'Udesk' from p30_common.d_udesk_contact
union all
select case when phone ~ '^1[3-9]\d{9}$' then phone
when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then email
else contact_name
end user_id,contact_id::text partner_contact_account,'Partner' src_channel from p30_common.d_partner_contact
union all
select case when phone ~ '^1[3-9]\d{9}$' then phone
when email ~ '[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$' then email
else contact_name
end user_id,jdy_contact_id jdy_contact_account,'JDY' from p30_common.d_jdy_contact_info
where dw_contact_id not like 'LCON-%')p1
where p1.user_id<>''
group by user_id) p0
LEFT JOIN :COMMDB.cust_contact_mapping p1
@ -108,7 +125,13 @@ LEFT JOIN :COMMDB.cust_contact_mapping p1
;
update cust_contact_mapping_agi_CUR_I
set jdy_contact = jdy_contact_id
from (select ccm.contact_id,string_agg(ccm.partner_contact,',')||','||string_agg(jdy_contact_id,',') jdy_contact_id from p30_common.cust_contact_mapping ccm
inner join p30_common.d_jdy_contact_info p2
on ccm.contact_id =p2.dw_contact_id
group by ccm.contact_id) p1
where cust_contact_mapping.contact_id=p1.contact_id
/*从目标表中删除所有数据 cust_contact_mapping(客户联系方式映射) */
DELETE FROM :COMMDB.cust_contact_mapping
WHERE ETL_JOB=:ETLJOB;
@ -122,6 +145,8 @@ WHERE ETL_JOB=:ETLJOB;
,livechat_contact /*Livechat客户信息*/
,udesk_contact /*Udesk客户信息*/
,ccc_contact /*ccc客户信息*/
,jdy_contact /*简道云客户信息*/
,partner_contact /*partner客户信息*/
,contact_id /*联系编号*/
,src_sysname /*来源系统*/
,src_table /*来源表*/
@ -139,6 +164,8 @@ WHERE ETL_JOB=:ETLJOB;
,P1.livechat_contact /*Livechat客户信息*/
,P1.udesk_contact /*Udesk客户信息*/
,P1.ccc_contact /*ccc客户信息*/
,P1.jdy_contact /*简道云客户信息*/
,P1.partner_contact /*partner客户信息*/
,P1.contact_id /*联系编号*/
,P1.src_sysname /*来源系统*/
,P1.src_table /*来源表*/