最近在项目中要求实现Audit Trail,简单的说就是记录业务数据的修改,以便以后查询谁,在什么时候,做了什么的修改。比如,Supplier有个属性叫做Name,如果一个用户A于今天2点将一个Supplier sp1的Name从a改成b,那么就要记下来该用户A在今天2点将Supplier sp1的Name属性从 a 改成了b。
业务中将这些修改称作Amend Log,针对某个业务对象,可查看其Amend Logs,如对某个Supplier,其展示给用户的显示模式如下:
在这里先介绍一下该例子中的业务Supplier的领域模型,其类图如下:
Action | Data Key | From | To | Remark |
Modify | Name | name1 | name2 | |
Add Supplier Type | Supplier Type | Depot | ||
Remove Supplier Type | Supplir Type | Facility | ||
Add Contact | Main - person name1 |
| Purpose:Main Address1: nanjin XXX ... | |
Modify Contact | Main - person name2 | Purpose:Main Address1: nanjin XXX ... | Purpose:Main Address1: nanjin XXX ... |