You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\Http\Controllers\Api;use App\Http\Controllers\Controller;use App\Models\Order;use App\Models\User;use App\Common\OrderStatus;
class VerificationController extends Controller{ //核销订单
public function verify() { $input_verify_code = request()->input('verify_code'); //订单ID
$code_arr = explode('-', $input_verify_code); if (count($code_arr) != 2) { $this->error('参数错误'); } list($id, $verify_code) = $code_arr;
$order = Order::with('agentProduct:id,verifier') ->where(['agent_id' => $this->agent_id, 'verify_code' => $verify_code]) ->whereIn('status', [OrderStatus::PAID, OrderStatus::PAID_RETAINAGE, OrderStatus::OFFLINE_PAID]) ->find($id); if (!$order) { return $this->error('订单不存在或订单状态不允许核销'); }
$user = User::firstWhere(['id' => $this->user_id, 'status' => 1]); if (!$user || $user->is_verify !=1 || $user->id != $order->agentProduct->verifier) { return $this->error('对不起,你没有核销权限,请联系管理员'); }
$order->status = OrderStatus::SUCCESS; $order->save();
return $this->success(); }}
|