| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace App\Module\AppGame\Proto;
- use Uraus\Kku\Common\DataHourse;
- /**
- * 农场信息DTO转换为Protobuf数据对象
- */
- class FarmInfoDto
- {
- /**
- * 将Farm模块的FarmInfoDto转换为Protobuf的DataHourse对象
- *
- * @param \App\Module\Farm\Dtos\FarmInfoDto $farmInfoDto
- * @return DataHourse
- */
- public static function toDataHourse(\App\Module\Farm\Dtos\FarmInfoDto $farmInfoDto): DataHourse
- {
- $dataHourse = new DataHourse();
-
- // 设置房屋等级
- $dataHourse->setLevel($farmInfoDto->houseLevel);
-
- // 设置降级时间(如果有)
- if (!empty($farmInfoDto->lastUpgradeTime)) {
- // 如果lastUpgradeTime是字符串格式的日期时间,转换为时间戳
- if (is_string($farmInfoDto->lastUpgradeTime)) {
- $downgradeTime = strtotime($farmInfoDto->lastUpgradeTime);
- $dataHourse->setDowngradeTime($downgradeTime);
- }
- // 如果已经是时间戳,直接使用
- else if (is_numeric($farmInfoDto->lastUpgradeTime)) {
- $dataHourse->setDowngradeTime($farmInfoDto->lastUpgradeTime);
- }
- }
-
- return $dataHourse;
- }
- }
|