| 12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- namespace App\Module\AppGame\Proto;
- use Uraus\Kku\Common\DataGod;
- /**
- * 神灵加持DTO转换为Protobuf数据对象
- */
- class GodBuffDto
- {
- /**
- * 将Farm模块的GodBuffDto转换为Protobuf的DataGod对象
- *
- * @param \App\Module\Farm\Dtos\GodBuffDto $godBuffDto
- * @return DataGod
- */
- public static function toDataGod(\App\Module\Farm\Dtos\GodBuffDto $godBuffDto): DataGod
- {
- $dataGod = new DataGod();
-
- // 设置神灵ID(使用buff类型作为ID)
- $dataGod->setId($godBuffDto->buffType);
-
- // 设置激活状态(如果有过期时间且未过期,则为激活状态)
- $isActive = !empty($godBuffDto->expireTime) && strtotime($godBuffDto->expireTime) > time();
- $dataGod->setStatus($isActive);
-
- // 设置有效期(转换为时间戳)
- if (!empty($godBuffDto->expireTime)) {
- $expireTime = strtotime($godBuffDto->expireTime);
- $dataGod->setVaidTime($expireTime);
- }
-
- return $dataGod;
- }
- }
|