tourze / credit-service-contracts
积分服务定义包,包含接口、异常和枚举类定义
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/tourze/credit-service-contracts
Requires
- php: ^8.1
- symfony/security-core: ^6.4
- tourze/enum-extra: 0.1.*
- tourze/user-id-bundle: 0.1.*
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-11-01 15:56:23 UTC
README
This package provides interfaces and contracts for a comprehensive credit service system. It defines the structure and behavior for managing user credits, points, and rewards.
Features
- Credit account management
- Credit type definitions
- Credit transaction tracking
- Credit rules and rewards
- Credit exchange capabilities
- Credit transfer between users
- Comprehensive exception handling
Installation
composer require tourze/credit-service-contracts
Quick Start
<?php use Tourze\CreditServiceContracts\Service\CreditAccountServiceInterface; use Tourze\CreditServiceContracts\Service\CreditOperationServiceInterface; use Symfony\Component\Security\Core\User\UserInterface; // Inject the credit services public function __construct( private readonly CreditAccountServiceInterface $accountService, private readonly CreditOperationServiceInterface $operationService ) {} // Add credits to a user account public function addCredits(UserInterface $user, string $creditTypeId): void { // Get the user's account for this credit type $account = $this->accountService->getOrCreateAccount($user, $creditTypeId); // Add credits for completing a task $this->operationService->increaseCredits( $account->getId(), 100, 'task_complete', null, 'Completed daily task' ); }
Components
Core Interfaces
CreditAccountInterface- Represents a user's credit accountCreditTypeInterface- Defines different types of credits/pointsCreditTransactionInterface- Records credit transactions
Service Interfaces
CreditAccountServiceInterface- Manages credit accountsCreditTypeServiceInterface- Manages credit typesCreditOperationServiceInterface- Handles credit operations (increase/decrease)CreditTransactionServiceInterface- Manages credit transactions
Enums
CreditTransactionTypeEnum- Types of credit transactionsCreditTransactionStatusEnum- Status of credit transactionsCreditExpirationPolicyEnum- Policies for credit expiration
Exceptions
CreditServiceException- Base exception for credit service errors
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see License File for more information.