<?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 Dingo\Api\Http\Response;
use Validator;
use DB;
use App\Models\User;
use App\Services\SystemService;

class UserController extends ApiController {
	// 利用 Laravel 的自动解析功能注入 CartService 类
	public function __construct(SystemService $systemService) {
		$this->systemService = $systemService;
	}
	/**
	 *
	 * @api {post} user/fastLogin 手机号快捷登录
	 * @apiName user/fastLogin
	 * @apiGroup user
	 * @apiParam {int} mobile 手机号
	 * @apiParam {int} code 验证码
	 * @apiSuccess  {string} token 你懂的
	 * @apiParamExample {curl} Example usage:
	 * http://59.110.137.245:8080/api/user/fastLogin?mobile=13810456667&code=1234
	 */
	function fastLogin(Request $request) {
		$rules = [ 
				'mobile' => [ 
						'required'
				],
				'code' => [ 
						'required'
				]
		];
		$validator = app ( 'validator' )->make ( $request->all (), $rules );
		if ($validator->fails ()) {
			return $this->throwErrors ( $validator );
		}
		$user = User::where ( 'mobile', $request->mobile )->first ();
		if (! $user)
			return $this->error ( 90002, '用户不存在' );
		// 验证验证码
// 		if(!$this->systemService->checkMobileCode ( $request->mobile, $request->code ))
// 			return $this->error ( 90003, '验证码错误' );
		
		$token = md5 ( $user->id );
		Redis::set ( 'UToken-' . $token, $user->id );
		$resultData ['token'] = $token;

		return $this->success ( $resultData );
	}
}
