chore: seed migration objects batch 5

This commit is contained in:
dev
2026-10-18 13:37:24 +08:00
parent 53c9c0afd8
commit c8c40b1dd2
239 changed files with 16941 additions and 1544 deletions
@@ -26,27 +26,24 @@ func (q *qImAdminCommandResult) GetTopic() string {
}
func (q *qImAdminCommandResult) Handle(ctx context.Context, mqMsg queue.MqMsg) (err error) {
var envelope imkafka.Envelope
if err = json.Unmarshal(mqMsg.Body, &envelope); err == nil && envelope.EventID != "" && len(envelope.Payload) > 0 {
var result imkafka.CommandResult
if err = json.Unmarshal(envelope.Payload, &result); err != nil {
return err
}
if result.CommandEventID == "" {
result.CommandEventID = envelope.ParentEventID
}
if result.TenantCode == "" {
result.TenantCode = envelope.TenantCode
}
if result.EventID == "" {
result.EventID = envelope.EventID
}
return imkafka.ApplyCommandResult(ctx, result)
}
var result imkafka.CommandResult
if err = json.Unmarshal(mqMsg.Body, &result); err != nil {
return err
}
if result.CommandID == "" && result.CommandEventID == "" {
var envelope imkafka.Envelope
if err = json.Unmarshal(mqMsg.Body, &envelope); err != nil {
return err
}
if len(envelope.Payload) > 0 {
if err = json.Unmarshal(envelope.Payload, &result); err != nil {
return err
}
result.EventID = envelope.EventID
result.TraceID = envelope.TraceID
result.TenantCode = envelope.TenantCode
result.OccurredAt = envelope.OccurredAt
}
}
return imkafka.ApplyCommandResult(ctx, result)
}
+8 -19
View File
@@ -5,9 +5,9 @@ import (
"encoding/json"
"hotgo/internal/consts"
"hotgo/internal/library/imkafka"
"hotgo/internal/library/imtenant"
"hotgo/internal/library/queue"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
@@ -32,23 +32,12 @@ func (q *qImAuditEvent) Handle(ctx context.Context, mqMsg queue.MqMsg) (err erro
if len(envelope.Payload) > 0 {
_ = json.Unmarshal(envelope.Payload, &payload)
}
_, err = g.DB().Model("im_audit_events").Safe().Ctx(ctx).Data(g.Map{
"event_id": envelope.EventID,
"tenant_code": envelope.TenantCode,
"event_type": envelope.EventType,
"biz_type": envelope.BizType,
"biz_id": envelope.BizID,
"actor_type": firstString(payload["actor_type"]),
"actor_id": firstString(payload["actor_id"]),
"action": firstString(payload["action"]),
"resource": firstString(payload["resource"]),
"resource_id": firstString(payload["resource_id"]),
"result": firstString(payload["result"]),
"reason": firstString(payload["reason"]),
"payload": string(envelope.Payload),
"envelope": string(mqMsg.Body),
"occurred_at": envelope.OccurredAt,
"received_at": gtime.Now(),
}).InsertIgnore()
_, err = imtenant.RegistryDB().Exec(ctx, `INSERT IGNORE INTO im_audit_events
(event_id,tenant_code,event_type,biz_type,biz_id,actor_type,actor_id,action,resource,resource_id,result,reason,payload,envelope,occurred_at,received_at)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,CAST(NULLIF(?, '') AS JSON),CAST(? AS JSON),?,?)`,
envelope.EventID, envelope.TenantCode, envelope.EventType, envelope.BizType, envelope.BizID,
firstString(payload["actor_type"]), firstString(payload["actor_id"]), firstString(payload["action"]),
firstString(payload["resource"]), firstString(payload["resource_id"]), firstString(payload["result"]),
firstString(payload["reason"]), string(envelope.Payload), string(mqMsg.Body), envelope.OccurredAt, gtime.Now())
return err
}
+8 -17
View File
@@ -5,9 +5,9 @@ import (
"encoding/json"
"hotgo/internal/consts"
"hotgo/internal/library/imkafka"
"hotgo/internal/library/imtenant"
"hotgo/internal/library/queue"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
@@ -32,22 +32,13 @@ func (q *qImDeadLetter) Handle(ctx context.Context, mqMsg queue.MqMsg) (err erro
if len(envelope.Payload) > 0 {
_ = json.Unmarshal(envelope.Payload, &payload)
}
_, err = g.DB().Model("im_kafka_dead_letter_events").Safe().Ctx(ctx).Data(g.Map{
"event_id": envelope.EventID,
"parent_event_id": envelope.ParentEventID,
"tenant_code": envelope.TenantCode,
"event_type": envelope.EventType,
"biz_type": envelope.BizType,
"biz_id": envelope.BizID,
"source_service": envelope.SourceService,
"target_service": envelope.TargetService,
"dead_id": firstString(payload["dead_id"], payload["deadId"], payload["DeadID"]),
"reason": firstString(payload["reason"], payload["Reason"], payload["last_reason"], payload["lastReason"], payload["LastReason"]),
"message": firstString(payload["message"], payload["Message"], payload["last_error"], payload["lastError"], payload["LastError"]),
"payload": string(envelope.Payload),
"envelope": string(mqMsg.Body),
"received_at": gtime.Now(),
}).InsertIgnore()
_, err = imtenant.RegistryDB().Exec(ctx, `INSERT IGNORE INTO im_kafka_dead_letter_events
(event_id,parent_event_id,tenant_code,event_type,biz_type,biz_id,source_service,target_service,dead_id,reason,message,payload,envelope,received_at)
VALUES(?,?,?,?,?,?,?,?,?,?,?,CAST(NULLIF(?, '') AS JSON),CAST(? AS JSON),?)`,
envelope.EventID, envelope.ParentEventID, envelope.TenantCode, envelope.EventType, envelope.BizType, envelope.BizID,
envelope.SourceService, envelope.TargetService, stringValue(payload["dead_id"]),
firstString(payload["reason"], payload["last_reason"]), firstString(payload["message"], payload["last_error"]),
string(envelope.Payload), string(mqMsg.Body), gtime.Now())
return err
}