MexOrder.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Module\Mex\Models;
  3. use App\Module\Mex\Enums\OrderStatus;
  4. use App\Module\Mex\Enums\OrderType;
  5. use App\Module\Fund\Enums\FUND_CURRENCY_TYPE;
  6. use UCore\ModelCore;
  7. /**
  8. * 农贸市场订单模型
  9. * field start
  10. * @property int $id 订单ID,主键
  11. * @property int $user_id 用户ID
  12. * @property int $item_id 商品ID,关联物品表
  13. * @property \App\Module\Fund\Enums\FUND_CURRENCY_TYPE $currency_type 币种类型,关联FUND_CURRENCY_TYPE枚举,默认2为钻石
  14. * @property \App\Module\Mex\Enums\OrderType $order_type 订单类型:BUY买入,SELL卖出
  15. * @property int $quantity 订单数量
  16. * @property float $price 订单价格,支持5位小数
  17. * @property float $total_amount 订单总金额
  18. * @property \App\Module\Mex\Enums\OrderStatus $status 订单状态:PENDING等待,COMPLETED完成,CANCELLED取消,FAILED失败
  19. * @property float $frozen_amount 冻结金额(买单使用)
  20. * @property int $completed_quantity 已成交数量
  21. * @property float $completed_amount 已成交金额
  22. * @property \Carbon\Carbon $created_at 创建时间
  23. * @property \Carbon\Carbon $updated_at 更新时间
  24. * @property \Carbon\Carbon $completed_at 完成时间
  25. * @property string $failed_reason 失败原因
  26. * field end
  27. */
  28. class MexOrder extends ModelCore
  29. {
  30. protected $table = 'mex_orders';
  31. // attrlist start
  32. protected $fillable = [
  33. 'id',
  34. 'user_id',
  35. 'item_id',
  36. 'currency_type',
  37. 'order_type',
  38. 'quantity',
  39. 'price',
  40. 'total_amount',
  41. 'status',
  42. 'frozen_amount',
  43. 'completed_quantity',
  44. 'completed_amount',
  45. 'completed_at',
  46. 'failed_reason',
  47. ];
  48. // attrlist end
  49. protected $casts = [
  50. 'user_id' => 'integer',
  51. 'item_id' => 'integer',
  52. 'currency_type' => FUND_CURRENCY_TYPE::class,
  53. 'order_type' => OrderType::class,
  54. 'quantity' => 'integer',
  55. 'price' => 'decimal:5',
  56. 'total_amount' => 'decimal:5',
  57. 'status' => OrderStatus::class,
  58. 'frozen_amount' => 'decimal:5',
  59. 'completed_quantity' => 'integer',
  60. 'completed_amount' => 'decimal:5',
  61. 'completed_at' => 'datetime',
  62. ];
  63. }