public function actionView() { $id = wanhunet::$app->request->post('id'); /** @var Member $member */ $memberCow = Member::$SELECT_ROW; $member = Member::find()->where(['id' => $id])->select($memberCow)->asArray()->one(); $parentMember = Member::find()->select($memberCow)->where(['invitation' => $member['parent_id']])->asArray()->one(); $asset = Asset::find()->where(['user_id' => $id])->select(['experience_money_max', 'experience_money_max_inc', 'money', 'bank_card'])->asArray()->one(); if (!empty($asset['bank_card'])) { $bankCards = empty($asset['bank_card']) ? [] : json_decode($asset['bank_card']); foreach ($bankCards as $bankCard) { $bankCard = unserialize($bankCard); if ($bankCard instanceof BankCard) { /* @var \modules\asset\models\BankCard $bankcard */ $asset['bank_card'] = ['cardId' => $bankCard->cardId, 'backName' => $bankCard->bankName, 'cardUserName' => $bankCard->cardUserName, 'cardPhone' => $bankCard->cardPhone]; } } } $asset['experience_money'] = AssetMoney::getExperienceMoney($id); /** @var MemberOther[] $memberOther */ $memberOther = MemberOther::find()->where(['user_id' => $id])->all(); foreach ($memberOther as $info) { if ($info->table == MemberOther::TABLE_JIUXIN) { $info->table = '玖信贷'; } elseif ($info->table == MemberOther::TABLE_WECHAT) { $info->table = '微信账号'; } } $friends = Member::findOne($id)->findFriends(); return ['member' => $member, 'parent' => $parentMember, 'asset' => $asset, 'MemberOther' => $memberOther, 'friends' => $friends]; }
public function actionReturnRateMonth() { $id = wanhunet::$app->request->post('id'); /** @var InvestMonth[] $investMonths */ $investMonths = InvestMonth::find()->joinWith(['investList' => function ($query) { /** @var \yii\db\ActiveQuery $query */ $query->joinWith(['member' => function ($query) { /** @var \yii\db\ActiveQuery $query */ $query->select(Member::$SELECT_ROW); }, 'invest']); }])->orderBy('id desc')->where(['m_status' => InvestMonth::STATUS_ACTIVE])->andWhere([InvestMonth::tableName() . '.id' => $id])->andWhere(['<=', 'm_time', time()])->asArray()->all(); $members = []; $assetMoneys = []; $ims = []; $investOver = []; foreach ($investMonths as $investMonth) { $memberId = $investMonth['investList']['member']['id']; if (isset($members[$memberId])) { $memberAsset =& $members[$memberId]; } else { $asset = $asset = Asset::find()->where(['user_id' => $memberId])->asArray()->one(); $members[$memberId] = $asset['money']; $memberAsset =& $members[$memberId]; } if (InvestMonth::find()->where(['invest_list_id' => $investMonth['invest_list_id'], 'm_status' => InvestMonth::STATUS_ACTIVE])->count() == 1) { $investOver[] = $investMonth['investList']['id']; $step = $investMonth['investList']['investment_sum'] + $investMonth['m_step']; } else { $step = $investMonth['m_step']; } $memberAsset += $step; $assetMoneys[] = [$memberId, $step, AssetMoney::STATUS_INC, AssetMoney::TYPE_MONEY, wanhunet::$app->controller->getRoute(), $memberId, json_encode([mb_substr($investMonth['investList']['invest']['title'], 0, 5, 'utf-8') . '第' . $investMonth['m_date'] . '个月的返息']), time(), time()]; $ims[$investMonth['id']] = ['m_status' => InvestMonth::STATUS_DELETED]; } $batchInsertRows = ['user_id', 'step', 'status', 'type', 'action', 'action_uid', 'llinfo', 'created_at', 'updated_at']; $connection = wanhunet::$app->db; foreach ($members as $user_id => $amemberAsset) { $connection->createCommand()->update(Asset::tableName(), ['money' => $amemberAsset], ['user_id' => $user_id])->execute(); } foreach ($ims as $im_id => $im) { $connection->createCommand()->update(InvestMonth::tableName(), $im, ['id' => $im_id])->execute(); } foreach ($investOver as $in) { $connection->createCommand()->update(InvestList::tableName(), ['status' => InvestList::STATUS_ORDER_TRIAL], ['id' => $in])->execute(); } if (count($assetMoneys) > 0) { $connection->createCommand()->batchInsert(AssetMoney::tableName(), $batchInsertRows, $assetMoneys)->execute(); } }
public function finishPay(Event $event) { /** @var \wanhunet\components\PayEvent $event */ $data = $event->rs; $notifyResp = $data['notifyResp']; Debug::add($notifyResp); $this->status = self::STATUS_INC; $this->save(); /** @var Asset $asset */ $asset = Asset::find()->where(['user_id' => $this->user_id])->one(); if ($asset !== null) { $asset->money = $this->step + $asset->money; $asset->saveMoney(); } $event->rs['user_id'] = $this->user_id; $this->trigger(self::EVENT_FINISH_PAY, $event); }