Пример #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = FundData::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 50]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'date', $this->date])->andFilterWhere(['like', 'fund_num', $this->fund_num])->andFilterWhere(['like', 'iopv', $this->iopv])->andFilterWhere(['like', 'accnav', $this->accnav])->andFilterWhere(['like', 'growth', $this->growth])->andFilterWhere(['like', 'rate', $this->rate]);
     return $dataProvider;
 }
Пример #2
0
 /**
  * 获取每个基金每天的净值数据
  * @param $num
  * @return string
  */
 public function actionPriceDayDetailData($num)
 {
     $posts = FundData::find()->where(['fund_num' => $num])->orderBy(['date' => SORT_ASC])->all();
     $data = [];
     foreach ($posts as $v) {
         $data[] = [strtotime($v['date']) * 1000, floatval($v['accnav'])];
     }
     return json_encode($data);
 }
Пример #3
0
 /**
  * 保存当前基金的每日排行
  * @param $type
  */
 public function saveSort($type)
 {
     $rate_data = ArrayHelper::getColumn(FundData::find()->where(['fund_type' => $type])->select('rate')->distinct()->orderBy(['rate' => SORT_DESC])->asArray()->all(), 'rate');
     $data = FundData::find()->where(['fund_type' => $type])->all();
     foreach ($data as $k => $v) {
         $sort = array_search($v->rate, $rate_data);
         $v->day_sort = $sort + 1;
         $v->save(false);
     }
 }