ge plugin: include world type in trades
This commit is contained in:
@@ -25,6 +25,7 @@
|
|||||||
package net.runelite.http.api.ge;
|
package net.runelite.http.api.ge;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class GrandExchangeTrade
|
public class GrandExchangeTrade
|
||||||
@@ -36,4 +37,5 @@ public class GrandExchangeTrade
|
|||||||
private int total;
|
private int total;
|
||||||
private int price;
|
private int price;
|
||||||
private int offer;
|
private int offer;
|
||||||
|
private WorldType worldType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,8 @@ public class GrandExchangeController
|
|||||||
trade.setMachineId(request.getHeader(RuneLiteAPI.RUNELITE_MACHINEID));
|
trade.setMachineId(request.getHeader(RuneLiteAPI.RUNELITE_MACHINEID));
|
||||||
trade.setUserId(userId);
|
trade.setUserId(userId);
|
||||||
trade.setIp(request.getHeader("X-Forwarded-For"));
|
trade.setIp(request.getHeader("X-Forwarded-For"));
|
||||||
|
trade.setWorldType(grandExchangeTrade.getWorldType());
|
||||||
|
|
||||||
String json = GSON.toJson(trade);
|
String json = GSON.toJson(trade);
|
||||||
try (Jedis jedis = redisPool.getResource())
|
try (Jedis jedis = redisPool.getResource())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
package net.runelite.http.service.ge;
|
package net.runelite.http.service.ge;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
class Trade
|
class Trade
|
||||||
@@ -39,4 +40,5 @@ class Trade
|
|||||||
private String machineId;
|
private String machineId;
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
private String ip;
|
private String ip;
|
||||||
|
private WorldType worldType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import java.time.Instant;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.EnumSet;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@@ -102,6 +103,7 @@ import net.runelite.http.api.ge.GrandExchangeTrade;
|
|||||||
import net.runelite.http.api.item.ItemStats;
|
import net.runelite.http.api.item.ItemStats;
|
||||||
import net.runelite.http.api.osbuddy.OSBGrandExchangeClient;
|
import net.runelite.http.api.osbuddy.OSBGrandExchangeClient;
|
||||||
import net.runelite.http.api.osbuddy.OSBGrandExchangeResult;
|
import net.runelite.http.api.osbuddy.OSBGrandExchangeResult;
|
||||||
|
import net.runelite.http.api.worlds.WorldType;
|
||||||
import org.apache.commons.lang3.time.DurationFormatUtils;
|
import org.apache.commons.lang3.time.DurationFormatUtils;
|
||||||
import org.apache.commons.text.similarity.FuzzyScore;
|
import org.apache.commons.text.similarity.FuzzyScore;
|
||||||
|
|
||||||
@@ -397,6 +399,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeTrade.setTotal(offer.getTotalQuantity());
|
grandExchangeTrade.setTotal(offer.getTotalQuantity());
|
||||||
grandExchangeTrade.setPrice(0);
|
grandExchangeTrade.setPrice(0);
|
||||||
grandExchangeTrade.setOffer(offer.getPrice());
|
grandExchangeTrade.setOffer(offer.getPrice());
|
||||||
|
grandExchangeTrade.setWorldType(getGeWorldType());
|
||||||
|
|
||||||
log.debug("Submitting new trade: {}", grandExchangeTrade);
|
log.debug("Submitting new trade: {}", grandExchangeTrade);
|
||||||
grandExchangeClient.submit(grandExchangeTrade);
|
grandExchangeClient.submit(grandExchangeTrade);
|
||||||
@@ -425,6 +428,7 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeTrade.setTotal(offer.getTotalQuantity());
|
grandExchangeTrade.setTotal(offer.getTotalQuantity());
|
||||||
grandExchangeTrade.setPrice(offer.getQuantitySold() > 0 ? offer.getSpent() / offer.getQuantitySold() : 0);
|
grandExchangeTrade.setPrice(offer.getQuantitySold() > 0 ? offer.getSpent() / offer.getQuantitySold() : 0);
|
||||||
grandExchangeTrade.setOffer(offer.getPrice());
|
grandExchangeTrade.setOffer(offer.getPrice());
|
||||||
|
grandExchangeTrade.setWorldType(getGeWorldType());
|
||||||
|
|
||||||
log.debug("Submitting cancelled: {}", grandExchangeTrade);
|
log.debug("Submitting cancelled: {}", grandExchangeTrade);
|
||||||
grandExchangeClient.submit(grandExchangeTrade);
|
grandExchangeClient.submit(grandExchangeTrade);
|
||||||
@@ -453,11 +457,29 @@ public class GrandExchangePlugin extends Plugin
|
|||||||
grandExchangeTrade.setTotal(offer.getTotalQuantity());
|
grandExchangeTrade.setTotal(offer.getTotalQuantity());
|
||||||
grandExchangeTrade.setPrice(price);
|
grandExchangeTrade.setPrice(price);
|
||||||
grandExchangeTrade.setOffer(offer.getPrice());
|
grandExchangeTrade.setOffer(offer.getPrice());
|
||||||
|
grandExchangeTrade.setWorldType(getGeWorldType());
|
||||||
|
|
||||||
log.debug("Submitting trade: {}", grandExchangeTrade);
|
log.debug("Submitting trade: {}", grandExchangeTrade);
|
||||||
grandExchangeClient.submit(grandExchangeTrade);
|
grandExchangeClient.submit(grandExchangeTrade);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private WorldType getGeWorldType()
|
||||||
|
{
|
||||||
|
EnumSet<net.runelite.api.WorldType> worldTypes = client.getWorldType();
|
||||||
|
if (worldTypes.contains(net.runelite.api.WorldType.DEADMAN))
|
||||||
|
{
|
||||||
|
return WorldType.DEADMAN;
|
||||||
|
}
|
||||||
|
else if (worldTypes.contains(net.runelite.api.WorldType.DEADMAN_TOURNAMENT))
|
||||||
|
{
|
||||||
|
return WorldType.DEADMAN_TOURNAMENT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void updateConfig(int slot, GrandExchangeOffer offer)
|
private void updateConfig(int slot, GrandExchangeOffer offer)
|
||||||
{
|
{
|
||||||
if (offer.getState() == GrandExchangeOfferState.EMPTY)
|
if (offer.getState() == GrandExchangeOfferState.EMPTY)
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import com.google.inject.Guice;
|
|||||||
import com.google.inject.testing.fieldbinder.Bind;
|
import com.google.inject.testing.fieldbinder.Bind;
|
||||||
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -35,6 +36,7 @@ import net.runelite.api.Client;
|
|||||||
import net.runelite.api.GrandExchangeOffer;
|
import net.runelite.api.GrandExchangeOffer;
|
||||||
import net.runelite.api.GrandExchangeOfferState;
|
import net.runelite.api.GrandExchangeOfferState;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
|
import net.runelite.api.WorldType;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.account.SessionManager;
|
import net.runelite.client.account.SessionManager;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
@@ -116,6 +118,7 @@ public class GrandExchangePluginTest
|
|||||||
{
|
{
|
||||||
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
|
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
|
||||||
when(client.getUsername()).thenReturn("adam");
|
when(client.getUsername()).thenReturn("adam");
|
||||||
|
when(client.getWorldType()).thenReturn(EnumSet.noneOf(WorldType.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user