| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- namespace App\Module\Mex\Dto;
- use App\Module\Fund\Enums\FUND_CURRENCY_TYPE;
- use App\Module\Mex\Models\MexDailyPriceTrend;
- use UCore\Dto\BaseDto;
- /**
- * 农贸市场每日价格趋势DTO
- */
- class MexDailyPriceTrendDto extends BaseDto
- {
- public int $id;
- public int $itemId;
- public FUND_CURRENCY_TYPE $currencyType;
- public string $tradeDate;
- public ?float $openPrice;
- public ?float $closePrice;
- public ?float $highPrice;
- public ?float $lowPrice;
- public ?float $avgPrice;
- public ?float $buyOpenPrice;
- public ?float $buyClosePrice;
- public ?float $buyHighPrice;
- public ?float $buyLowPrice;
- public ?float $buyAvgPrice;
- public ?float $sellOpenPrice;
- public ?float $sellClosePrice;
- public ?float $sellHighPrice;
- public ?float $sellLowPrice;
- public ?float $sellAvgPrice;
- public int $totalVolume;
- public float $totalAmount;
- public int $transactionCount;
- public int $buyVolume;
- public int $sellVolume;
- public float $buyAmount;
- public float $sellAmount;
- public int $adminInjectVolume;
- public int $adminRecycleVolume;
- public float $adminInjectAmount;
- public float $adminRecycleAmount;
- public ?float $priceChange;
- public ?float $priceChangePercent;
- public ?float $volatility;
- public string $createdAt;
- public string $updatedAt;
- public string $priceTrendDescription;
- public string $volatilityLevel;
- /**
- * 从模型创建DTO
- */
- public static function fromModel(MexDailyPriceTrend $model): self
- {
- $dto = new self();
- $dto->id = $model->id;
- $dto->itemId = $model->item_id;
- $dto->currencyType = $model->currency_type;
- $dto->tradeDate = $model->trade_date->format('Y-m-d');
- $dto->openPrice = $model->open_price;
- $dto->closePrice = $model->close_price;
- $dto->highPrice = $model->high_price;
- $dto->lowPrice = $model->low_price;
- $dto->avgPrice = $model->avg_price;
- $dto->buyOpenPrice = $model->buy_open_price;
- $dto->buyClosePrice = $model->buy_close_price;
- $dto->buyHighPrice = $model->buy_high_price;
- $dto->buyLowPrice = $model->buy_low_price;
- $dto->buyAvgPrice = $model->buy_avg_price;
- $dto->sellOpenPrice = $model->sell_open_price;
- $dto->sellClosePrice = $model->sell_close_price;
- $dto->sellHighPrice = $model->sell_high_price;
- $dto->sellLowPrice = $model->sell_low_price;
- $dto->sellAvgPrice = $model->sell_avg_price;
- $dto->totalVolume = $model->total_volume;
- $dto->totalAmount = $model->total_amount;
- $dto->transactionCount = $model->transaction_count;
- $dto->buyVolume = $model->buy_volume;
- $dto->sellVolume = $model->sell_volume;
- $dto->buyAmount = $model->buy_amount;
- $dto->sellAmount = $model->sell_amount;
- $dto->adminInjectVolume = $model->admin_inject_volume;
- $dto->adminRecycleVolume = $model->admin_recycle_volume;
- $dto->adminInjectAmount = $model->admin_inject_amount;
- $dto->adminRecycleAmount = $model->admin_recycle_amount;
- $dto->priceChange = $model->price_change;
- $dto->priceChangePercent = $model->price_change_percent;
- $dto->volatility = $model->volatility;
- $dto->createdAt = $model->created_at->format('Y-m-d H:i:s');
- $dto->updatedAt = $model->updated_at->format('Y-m-d H:i:s');
- $dto->priceTrendDescription = $model->price_trend_description;
- $dto->volatilityLevel = $model->volatility_level;
-
- return $dto;
- }
- }
|