ge: add trade seq number
Occasionally the trades are delivered out of order, this allows us to reassemble them in the correct order
This commit is contained in:
@@ -42,4 +42,5 @@ public class GrandExchangeTrade
|
|||||||
private int offer;
|
private int offer;
|
||||||
private int slot;
|
private int slot;
|
||||||
private WorldType worldType;
|
private WorldType worldType;
|
||||||
|
private int seq;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ public class GrandExchangeController
|
|||||||
trade.setIp(request.getHeader("X-Forwarded-For"));
|
trade.setIp(request.getHeader("X-Forwarded-For"));
|
||||||
trade.setUa(request.getHeader("User-Agent"));
|
trade.setUa(request.getHeader("User-Agent"));
|
||||||
trade.setWorldType(grandExchangeTrade.getWorldType());
|
trade.setWorldType(grandExchangeTrade.getWorldType());
|
||||||
|
trade.setSeq(grandExchangeTrade.getSeq());
|
||||||
|
|
||||||
String json = GSON.toJson(trade);
|
String json = GSON.toJson(trade);
|
||||||
try (Jedis jedis = redisPool.getResource())
|
try (Jedis jedis = redisPool.getResource())
|
||||||
|
|||||||
@@ -46,4 +46,5 @@ class Trade
|
|||||||
private String ip;
|
private String ip;
|
||||||
private String ua;
|
private String ua;
|
||||||
private WorldType worldType;
|
private WorldType worldType;
|
||||||
|
private int seq;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,6 +201,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
|
|
||||||
private String machineUuid;
|
private String machineUuid;
|
||||||
private String lastUsername;
|
private String lastUsername;
|
||||||
|
private int tradeSeq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logic from {@link org.apache.commons.text.similarity.FuzzyScore}
|
* Logic from {@link org.apache.commons.text.similarity.FuzzyScore}
|
||||||
@@ -330,6 +331,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeText = null;
|
grandExchangeText = null;
|
||||||
grandExchangeItem = null;
|
grandExchangeItem = null;
|
||||||
lastUsername = machineUuid = null;
|
lastUsername = machineUuid = null;
|
||||||
|
tradeSeq = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
@@ -415,6 +417,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeTrade.setSlot(slot);
|
grandExchangeTrade.setSlot(slot);
|
||||||
grandExchangeTrade.setWorldType(getGeWorldType());
|
grandExchangeTrade.setWorldType(getGeWorldType());
|
||||||
grandExchangeTrade.setLogin(login);
|
grandExchangeTrade.setLogin(login);
|
||||||
|
grandExchangeTrade.setSeq(tradeSeq++);
|
||||||
|
|
||||||
log.debug("Submitting new trade: {}", grandExchangeTrade);
|
log.debug("Submitting new trade: {}", grandExchangeTrade);
|
||||||
grandExchangeClient.submit(grandExchangeTrade);
|
grandExchangeClient.submit(grandExchangeTrade);
|
||||||
@@ -446,6 +449,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeTrade.setSlot(slot);
|
grandExchangeTrade.setSlot(slot);
|
||||||
grandExchangeTrade.setWorldType(getGeWorldType());
|
grandExchangeTrade.setWorldType(getGeWorldType());
|
||||||
grandExchangeTrade.setLogin(login);
|
grandExchangeTrade.setLogin(login);
|
||||||
|
grandExchangeTrade.setSeq(tradeSeq++);
|
||||||
|
|
||||||
log.debug("Submitting cancelled: {}", grandExchangeTrade);
|
log.debug("Submitting cancelled: {}", grandExchangeTrade);
|
||||||
grandExchangeClient.submit(grandExchangeTrade);
|
grandExchangeClient.submit(grandExchangeTrade);
|
||||||
@@ -471,6 +475,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeTrade.setSlot(slot);
|
grandExchangeTrade.setSlot(slot);
|
||||||
grandExchangeTrade.setWorldType(getGeWorldType());
|
grandExchangeTrade.setWorldType(getGeWorldType());
|
||||||
grandExchangeTrade.setLogin(login);
|
grandExchangeTrade.setLogin(login);
|
||||||
|
grandExchangeTrade.setSeq(tradeSeq++);
|
||||||
|
|
||||||
log.debug("Submitting trade: {}", grandExchangeTrade);
|
log.debug("Submitting trade: {}", grandExchangeTrade);
|
||||||
grandExchangeClient.submit(grandExchangeTrade);
|
grandExchangeClient.submit(grandExchangeTrade);
|
||||||
@@ -958,12 +963,14 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
}
|
}
|
||||||
hasher.putUnencodedChars(username);
|
hasher.putUnencodedChars(username);
|
||||||
machineUuid = hasher.hash().toString();
|
machineUuid = hasher.hash().toString();
|
||||||
|
tradeSeq = 0;
|
||||||
return machineUuid;
|
return machineUuid;
|
||||||
}
|
}
|
||||||
catch (SocketException ex)
|
catch (SocketException ex)
|
||||||
{
|
{
|
||||||
log.debug("unable to generate machine id", ex);
|
log.debug("unable to generate machine id", ex);
|
||||||
machineUuid = null;
|
machineUuid = null;
|
||||||
|
tradeSeq = 0;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user