1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package service
- import (
- "github.com/gin-gonic/gin"
- "sparkteam-dash/internal/http/msg"
- "sparkteam-dash/orm/model"
- "sparkteam-dash/pkg/batchtask"
- "sparkteam-dash/pkg/utils/timext"
- "time"
- )
- var EventLog = &EventLogService{}
- type EventLogService struct {
- }
- func (s *EventLogService) ReportEventLog(ctx *gin.Context, req *msg.EventLogReq) *msg.EventLogResp {
- var err error
- switch req.EventType {
- case msg.EventTypeLogin:
- err = s.eventLog(req)
- case msg.EventTypeWatchAd:
- err = s.adLog(req)
- case msg.EventTypeBattle:
- case msg.EventTypeGuide:
- case msg.EventTypeOnlineDuration:
- default:
- return &msg.EventLogResp{
- Code: 1,
- Msg: "event type not support",
- }
- }
- if err != nil {
- return &msg.EventLogResp{
- Code: 1,
- Msg: err.Error(),
- }
- }
- return &msg.EventLogResp{
- Code: 0,
- Msg: "success",
- }
- }
- func (s *EventLogService) eventLog(req *msg.EventLogReq) error {
- now := time.Now()
- data := &model.LoginLog{
- PlayerID: req.PlayerId,
- EventType: req.SubType,
- Duration: req.Duration,
- IsNew: s.isNewPlayer(req.PlayerCreateTime),
- EventID: req.EventId,
- EventTime: now,
- EventDay: now,
- Channel: req.Channel,
- }
- batchtask.Batch.Push(data.TableName(), data)
- return nil
- }
- func (s *EventLogService) adLog(req *msg.EventLogReq) error {
- now := time.Now()
- data := &model.AdLog{
- AdID: req.AdId,
- PlayerID: req.PlayerId,
- Status: req.Status,
- Channel: req.Channel,
- IsNew: s.isNewPlayer(req.PlayerCreateTime),
- EventTime: now,
- EventDay: now,
- }
- batchtask.Batch.Push(data.TableName(), data)
- return nil
- }
- func (s *EventLogService) isNewPlayer(createTime int64) int64 {
- if timext.IsSameDateByTs(createTime, time.Now().Unix()) {
- return 1
- }
- return 0
- }
|