瀏覽代碼

update 新增签到事件

Alvin 8 月之前
父節點
當前提交
df71dbd673

+ 1 - 0
game/game_cluster/internal/mdb/component.go

@@ -90,4 +90,5 @@ func LogstashMigrateTables() {
 	LogstashDB.AutoMigrate(&eventmodels.TaskFinishEventContent{})
 	LogstashDB.AutoMigrate(&eventmodels.BackendOperationEventContent{})
 	LogstashDB.AutoMigrate(&eventmodels.ShareEventContent{})
+	LogstashDB.AutoMigrate(&eventmodels.SigninEventContent{})
 }

+ 15 - 0
game/game_cluster/internal/mdb/eventmodels/signinEvent.go

@@ -0,0 +1,15 @@
+package eventmodels
+
+// 签到事件
+type SigninEventContent struct {
+	UserBasic
+	EventBasic
+	SigninType         int `json:"signin_type"`          // 签到事件的类型 eg:每日、限时、累计
+	TotalCount         int `json:"total_count"`          // 总签到次数
+	ContinuousCount    int `json:"continuous_count"`     // 连续签到次数
+	ContinuousCountMax int `json:"continuous_count_max"` // 最大连续签到次数
+}
+
+func (e *SigninEventContent) EventName() string {
+	return "Signin"
+}

+ 2 - 0
game/game_cluster/nodes/logstash/module/event/enent.go

@@ -34,6 +34,7 @@ var (
 	_ Eventer = &eventmodels.TaskFinishEventContent{}
 	_ Eventer = &eventmodels.BackendOperationEventContent{}
 	_ Eventer = &eventmodels.ShareEventContent{}
+	_ Eventer = &eventmodels.SigninEventContent{}
 )
 
 func init() {
@@ -57,6 +58,7 @@ func init() {
 	instance.AddEvent(new(eventmodels.TaskFinishEventContent))
 	instance.AddEvent(new(eventmodels.BackendOperationEventContent))
 	instance.AddEvent(new(eventmodels.ShareEventContent))
+	instance.AddEvent(new(eventmodels.SigninEventContent))
 }
 
 func GetEventIdMap() *EventManage {

+ 15 - 1
game/game_cluster/nodes/logstash/module/handlelog/actor_handle_log.go

@@ -2,7 +2,7 @@
  * @Author: Alvin Alvin@qq.com
  * @Date: 2024-09-24 18:54:19
  * @LastEditors: Alvin Alvin@qq.com
- * @LastEditTime: 2024-10-03 10:42:25
+ * @LastEditTime: 2024-10-03 11:09:04
  * @FilePath: \server\game\game_cluster\nodes\logstash\module\handlelog\actor_handle_log.go
  * @Description:
  * 处理其他服务发送的埋点日志
@@ -259,6 +259,20 @@ func (p *HandleLogObject) handlelogContent(req *param.HandleLogReq, e event.Even
 			return code.Error
 		}
 
+	case *eventmodels.SigninEventContent:
+		content := &eventmodels.SigninEventContent{}
+		err := json.Unmarshal([]byte(req.JsonContent), &content)
+		if err != nil {
+			mhayaLogger.Warnf("handlelog SigninEventContent Unmarshal err:%v", err)
+			return code.Error
+		}
+
+		err = mdb.LogstashDB.Create(content).Error
+		if err != nil {
+			mhayaLogger.Warnf("handlelog LogstashDB Create SigninEventContent err:%v", err)
+			return code.Error
+		}
+
 	}
 
 	return code.OK