|
@@ -2,7 +2,7 @@
|
|
|
* @Author: Alvin Alvin@qq.com
|
|
|
* @Date: 2024-09-24 18:54:19
|
|
|
* @LastEditors: Alvin Alvin@qq.com
|
|
|
- * @LastEditTime: 2024-09-25 18:37:45
|
|
|
+ * @LastEditTime: 2024-09-26 11:10:58
|
|
|
* @FilePath: \server\game\game_cluster\nodes\logstash\module\handlelog\actor_handle_log.go
|
|
|
* @Description:
|
|
|
* 处理其他服务发送的埋点日志
|
|
@@ -10,10 +10,11 @@
|
|
|
package handlelog
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
"strings"
|
|
|
|
|
|
+ jsoniter "github.com/json-iterator/go"
|
|
|
"github.com/mhaya/game/game_cluster/internal/code"
|
|
|
+ "github.com/mhaya/game/game_cluster/internal/mdb"
|
|
|
"github.com/mhaya/game/game_cluster/internal/mdb/eventmodels"
|
|
|
"github.com/mhaya/game/game_cluster/internal/param"
|
|
|
"github.com/mhaya/game/game_cluster/nodes/logstash/module/event"
|
|
@@ -21,6 +22,10 @@ import (
|
|
|
cactor "github.com/mhaya/net/actor"
|
|
|
)
|
|
|
|
|
|
+var (
|
|
|
+ json = jsoniter.ConfigCompatibleWithStandardLibrary
|
|
|
+)
|
|
|
+
|
|
|
type (
|
|
|
HandleLogObject struct {
|
|
|
cactor.Base
|
|
@@ -28,7 +33,7 @@ type (
|
|
|
)
|
|
|
|
|
|
func (p *HandleLogObject) AliasID() string {
|
|
|
- return "handlelog"
|
|
|
+ return "logrecord"
|
|
|
}
|
|
|
|
|
|
// OnInit logstash为后端节点,不直接与客户端通信,所以注册了一些remote函数,供RPC调用
|
|
@@ -62,22 +67,155 @@ func (p *HandleLogObject) handlelogContent(req *param.HandleLogReq, e event.Even
|
|
|
content := &eventmodels.UserRegisterEventContent{}
|
|
|
err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
if err != nil {
|
|
|
- mhayaLogger.Warnf("handlelog Unmarshal err:%v", err)
|
|
|
+ mhayaLogger.Warnf("handlelog UserRegisterEventContent Unmarshal err:%v", err)
|
|
|
return code.Error
|
|
|
}
|
|
|
|
|
|
- // TODO 将流水日志写入clickhouse等等
|
|
|
- content.Insert()
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create UserRegisterEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
|
|
|
case *eventmodels.UserLoginEventContent:
|
|
|
content := &eventmodels.UserLoginEventContent{}
|
|
|
err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
if err != nil {
|
|
|
- mhayaLogger.Warnf("handlelog Unmarshal err:%v", err)
|
|
|
+ mhayaLogger.Warnf("handlelog UserLoginEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create UserLoginEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.UserUpdateInfoEventContent:
|
|
|
+ content := &eventmodels.UserUpdateInfoEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog UserUpdateInfoEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create UserUpdateInfoEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.UserWithdrawEventContent:
|
|
|
+ content := &eventmodels.UserWithdrawEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog UserWithdrawEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create UserWithdrawEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.AssetsEventContent:
|
|
|
+ content := &eventmodels.AssetsEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog AssetsEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create AssetsEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.InviteEventContent:
|
|
|
+ content := &eventmodels.InviteEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog InviteEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create InviteEventContent err:%v", err)
|
|
|
return code.Error
|
|
|
}
|
|
|
|
|
|
- // TODO 将流水日志写入clickhouse等等
|
|
|
+ case *eventmodels.DiceEventContent:
|
|
|
+ content := &eventmodels.DiceEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog DiceEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create DiceEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.JoinChannelEventContent:
|
|
|
+ content := &eventmodels.JoinChannelEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog JoinChannelEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create JoinChannelEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.FollowEventContent:
|
|
|
+ content := &eventmodels.FollowEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog FollowEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create FollowEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.TaskFinishEventContent:
|
|
|
+ content := &eventmodels.TaskFinishEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog TaskFinishEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create TaskFinishEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ case *eventmodels.BackendOperationEventContent:
|
|
|
+ content := &eventmodels.BackendOperationEventContent{}
|
|
|
+ err := json.Unmarshal([]byte(req.JsonContent), &content)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog BackendOperationEventContent Unmarshal err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
+
|
|
|
+ err = mdb.LogstashDB.Create(content).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("handlelog LogstashDB Create BackendOperationEventContent err:%v", err)
|
|
|
+ return code.Error
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return code.OK
|