request->post('id'); $customId = Yii::$app->request->post('customId', 0); if (empty($id)) { util::fail('请选择交易记录'); } //抹零之后的价格 $modifyPrice = Yii::$app->request->post('modifyPrice', 0.00); if (is_numeric($modifyPrice) == false || $modifyPrice <= 0) { util::fail('金额填错了哦'); } $custom = CustomClass::getById($customId, true); CustomClass::valid($custom, $this->shopId); $current = time(); //查找有没结帐订单还没有过期 $list = OrderClearClass::getAllByCondition(['customId' => $customId, 'status' => PurchaseClearClass::STATUS_AWAIT_PAY], null, '*', null, true); if (!empty($list)) { foreach ($list as $item) { $deadline = $item->deadline; $deadTime = strtotime($deadline); if ($current > $deadTime) { $item->status = PurchaseClearClass::STATUS_EXPIRE; $item->save(); } else { util::fail('已生成过结帐单,请2分钟后再试'); } } } $connection = Yii::$app->db; $transaction = $connection->beginTransaction(); $name = $this->shopAdmin['name'] ?? ''; $data = [ 'customId' => $customId, 'ghsShopAdminId' => $this->shopAdminId, 'ghsShopAdminName' => $name, 'modifyPrice' => $modifyPrice, ]; try { OrderClearClass::clear($data, $id, $this->sjId, $this->shopId); $transaction->commit(); } catch (\Exception $exception) { $transaction->rollBack(); Yii::info("批量收款失败:" . $exception->getMessage()); util::fail('操作失败'); } util::complete(); } }