增加基础数据定义 + 接口约束

This commit is contained in:
白茶清欢 2024-03-11 12:10:44 +08:00
parent 45d4019f4d
commit 82785601df
3 changed files with 108 additions and 0 deletions

72
abstract/IEvent.go Normal file
View File

@ -0,0 +1,72 @@
// Package abstract ...
//
// Description : abstract ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-03-11 12:02
package abstract
import "git.zhangdeman.cn/zhangdeman/event/define"
// IEvent 事件接口定义
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 19:08 2023/8/14
type IEvent interface {
// Construct 初始化事件实例
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:04 2024/3/11
Construct() error
// SendEvent 发送事件
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:04 2024/3/11
SendEvent(eventTData *define.EventData) (map[string]interface{}, error)
// SendFailCallback 发送失败的回调方法
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:08 2024/3/11
SendFailCallback(eventTData *define.EventData, err error)
// SendSuccessCallback 发送成功的回调
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:08 2024/3/11
SendSuccessCallback(eventTData *define.EventData, err error)
// ConsumeEvent 消费事件
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:05 2024/3/11
ConsumeEvent() (<-chan *define.EventData, error)
// ConsumeFailCallback 消费失败的回调, eventData 可能为 NIL
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:09 2024/3/11
ConsumeFailCallback(eventData *define.EventData, err error)
// ConsumeSuccessCallback 消费成功的回调
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:10 2024/3/11
ConsumeSuccessCallback(eventData *define.EventData)
// Destroy 事件实例销毁时, 执行的方法
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:05 2024/3/11
Destroy()
// GetDriverType 获取驱动类型
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 12:06 2024/3/11
GetDriverType() string
}

14
define/consts.go Normal file
View File

@ -0,0 +1,14 @@
// Package define ...
//
// Description : define ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-03-11 12:06
package define
const (
DriverTypeEtcd = "ETCD" // etcd驱动
DriverTypeKafka = "KAFKA" // kafka驱动
DriverTypeREDIS = "REDIS" // redis驱动
)

22
define/data.go Normal file
View File

@ -0,0 +1,22 @@
// Package define ...
//
// Description : define ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-03-11 11:40
package define
// EventData ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 11:41 2024/3/11
type EventData struct {
EventType string `json:"event_type"` // 事件类型
TraceID string `json:"trace_id"` // 事件追踪ID
Host string `json:"host"` // 触发事件host
Timestamp int64 `json:"timestamp"` // 触发时间,纳秒级时间戳
SystemTimestamp int64 `json:"system_timestamp"` // 发送时的系统时间
Data interface{} `json:"data"` // 发送的数据
}