LotteryUserChanceRecord.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace app\common\model\lottery;
  3. use think\Model;
  4. use app\common\Enum\LotteryEnum;
  5. /**
  6. * 用户抽奖机会获取记录模型
  7. */
  8. class LotteryUserChanceRecord extends Model
  9. {
  10. protected $table = 'shop_lottery_user_chance_record';
  11. protected $autoWriteTimestamp = true;
  12. protected $createTime = 'createtime';
  13. protected $updateTime = 'updatetime';
  14. protected $deleteTime = false;
  15. // 定义字段类型
  16. protected $type = [
  17. 'get_time' => 'integer',
  18. 'createtime' => 'integer',
  19. 'updatetime' => 'integer',
  20. 'condition_value' => 'float',
  21. 'recharge_amount' => 'float',
  22. ];
  23. /**
  24. * 关联活动
  25. */
  26. public function activity()
  27. {
  28. return $this->belongsTo(LotteryActivity::class, 'activity_id', 'id');
  29. }
  30. /**
  31. * 关联用户
  32. */
  33. public function user()
  34. {
  35. return $this->belongsTo('app\common\model\User', 'user_id', 'id');
  36. }
  37. /**
  38. * 关联条件
  39. */
  40. public function condition()
  41. {
  42. return $this->belongsTo(LotteryCondition::class, 'condition_id', 'id');
  43. }
  44. /**
  45. * 关联订单
  46. */
  47. public function order()
  48. {
  49. return $this->belongsTo('app\common\model\Order', 'order_id', 'id');
  50. }
  51. /**
  52. * 关联管理员
  53. */
  54. public function admin()
  55. {
  56. return $this->belongsTo('app\admin\model\Admin', 'admin_id', 'id');
  57. }
  58. /**
  59. * 获取器 - 获取类型文本
  60. */
  61. public function getGetTypeTextAttr($value, $data)
  62. {
  63. return LotteryEnum::getChanceGetTypeText($data['get_type']);
  64. }
  65. /**
  66. * 获取器 - 获取时间格式化
  67. */
  68. public function getGetTimeTextAttr($value, $data)
  69. {
  70. return $data['get_time'] ? date('Y-m-d H:i:s', $data['get_time']) : '';
  71. }
  72. /**
  73. * 获取器 - 创建时间格式化
  74. */
  75. public function getCreatetimeTextAttr($value, $data)
  76. {
  77. return $data['createtime'] ? date('Y-m-d H:i:s', $data['createtime']) : '';
  78. }
  79. /**
  80. * 修改器 - 设置获取时间
  81. */
  82. public function setGetTimeAttr($value)
  83. {
  84. return $value ? strtotime($value) : time();
  85. }
  86. }