RuneHive-Game
Loading...
Searching...
No Matches
PrivateMessageChatLogEvent.java
Go to the documentation of this file.
1package com.runehive.game.event.impl.log;
2
3import com.jcabi.jdbc.JdbcSession;
4import com.jcabi.jdbc.SingleOutcome;
5import com.runehive.game.service.PostgreService;
6import com.runehive.game.world.entity.mob.player.Player;
7
8public class PrivateMessageChatLogEvent extends LogEvent {
9
10 private final Player sender;
11 private final Player receiver;
12 private final String decoded;
13
15 this.sender = sender;
16 this.receiver = receiver;
17 this.decoded = decoded;
18 }
19
20 @Override
21 public void onLog() throws Exception {
22 JdbcSession session = new JdbcSession(PostgreService.getConnectionPool());
23 long logId = session.autocommit(false)
24 .sql("INSERT INTO log.log(log_time) VALUES (?::timestamp) RETURNING id")
25 .set(dateTime)
26 .insert(new SingleOutcome<>(Long.class));
27
28 session.sql("INSERT INTO log.pm_log(log_id, sender_id, receiver_id, message) VALUES (?, ?, ?, ?)")
29 .set(logId)
30 .set(sender.getMemberId())
31 .set(receiver.getMemberId())
32 .set(decoded)
33 .execute()
34 .commit();
35 }
36
37}
PrivateMessageChatLogEvent(Player sender, Player receiver, String decoded)
static HikariDataSource getConnectionPool()
This class represents a character controlled by a player.
Definition Player.java:125