// Package accountaudit 定义账号生命周期写入统一审计的应用边界。 package accountaudit import ( "context" "github.com/break/junhong_cmp_fiber/internal/model" "gorm.io/gorm" ) // LifecycleAudit 是账号生命周期用例提交给统一 Writer 的业务事实。 type LifecycleAudit struct { ActionCode string Summary string Result string ErrorCode string ErrorSummary string Account *model.Account Shop *model.Shop Enterprise *model.Enterprise Roles []*model.Role BeforeData map[string]any AfterData map[string]any } // SecurityAudit 是账号安全用例提交给统一 Writer 的无凭据业务事实。 type SecurityAudit struct { ActionCode string Summary string Result string ErrorCode string ErrorSummary string ActorID uint ActorName string Account *model.Account AuthenticationKey string Authentication map[string]any BeforeData map[string]any AfterData map[string]any } // Writer 在调用方提供的事务内追加账号生命周期事件。 type Writer interface { WriteAccountLifecycle(ctx context.Context, tx *gorm.DB, audit LifecycleAudit) error WriteAccountSecurity(ctx context.Context, tx *gorm.DB, audit SecurityAudit) error }