目前在做工号的数据的同步,从原系统把工号同步到本系统,但对接的项目有很多,不同的项目同步工号的入参实体类结构、字段名称、字段类型与本系统都不相同。
想通过一些配置化的方法把字段对应关系、实体对应关系通过一种方式映射封装解析成符合本系统的统一数据实体类型(应该会用到反射),这样统一了数据模型,之后就可以统一执行后边数据解析校验落表的过程,不用区分不同的系统去分开做不同的数据处理解析和校验了。
但因为字段名称,类型,甚至实体结构可能都完全不同,感觉实现起来很繁琐也很困难,已经百度了一些方法但觉得都不太可行,想问下大家有什么经验或者建议和更好的思路方法么?
例:
源数据sourceUser实体:
{
"body":{
"data":{
"userId":"1100",
"userName":"张三",
"telPhone":"13450000000",
"orgId":"123"
}
}
}
目标数据targetStaff实体:
{
"staff":{
"staffId":1100,
"staffName":"张三",
"tel":"13450000000",
"orgId":"123"
}
}
最终实现效果是想:提前将实体对应关系以及实体中的字段对应关系配置好(如sourceUser对应targetStaff实体,userId字段对应staffId字段,但id类型不一致需要转换成targetStaff的参数类型),代码通过这些配置信息,能够自动把sourceUser实体转换为targetStaff实体,也要考虑到字段类型不一致时如何统一成目标实体字段类型的问题。