如要转载请注明:https://blog.csdn.net/qwert789p/article/details/103627980
创作不易 且行且珍惜
1、项目前提
由于计费系统先上线,CRM项目后上线。前期计费系统有的建立客户账户,商品以及商品的订购等功能,后期要计费系统这些功能要被CRM系统取代,由CRM创建客户账户和商品,由于两套系统的项目的表模型结构不一致,所以才在CRM上线后将会有数据割接。
2、项目实战一 ——客户账户割接
2.1首先分析计费CRM系统的业务逻辑
CRM系统的业务流程就是建立客户账户,审核,通过定时任务读取数据库传到mq,计费系统从mq系统读取放入数据库。
CRM系统建立客户需要的必填信息 有经办人信息,政企客户/个人客户的额基本信息,扩展属性信息,联系人信息。
客户的基本信息,经办人信息,扩展信息,展示在页面的关键字段都在基础管理基础属性中配置。提高系统课扩展性和灵活性。
业务分析完成后,找出 业务关键信息,确定关键字段。
2.2分析表结构
割接的第一部分是对比两个数据库的表模型结构
计费系统关于客户的表有两张,客户表和客户属性表,客户表为横表,客户属性表为纵表。
CRM系统关于客户的表有十几张表,其中有一些关键属性值 由基础属性配置,必须跟计费系统属性一致。
表结构分析完成后,先将各个表的关系模型搞清楚,将需要的基础属性值配置完成。
那就可以每一张单独分析 写一下简单需要insert哪些字段
INSERT into iot.customer (cust_id,cust_name,cust_code,cust_type,cust_cert_type,cert_no,create_date,update_date,status_cd,org_id,CUST_AUDIT_STATUS,REMARK)
写一个简单的select 语句,将计费系统的关键字段查询出来,
(1)计费系统客户修改记录的SEQ修改一次就是增长一次,就是涉及如何取到有效值呢?
(2)剔除从crm同步到计费系统的客户数据。
select a.cust_id,a.cust_name,a.cust_id as cust_code ,1 as cust_type ,1 as cust_cert_type, a.certificate_id as cert_no,a.update_date,a.update_date ,1000 as status_cd ,2 as org_id , 1200 as CUST_AUDIT_STATUS,'计费客户数据割接' as REMARK from chgc.cust a where a.seq = (select max(seq) from chgc.cust cc where a.CUST_ID=cc.CUST_ID) and not EXISTS (select 1 from iotcmp.customer cm where a.CUST_ID = cm.CUST_ID);