曾经在保险业务系统中参与投保模块开发,在类设计时考虑到基本数据字段的不断增加,使用了建造者模式来创建类,使用这种方式创建的类,可以在不影响数据库的情况下直接增加字段到映射类中,避免了协同开发导致的简单错误导致项目无法正常运行
在投保环节,投保数据需要存入数据库并且需要同步一份投保数据至核心系统,将系统拆分为三个服务,一个服务用做投保数据校验和组装,一个系统用来直接对接数据库进行增删改查,一个服务用作直接对接核心系统做数据同步,拆分服务后有效的解除了不同模块之间的耦合,在投保数据保存至数据库后需要发送短信或者邮件至投保客户的邮箱或者手机,此处用到了rabbitmq来触发数据同步和消息发送,考虑到不同系统之间的通信失败重发问题,rabbitmq能有效的解决失败重发问题,在当前需求中需要给多个被保人发送投保成功短信由于以前的邮件和短信都是按照投保人发送所有不管怎样都是发送一份,于是,我在枚举类中增加了一个map字段,将投被保人存入map类型的字段中,再便利map取出键值对,在发送短信邮件接口做定制化处理,也就是便利投被保人的字段,拿到对应的数据进行点对点的短信邮件发送