| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace App\Module\Game\Services;
- use App\Module\Game\Dtos\LandChangeTempDto;
- use App\Module\Game\Dtos\LandStatusTempDto;
- use App\Module\Game\Logics\LandTemp;
- /**
- * 土地临时数据服务类
- *
- * 提供土地临时数据相关的服务方法,用于外部调用
- * 统一处理所有类型的土地变更,不再区分类型变更和状态变更
- */
- class LandTempService
- {
- /**
- * 获取用户的所有土地变更临时数据(统一接口)
- *
- * @param int $userId 用户ID
- * @return array 用户的土地变更数据,键为土地ID,值为LandChangeTempDto对象
- */
- public static function getUserLandChanges(int $userId): array
- {
- return LandTemp::getUserLandChanges($userId);
- }
- /**
- * 获取用户特定土地的变更临时数据
- *
- * @param int $userId 用户ID
- * @param int $landId 土地ID
- * @return LandChangeTempDto|null 土地变更数据,不存在时返回null
- */
- public static function getUserLandChange(int $userId, int $landId): ?LandChangeTempDto
- {
- return LandTemp::getUserLandChange($userId, $landId);
- }
- /**
- * 获取用户的类型变更数据
- *
- * @param int $userId 用户ID
- * @return array 过滤后的类型变更数据
- */
- public static function getUserTypeChanges(int $userId): array
- {
- $allChanges = self::getUserLandChanges($userId);
- return array_filter($allChanges, function($change) {
- return $change->isTypeChange();
- });
- }
- /**
- * 获取用户的状态变更数据
- *
- * @param int $userId 用户ID
- * @return array 过滤后的状态变更数据
- */
- public static function getUserStatusChanges(int $userId): array
- {
- $allChanges = self::getUserLandChanges($userId);
- return array_filter($allChanges, function($change) {
- return $change->isStatusChange();
- });
- }
- /**
- * 清除用户的所有土地变更临时数据(统一接口)
- *
- * @param int $userId 用户ID
- * @return void
- */
- public static function clearUserLandChanges(int $userId): void
- {
- LandTemp::clearUserLandChanges($userId);
- }
- /**
- * 清除用户的所有土地临时数据
- *
- * @param int $userId 用户ID
- * @return void
- */
- public static function clearUserAllLandTemp(int $userId): void
- {
- LandTemp::clearUserAllLandTemp($userId);
- }
- }
|