/** * @brief 确认批量付款成功 * * @return public function * @retval * @see * @note * @author 吕宝贵 * @date 2016/01/05 15:35:21 **/ public function actionConfirmBatchPay() { $batchProcessNo = Yii::$app->request->post('process_batch_no'); if (empty($batchProcessNo)) { //添加处理逻辑或者页面 return false; } $payBatch = PayableProcessBatch::findOne($batchProcessNo); if (empty($payBatch)) { //添加处理逻辑或者页面 return false; } $transaction = Yii::$app->db->beginTransaction(); $payeds = Payable::find()->where(['process_batch_no' => $payBatch->id])->all(); foreach ($payeds as $payable) { $userAccount = Yii::$app->account->getUserAccount($payable->uid); $callbackFunc = [UserWithdraw::className(), 'processFinishPayNotify']; if (!Yii::$app->account->processWithdrawPaySuccess($payable->id, $callbackFunc)) { //将错误处理的信息记录下来 $transaction->rollback(); return false; } $payable->status = Payable::PAY_STATUS_FINISHED; if (!$payable->save()) { $transaction->rollback(); //错误处理 return false; } } $payBatch->status = PayableProcessBatch::BATCH_PAY_STATUS_FINISHED; $payBatch->pay_time = time(); if ($payBatch->save()) { $transaction->commit(); //转换成页面显示错误 return true; } else { $transaction->rollback(); return false; } }