返回提交历史
Modified
src/services/purchaseService.ts
+8
-7
Modified
src/types/purchaseTypes.ts
+2
-0
XFEstudio/XFESpaceNinjaServer
fix: identify correct offer for when teshin has 2 kuva offers up (#797)
0ace5eb4
代码差异
2 个文件
+10
-7
@@ -49,14 +49,15 @@ export const handlePurchase = async (
49
49
50
50
if (purchaseRequest.PurchaseParams.Source == 7) {
51
51
const manifest = getVendorManifestByOid(purchaseRequest.PurchaseParams.SourceId!);
52
if (manifest) {
53
const offer = manifest.VendorInfo.ItemManifest.find(
54
x => x.StoreItem == purchaseRequest.PurchaseParams.StoreItem
55
);
56
if (offer) {
57
purchaseRequest.PurchaseParams.Quantity *= offer.QuantityMultiplier;
58
}
52
if (!manifest) {
53
throw new Error(`unknown vendor id: ${purchaseRequest.PurchaseParams.SourceId!}`);
54
}
55
const ItemId = (JSON.parse(purchaseRequest.PurchaseParams.ExtraPurchaseInfoJson!) as { ItemId: string }).ItemId;
56
const offer = manifest.VendorInfo.ItemManifest.find(x => x.Id.$oid == ItemId);
57
if (!offer) {
58
throw new Error(`unknown vendor offer: ${ItemId}`);
59
59
}
60
purchaseRequest.PurchaseParams.Quantity *= offer.QuantityMultiplier;
60
61
}
61
62
62
63
const purchaseResponse = await handleStoreItemAcquisition(
@@ -17,6 +17,8 @@ export interface IPurchaseParams {
17
17
ExpectedPrice: number;
18
18
SyndicateTag?: string; // for Source 2
19
19
UseFreeFavor?: boolean; // for Source 2
20
ExtraPurchaseInfoJson?: string; // for Source 7
21
IsWeekly?: boolean; // for Source 7
20
22
}
21
23
22
24
export interface ICurrencyChanges {