审核中~
溜忙之道
首页
溜忙手册
offer之道
项目Git
写文章
登录
·
注册
登录
没有账号,去注册
注册
已有账号,去登录
博客
基于复杂对象深度对比、差异描述、模板翻译的易读C端用户操作日志系统
南易_站长
阅读量:4105
关注
基于复杂对象深度对比、差异描述、模板翻译的易读C端用户操作日志系统
### 综述: - 针对复杂对象的修改,基于对象深度对比,以一定格式记录其修改差异,并存储起来; - 差异描述可配置翻译模板描述属性,以处理对象属性发生变化时,扔能追溯对象日志; - 结合差异描述,翻译模板,进行语义化翻译,生成可视化日志; - 根据差异日志,可追溯各阶段原数据状态,并能生成修改时间线; - 以微服务封装此功能,用于任何需要记录、描述修改的场景。 #### 细节补充 - 复杂对象为多级且属性不确定结构,会存在{key: { key: [{ key: string }] }[]};这种复杂结构,在对比数组差异的同时,也会对比数组内对象的修改状态; - 对比差异的同时需根据数据模板文件,转换存储Key值,以保证后面原数据结构改动,仅改动模板,就可以兼容以往差异描述数据; - 根据差异模板对差异数据进行翻译描述,字段排序;除翻译字段及差异的同时,有特定值描述,也要一并翻译。 - 根据当前数据状态和差异日志,将数据进行溯源回滚。 #### 程序: - 差异对比、模板配置、差异翻译、数据溯源四部分组成; - 差异描述数据结构模板; #### 流程图 ![图片1.png](http://fengzq.cn/upload/图片1_2022_1_4_15_23.png) #### 模板形式 ![图片2.png](http://fengzq.cn/upload/图片2_2022_1_4_15_24.png) # 应用案例说明 ### 需求背景(应用场景): 在WPS企服项目(类电商平台)中,店铺管理人员(店铺与管理员多对多关系)会经常修改店铺所属“商品”、“案例”、“装修设置”等内容,现需要记录用户的修改日志,并明文展示给用户。而商品、案例、装修等数据都具有较多关联关系,结构复杂且存在多级,不易直接在业务中维护编写。本模块为解决以上述所问题应运而生,结合数据库及接口作为独立的日志模块,为复杂业务提供日志管理功能。 ### 已解决的实际问题&成果: 1、完美实现了当前WPS企服项目中的商品,案例等日志需求,并仅通过配置模板即可实现配置返回日志的字段内容、字段顺序及格式;2、接入方式简单,仅需将修改前和修改后详情传输给日志模块,便实现了复杂数据的日志记录,极大的提升的相关业务的开发效率;3、同时此模块支持N级复杂数据结构,具备解决此类问题的通用能力。 #### 用户修改内容 ![图片3.png](http://fengzq.cn/upload/图片3_2022_1_4_15_46.png) #### 生成易度日志 ![图片4.png](http://fengzq.cn/upload/图片4_2022_1_4_15_47.png)
评论
表情
发送
0
评论