Skip to main content

Services

zAuctionHouse uses a service-based architecture where each major operation has its own dedicated service.

Service Overview

ServicePurpose
AuctionSellServiceHandle item listing
AuctionPurchaseServiceHandle item purchases
AuctionRemoveServiceHandle item removal
AuctionExpireServiceHandle item expiration
AuctionHistoryServiceAccess transaction history
AuctionClaimServiceHandle money claims from sales

AuctionSellService

Handles all item listing operations. Allows selling items, validating sales, and managing listing limits.

public interface AuctionSellService {

void sellAuctionItems(Player player, BigDecimal price, long expiredAt, Map<Integer, ItemStack> slotItems, AuctionEconomy auctionEconomy);

void openSellCommandInventory(Player player, BigDecimal price, AuctionEconomy auctionEconomy);
}

AuctionPurchaseService

Handles item purchases. Validates buyer funds, processes transactions, and transfers items.

public interface AuctionPurchaseService {

CompletableFuture<Void> purchaseItem(Player player, Item item);
}

AuctionRemoveService

Handles item removal from listings, expired items, and purchased items. Returns items to players.

public interface AuctionRemoveService {

CompletableFuture<Void> removeListedItem(Player player, Item item);

CompletableFuture<Void> removeSellingItem(Player player, Item item);

CompletableFuture<Void> removeExpiredItem(Player player, Item item);

CompletableFuture<Void> removePurchasedItem(Player player, Item item);

}

AuctionExpireService

Handles automatic and manual expiration of items. Moves items from active listings to expired state.

public interface AuctionExpireService {

void processExpiredItem(Item item, StorageType storageType);

void processExpiredItems(List<Item> items, StorageType storageType);

}

AuctionHistoryService

Provides access to transaction history and player statistics. Retrieves past sales and purchases.

public interface AuctionHistoryService {

CompletableFuture<List<ItemLog>> getSalesHistory(UUID playerUniqueId);

CompletableFuture<List<LogDTO>> getUnreadSales(UUID playerUniqueId);

CompletableFuture<Void> markSalesAsRead(List<Integer> logIds);

void handlePlayerJoin(Player player);

void openHistoryInventory(Player player);

void openHistoryInventory(Player player, int page);
}

AuctionClaimService

Handles money claims from completed sales. Players receive money when their items are sold.

public interface AuctionClaimService {

CompletableFuture<ClaimResult> claim(Player player);

CompletableFuture<ClaimResult> claim(Player player, AuctionEconomy economy);

double getPendingAmount(UUID playerUuid);

Map<AuctionEconomy, Double> getPendingAmounts(UUID playerUuid);

boolean hasPendingClaims(UUID playerUuid);
}
Copyright © 2026 GroupeZ|Build #loading...|-