mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
Implement partial upload process for MB purchases
This commit is contained in:
parent
8b8d1ca74c
commit
a0e43517b5
4 changed files with 36 additions and 2 deletions
|
|
@ -18,5 +18,11 @@ namespace Dalamud.Game.Network.MarketBoardUploaders
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taxRates">The tax rate data being uploaded.</param>
|
/// <param name="taxRates">The tax rate data being uploaded.</param>
|
||||||
void UploadTax(MarketTaxRates taxRates);
|
void UploadTax(MarketTaxRates taxRates);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Upload information about a purchase this client has made.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="purchase">That thing with Louisiana.</param>
|
||||||
|
void UploadPurchase(MarketBoardPurchase purchase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Dalamud.Game.Network.MarketBoardUploaders.Universalis
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Request payload for market board purchases.
|
||||||
|
/// </summary>
|
||||||
|
public class UniversalisMarketBoardPurchaseRequest
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -136,5 +136,23 @@ namespace Dalamud.Game.Network.Universalis.MarketBoardUploaders
|
||||||
|
|
||||||
Log.Verbose("Universalis tax upload completed.");
|
Log.Verbose("Universalis tax upload completed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void UploadPurchase(MarketBoardPurchase purchase)
|
||||||
|
{
|
||||||
|
using var client = new WebClient();
|
||||||
|
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
|
||||||
|
client.Headers.Add(HttpRequestHeader.Authorization, ApiKey);
|
||||||
|
|
||||||
|
var purchaseRequest = new UniversalisMarketBoardPurchaseRequest();
|
||||||
|
|
||||||
|
var worldId = this.dalamud.ClientState.LocalPlayer?.CurrentWorld.Id ?? 0;
|
||||||
|
|
||||||
|
var purchaseUpload = JsonConvert.SerializeObject(purchaseRequest);
|
||||||
|
client.UploadString(ApiBase + $"/{purchase.CatalogId}/{worldId}/delete", "POST", purchaseUpload);
|
||||||
|
Log.Verbose(purchaseUpload);
|
||||||
|
|
||||||
|
Log.Verbose("Universalis tax upload completed.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,11 @@ namespace Dalamud.Game.Network
|
||||||
|
|
||||||
private readonly List<MarketBoardItemRequest> marketBoardRequests = new();
|
private readonly List<MarketBoardItemRequest> marketBoardRequests = new();
|
||||||
|
|
||||||
private MarketBoardPurchaseHandler marketBoardPurchaseHandler;
|
|
||||||
|
|
||||||
private readonly bool optOutMbUploads;
|
private readonly bool optOutMbUploads;
|
||||||
private readonly IMarketBoardUploader uploader;
|
private readonly IMarketBoardUploader uploader;
|
||||||
|
|
||||||
|
private MarketBoardPurchaseHandler marketBoardPurchaseHandler;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="NetworkHandlers"/> class.
|
/// Initializes a new instance of the <see cref="NetworkHandlers"/> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -282,6 +282,7 @@ namespace Dalamud.Game.Network
|
||||||
|| purchase.CatalogId == this.marketBoardPurchaseHandler.CatalogId + 1000000))
|
|| purchase.CatalogId == this.marketBoardPurchaseHandler.CatalogId + 1000000))
|
||||||
{ // HQ
|
{ // HQ
|
||||||
Log.Information("Bought " + purchase.ItemQuantity + "x " + this.marketBoardPurchaseHandler.CatalogId + " for " + (this.marketBoardPurchaseHandler.PricePerUnit * purchase.ItemQuantity) + " gils, listing id is " + this.marketBoardPurchaseHandler.ListingId);
|
Log.Information("Bought " + purchase.ItemQuantity + "x " + this.marketBoardPurchaseHandler.CatalogId + " for " + (this.marketBoardPurchaseHandler.PricePerUnit * purchase.ItemQuantity) + " gils, listing id is " + this.marketBoardPurchaseHandler.ListingId);
|
||||||
|
Task.Run(() => this.uploader.UploadPurchase(purchase));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.marketBoardPurchaseHandler = null;
|
this.marketBoardPurchaseHandler = null;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue