<?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\Category;

/**
 *
 * Copyright: Copyright (c) 2019 LanRu-Caifu
 *
 * @Description: 检测控制器
 * @version: v1.0.0
 * @author: fengyichao
 * @date: 2019年8月2日 下午3:42:34
 *
 * Modification History:
 * Date         Author          Version            Description
 *---------------------------------------------------------*
 * 2019年8月2日     fengyichao           v1.0.0               修改原因
 */
class CheckController extends ApiController {

	/**
	 *
	 * @api {post} check/create 检测接口-上传用户试纸图片
	 * @apiName check/create
	 * @apiGroup check
	 * @apiParam {int} product_id(非必填) 试纸产品id
	 * @apiParam {int} category_id 症状id 
	 * @apiParam {string} img_url 阿里云图片地址 
	 * @apiParamExample {curl} Example usage:
	 * http://59.110.137.245:8080/api/check/create?token=c81e728d9d4c2f636f067f89cc14862c&product_id=1&category_id=28&img_url=xxx
	 * @apiPermission token 必传
	 */
	function create(Request $request) {
		$rules = [ 
				'product_id' => [ 
						'required'
				],
				'category_id' => [ 
						'required'
				],
				'img_url' => [ 
						'required'
				]
		];
		$validator = app ( 'validator' )->make ( $request->all (), $rules );
		if ($validator->fails ()) {
			return $this->throwErrors ( $validator );
		}
		$data=$request->all();
		$data['category_name']=Category::find($request->category_id)->name;
		$data['category_img_url']=Category::find($request->category_id)->img_url;
		$data['user_id']=$request->user_id;
		Check::create($data);
		return $this->success ();
	}
	/**
	 *
	 * @api {post} check/list 检测结果
	 * @apiName check/list
	 * @apiGroup check
	 * @apiParam {int} page 页码
	 * @apiSuccess {List[Map]}  data 商品分页数据
	 * @apiSuccess (data) {int}  category_id 疾病分类id
	 * @apiSuccess (data) {String}  category_name 疾病分类名称
	 * @apiSuccess (data) {String}  category_img_url 疾病分类标识图
	 * @apiSuccess (data) {String}  result 医生建议
	 * @apiSuccess (data) {int}  status 0:检测中 1:已完成
	 * @apiParamExample {curl} Example usage:
	 * http://59.110.137.245:8080/api/check/list?token=c81e728d9d4c2f636f067f89cc14862c&page=1
	 * @apiPermission token 必传
	 */
	function list(Request $request){
		$page = $request->input ( 'page', 1 );
		$condition=['user_id'=>$request->user_id];
		$result = Check::where($condition)->paginate ( 15, [
				'category_id','category_name','category_img_url','result','status','created_at'
		], 'page', $page );
		$resData = $result;
		return $this->success ( $resData );
	}
}
