<?php

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use JiGuang\JSMS as JSMS;
use Illuminate\Support\Facades\Redis;
use App\Models\Check;
use App\Models\Product;
use App\Models\UserAddress;
use App\Services\OrderService;
use App\Models\User;

/**
 *
 * Copyright: Copyright (c) 2019
 *
 * @Description: 订单控制器
 * @version: v1.0.0
 * @author: fengyichao
 * @date: 2019年8月14日 下午3:14:34
 *
 * Modification History:
 * Date         Author          Version            Description
 *---------------------------------------------------------*
 * 2019年8月14日     fengyichao           v1.0.0               修改原因
 */
class OrderController extends ApiController {
	public function __construct(OrderService $orderService) {
		$this->orderService = $orderService;
	}
	/**
	 *
	 * @api {post} order/create 订单提交
	 * @apiName order/create
	 * @apiGroup order
	 * @apiParam {int} product_id 商品id
	 * @apiSuccess {int}  id 商品id
	 * @apiSuccess {string}  title 商品短标题
	 * @apiSuccess {string}  long_title 商品长标题
	 * @apiSuccess {string}  description 商品详情
	 * @apiSuccess {string}  price 商品售价
	 * @apiSuccess {string}  image 商品主图
	 * @apiParamExample {curl} Example usage:
	 * http://59.110.137.245:8080/api/product/detail?product_id=1
	 */
	function create(Request $request) {
		$coupon = null;
		$user = User::find ( $request->user_id );
		$address = UserAddress::find ( $request->input ( 'address_id' ) );
		$items = [ 
				[ 
						'sku_id' => 112,
						'amount' => 1,
						'product_id' => 40, 
				]
		];
		$this->orderService->store ( $user, $address, $request->input ( 'remark' ), $items, $coupon );
		return $this->success ();
	}
}
