/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = SiteSinaBalance::find()->orderBy('user_earnings asc,id desc'); $dataProvider = new ActiveDataProvider(['query' => $query]); $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, 'uid' => $this->uid, 'site_balance' => $this->site_balance, 'sina_available_balance' => $this->sina_available_balance, 'user_earnings' => $this->user_earnings, 'sina_balance' => $this->sina_balance, 'sina_bonus_day' => $this->sina_bonus_day, 'sina_bonus_month' => $this->sina_bonus_month, 'sina_bonus_sum' => $this->sina_bonus_sum, 'status' => $this->status, 'create_at' => $this->create_at, 'update_at' => $this->update_at]); $query->andFilterWhere(['like', 'identity_id', $this->identity_id])->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'user_name', $this->user_name])->andFilterWhere(['like', 'bank_card', $this->bank_card])->andFilterWhere(['like', 'sina_bonus', $this->sina_bonus])->andFilterWhere(['like', 'create_time', $this->create_time])->andFilterWhere(['like', 'msg', $this->msg]); return $dataProvider; }
/** * 跟新最近一段时间的数据 * @param string $time */ public static function get_deal($time = '1') { $deal_time = ''; //获取数据库最后更新时间 $site_sina = SiteSinaBalance::find()->where(['status' => SiteSinaBalance::STATUS_SUS])->orderBy('id desc')->asArray()->one(); //提前的时间 $site_sina_last = time() - $time * 3600; if ($site_sina) { $site_sina_last = $site_sina['create_at'] - $time * 3600; } $info_log = Log::find()->select(['member_id', 'bankcard'])->where(['>', 'create_at', $site_sina_last])->andWhere(['>', 'status', '0'])->asArray()->distinct('member_id')->all(); if ($info_log) { //在更新之后有新的操作记录 foreach ($info_log as $key => $value) { $balance = self::querySinaBalance($value['member_id']); if (!$balance['errorNum']) { $customer = Info::find()->where(['member_id' => $value['member_id']])->asArray()->one(); $site_sina = new SiteSinaBalance(); $site_sina->uid = $value['member_id']; $sina_member = SinaMember::find()->select(['uid', 'identity_id', 'name', 'phone'])->where(['status' => SinaMember::STATUS_BINGING, 'uid' => $value['member_id']])->asArray()->one(); $site_sina->identity_id = $sina_member['identity_id']; $site_sina->phone = $sina_member['phone']; $site_sina->user_name = $sina_member['name']; $site_sina->bank_card = $customer['bank_card']; $site_sina->site_balance = $customer['balance']; $site_sina->sina_balance = $balance['data']['balance']; $site_sina->sina_available_balance = $balance['data']['available_balance']; $site_sina->user_earnings = $balance['data']['available_balance'] - $customer['balance']; $site_sina->sina_bonus = $balance['data']['bonus']; $site_sina->sina_bonus_day = $balance['data']['day']; $site_sina->sina_bonus_month = $balance['data']['month']; $site_sina->sina_bonus_sum = $balance['data']['sum']; $site_sina->create_time = date('Y-m-d:H-i-s'); $site_sina->status = SiteSinaBalance::STATUS_SUS; $site_sina->msg = 'success'; $site_sina->save(); } else { $sina_member = SinaMember::find()->select(['uid', 'identity_id', 'name', 'phone'])->where(['status' => SinaMember::STATUS_BINGING, 'uid' => $value['member_id']])->asArray()->one(); $site_sina = new SiteSinaBalance(); $site_sina->uid = $sina_member['uid']; $site_sina->identity_id = $sina_member['identity_id']; $site_sina->phone = $sina_member['phone']; $site_sina->user_name = $sina_member['name']; $site_sina->status = SiteSinaBalance::STATUS_ERR; $site_sina->msg = $balance['errorMsg']; $site_sina->save(); continue; } } } }