order_id; //判断团长下单的人 $pt_order = PtActivityOrder::find()->alias('o') ->where(['o.is_pay' => 1, 'is_pt_finish' => 0, 'o.pt_number' => 0, 'o.id' => $order_id]) ->leftJoin(['od' => PtActivityOrderDetail::tableName()], 'o.id = od.order_id') ->select('o.id, od.activity_id, o.pay_time')->asArray()->one(); if ($pt_order) { $activity = PtActivity::findOne($pt_order['activity_id']); // $split_time = ($activity->split_time * 60 * 60); //已经过期,需要失败处理 // if ((time() - $split_time > $pt_order['pay_time']) || $activity->end_time < time()) { $pt_order_ = PtActivityOrder::find()->where(['is_pay' => 1]) ->andWhere(['OR', ['id' => $pt_order['id']], ['pt_number' => $pt_order['id']]]) ->select('id')->asArray()->all(); foreach ($pt_order_ as $item) { $order = PtActivityOrder::findOne($item['id']); if ($order->head_integral > 0 && intval($order->head_integral_status) === 1) { $res = AccountLog::saveLog($order->user_id, floatval($order->head_integral), AccountLog::TYPE_INTEGRAL, AccountLog::LOG_TYPE_INCOME, 3, $order->id, "商城拼团失败,退还开团支付积分,订单号为:{$order->order_no}。"); if (!$res) { debug_log('开团积分退款失败' . json_encode($res), 'cancel_pt.log'); } $order->head_integral_status = 2; } $order->is_pt_finish = 2; $order->save(); } $form = new PtActivityOrderForm(); $result = $form->loserHandle($pt_order['id']); if ($result['code'] !== 0) { throw new \Exception($result['msg']); } // } } } catch (\Exception $e) { debug_log([ 'code' => $e->getCode(), 'message' => $e->getMessage() ], 'cancel_pt.log'); // return [ // 'code' => 1, // 'msg' => $e->getMessage() // ]; } } }