table_immediate_base.class.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 王刚涛
  5. * Date: 2020/11/24
  6. * Time: 14:51
  7. */
  8. class Table_immediate_base extends Table
  9. {
  10. protected $base = ""; //分表的后缀日期,在进行数据库操作的时候"Table_immediate_".$base
  11. protected $table_name = "immediate_";//表名,不带前缀,前缀在config中定义
  12. protected $table_id = "immediate_id";//指定ID字段名称,必须
  13. protected $table_status = '';//指定状态字段名称,如果有
  14. protected $table_order = '';//指定排序字段名称,如果有
  15. protected $table_fullname = "immediate_";//拼接好后表名 后面拼接日期 immediate_202011
  16. //数据库结构
  17. protected function struct()
  18. {
  19. $attr = array();
  20. $attr['id'] = 'immediate_id';
  21. $attr['date'] = 'immediate_date';
  22. $attr['code'] = 'immediate_code';
  23. $attr['name'] = 'immediate_name';
  24. $attr['open_price'] = 'immediate_open_price';
  25. $attr['close_price'] = 'immediate_close_price';
  26. $attr['highest_price'] = 'immediate_highest_price';
  27. $attr['lowest_price'] = 'immediate_lowest_price';
  28. $attr['increase_price'] = 'immediate_increase_price';
  29. $attr['increase_value'] = 'immediate_increase_value';
  30. $attr['turnover'] = 'immediate_turnover';
  31. $attr['amount'] = 'immediate_amount';
  32. $attr['value'] = 'immediate_value';
  33. $attr['tradable_amount'] = 'immediate_tradable_amount';
  34. $attr['tradable_value'] = 'immediate_tradable_value';
  35. $attr['total_amount'] = 'immediate_total_amount';
  36. $attr['total_value'] = 'immediate_total_value';
  37. $attr['profitable'] = 'immediate_profitable';
  38. $attr['pb'] = 'immediate_pb';
  39. $attr['pe_static'] = 'immediate_pe_static';
  40. $attr['pe_dynamic'] = 'immediate_pe_dynamic';
  41. $attr['pe_ttm'] = 'immediate_pe_ttm';
  42. return $attr;
  43. }
  44. /***
  45. * Table_immediate_base constructor.
  46. * 构造函数,动态获取表的后缀年月
  47. * 王刚涛
  48. */
  49. public function __construct()
  50. {
  51. parent::__construct();
  52. $date=date("Ym",time());
  53. $this->table_name .= $date;//表名不代前缀
  54. $this->table_fullname .= $date;//表名代前缀
  55. $this->createBaseTable();
  56. }
  57. /****
  58. *在构造函数中调用该函数,自动创建表
  59. * 王刚涛
  60. */
  61. public function createBaseTable()
  62. {
  63. global $mypdo;
  64. $sql = " CREATE TABLE IF NOT EXISTS `" . $this->table_fullname . "` LIKE boniu_immediate_base";
  65. $mypdo->pdo->exec($sql);
  66. }
  67. /****
  68. * @param $attr
  69. * @return mixed
  70. * 王刚涛
  71. */
  72. public function add($attr)
  73. {
  74. $param = array(
  75. 'immediate_timestamp ' => array('number', $attr['timestamp']),
  76. 'immediate_date' => array('number', $attr['date']),
  77. 'immediate_code' => array('string', $attr['code']),
  78. 'immediate_name' => array('string', $attr['name']),
  79. 'immediate_open_price' => array('number', $attr['open_price']),
  80. 'immediate_close_price' => array('number', $attr['close_price']),
  81. 'immediate_highest_price' => array('number', $attr['highest_price']),
  82. 'immediate_lowest_price' => array('number', $attr['lowest_price']),
  83. 'immediate_amount' => array('number', $attr['amount']),
  84. 'immediate_value' => array('number', $attr['value']),
  85. 'immediate_increase_price' => array('number', $attr['increase_price']),// 涨跌价
  86. 'immediate_increase_ratio' => array('number', $attr['increase_ratio']),// 涨跌幅
  87. 'immediate_turnover' => array('number', $attr['turnover']),// 换手率
  88. 'immediate_pe_ttm' => array('number', $attr['pe_ttm']),
  89. 'immediate_tradable_value' => array('number', $attr['tradable_value']),
  90. 'immediate_total_value' => array('number', $attr['total_value']),
  91. 'immediate_pb' => array('number', $attr['pb']),
  92. 'immediate_pe_dynamic' => array('number', $attr['pe_dynamic']),
  93. 'immediate_pe_static' => array('number', $attr['pe_static']),
  94. );
  95. return $this->pdo->sqlinsert($this->table_fullname, $param);
  96. }
  97. // /****
  98. // * @param $attr
  99. // * @return mixed
  100. // *
  101. // */
  102. // public function insert($attr)
  103. // {
  104. // $param = array(
  105. // 'immediate_date' => array('number', strtotime($attr['date'])),
  106. // 'immediate_code' => array('number', $attr['code']),
  107. // 'immediate_name' => array('string', $attr['name']),
  108. // 'immediate_open_price' => array('number', $attr['open_price']),
  109. // 'immediate_highest_price' => array('number', $attr['highest_price']),
  110. // 'immediate_lowest_price' => array('number', $attr['lowest_price']),
  111. // 'immediate_value' => array('number', $attr['value']),
  112. // 'immediate_amount' => array('number', $attr['amount']),
  113. // 'immediate_close_price' => array('number', $attr['close_price']),
  114. // 'immediate_close_price_qfq' => array('number', $attr['close_price_qfq']),
  115. // 'immediate_increase_price' => array('number', $attr['increase_price']),
  116. // 'immediate_increase_value' => array('number', $attr['increase_value']),
  117. // 'immediate_turnover' => array('number', $attr['turnover']),
  118. //
  119. // );
  120. // $msg = $this->pdo->sqlinsert($this->table_fullname, $param);
  121. // return $msg;
  122. // }
  123. }
  124. ?>