<?php namespace App\Http\Controllers\Api; use App\Http\ApiHelper\ApiCode; use App\Http\Requests\UserRegister; use App\Http\Services\CartService; use App\Http\Services\InquiryService; use App\Http\Services\OrderService; use App\Models\User; use Facade\Ignition\Support\Packagist\Package; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Foundation\Auth\ThrottlesLogins; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Validator; //订单控制器 class OrderApiController extends Controller { //生成订单 public function addOrder(Request $request) { $validator = Validator::make($request->all(), [ 'billing_address_id' => 'required|string', 'shipping_address_id' => 'required|string', 'items' => 'required|string', ], [ 'items.min' => 'items must be at least 1 characters long.' ]); if ($validator->fails()) { return $this->setError($validator->errors()->first()); } $data = $request->only([ 'items', 'billing_address_id', 'shipping_address_id', ]); $order_id = OrderService::addOrder($data, $request->user->id); return !$order_id ? $this->setError('Add order failed , please contact administrator'):$this->setSuccessData($order_id,0,ApiCode::API_CODE_SUCCESS,'Add order success'); } //订单列表 public function orderLists(Request $request){ $result = OrderService::orderLists($request->user->id,$request->input()); return $this->setSuccessData($result); } //取消订单 public function cancelOrder(Request $request){ $result = OrderService::cancelOrder($request->user->id,$request->input("order_id")); return $result[0] > 0 ? $this->setError($result[1],$result[0]):$this->setSuccessData($result[1]); } //订单详情 public function orderDetail(Request $request){ $result = OrderService::orderDetail($request->user->id,$request->input("order_id")); return $this->setSuccessData($result); } //单个订单售后列表 public function orderServiceDetail(Request $request){ $result = OrderService::orderServiceDetail($request->user->id,$request->input("order_id")); return $this->setSuccessData($result); } }