Paradaux

PAR-48

0

Add ability to fine firms

Pending ReleaserianTreasuryFeature

Allow the system to fine firms directly (today fines target players only).

Technical notesGovServiceImpl.issueFine resolves the fined party via getAccountByUUID(player) (PERSONAL account), GovernmentFine stores a playerUuid (not an accountId), and FineCommand takes an OfflinePlayer — there's no path to fine a BUSINESS/firm account. Add an overload issueFine(int debtorAccountId, int govAccountId, …), generalise GovernmentFine to carry a debtorAccountId (keep playerUuid for back-compat), add a /fine firm <name> … route resolving the BUSINESS account, and mirror it in the revoke path. Pairs with PAR-59.

Comments

tesks · Jun 4, 2026, 9:57 AM

Code context — Fines are player-only today: GovServiceImpl.issueFine resolves the fined party via getAccountByUUID(player) (PERSONAL account), GovernmentFine stores a playerUuid (not an accountId), and FineCommand takes an OfflinePlayer. There's no path to fine a BUSINESS/firm account.

Approach: add an overload issueFine(int debtorAccountId, int govAccountId, …), generalise GovernmentFine to carry a debtorAccountId (keep playerUuid for back-compat), add a /fine firm <name> … route resolving the BUSINESS account, and mirror it in the revoke path. Pairs with PAR-59 (webhook).

Activity

  • tesks changed status to Status → Pending Release
  • tesks changed status to Status → In Progress
  • paradaux description: Description updated
  • paradaux changed status to Status → Planned
  • tesks changed status to Status → Backlog
  • tesks description: Description updated
  • tesks commented
  • tesks assigned Assigned to rian
  • tesks updated labels (Labels updated)
  • tesks moved to Moved to Treasury