diff --git a/pkg/middle-msg/define.go b/pkg/middle-msg/define.go index f7621e9..a275e6c 100644 --- a/pkg/middle-msg/define.go +++ b/pkg/middle-msg/define.go @@ -1,5 +1,34 @@ package middle_msg +import ( + "context" + + "gitee.com/timedb/wheatCache/pkg/errorx" + "gitee.com/timedb/wheatCache/pkg/event" +) + const ( MiddleMsgKey = "middleMsgKey" ) + +func SendMiddleMsg( + ctx context.Context, + middleProduce event.ProduceInterface, + val interface{}, +) error { + if middleProduce == nil { + return errorx.New("middleProduce not is nil") + } + + var eventName string + + switch val.(type) { + case LogContext: + eventName = EventNameLog + } + + msgEvent := event.NewEvent(eventName) + msgEvent.SetValue(MiddleMsgKey, val) + middleProduce.Call(ctx, msgEvent) + return nil +}