add logout time
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Timofey.Kovalev 2021-06-22 19:55:53 +03:00
parent 9142e7993a
commit f3b56bb7b7
2 changed files with 12 additions and 2 deletions

View File

@ -200,10 +200,14 @@ func (db *dbLayer) increasePlayerOnlineDuration(ctx context.Context, playerID st
return db.execInTransaction(ctx, "UPDATE players SET online_duration = online_duration + $2 WHERE id = $1", playerID, onlineDurationSecond)
}
func (db *dbLayer) updatePlayerLastOnline(ctx context.Context, playerID string, lastOnline time.Time) error {
func (db *dbLayer) updatePlayerLastLogin(ctx context.Context, playerID string, lastOnline time.Time) error {
return db.execInTransaction(ctx, "UPDATE players SET last_login = $2 WHERE id = $1", playerID, lastOnline.Format(time.RFC3339))
}
func (db *dbLayer) updatePlayerLastLogout(ctx context.Context, playerID string, lastOnline time.Time) error {
return db.execInTransaction(ctx, "UPDATE players SET last_logout = $2 WHERE id = $1", playerID, lastOnline.Format(time.RFC3339))
}
func (db *dbLayer) increasePlayerDeath(ctx context.Context, playerID string, deaths int) error {
return db.execInTransaction(ctx, "UPDATE players SET deaths = deaths + $2 WHERE id = $1", playerID, deaths)
}

View File

@ -70,7 +70,7 @@ func (c *joinCommand) run(ctx context.Context) {
return
}
} else {
err = db.updatePlayerLastOnline(ctx, p.id, time.Now())
err = db.updatePlayerLastLogin(ctx, p.id, time.Now())
if err != nil {
log.Error(err)
return
@ -111,6 +111,12 @@ func (c *quitCommand) run(ctx context.Context) {
return
}
err = db.updatePlayerLastLogout(ctx, p.id, time.Now())
if err != nil {
log.Error(err)
return
}
err = db.increasePlayerOnlineDuration(ctx, p.id, time.Now().Sub(p.lastOnline))
if err != nil {
log.Error(err)