api/app/controller/Evaluation.php
2019-06-20 20:29:13 +08:00

78 lines
1.9 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: yancheng<cheng@love.xiaoyan.me>
* Date: 2019/6/19
* Time: 5:02 PM
*/
namespace app\controller;
use app\BaseController;
use app\common\ApiController;
use app\model\EvaluationHistory;
use app\service\EvaluationService;
use app\util\ErrorCode;
use app\util\ErrorResponse;
use app\util\SuccessResponse;
use think\facade\Config;
use think\facade\Request;
class Evaluation extends ApiController
{
protected $middleware = [
'\app\middleware\AdminApiCheck' => ['only' => ['login']],
'\app\middleware\ApiCheck' => ['except' => ['search']],
];
/**
* 用户创建评估记录
* @return \think\Response
*/
public function create()
{
$data = $this->request->post(array_keys($_POST));
if (empty($data)) {
return ErrorResponse::createError(
ErrorCode::ERROR_PARAM_REQUIRED, '评估数据缺失'
);
}
$evaluation = EvaluationHistory::create(array_merge([
'uid' => $this->getCurrentUserInfo()->id
], $data));
if ($evaluation->id > 0) {
return SuccessResponse::create();
}
return ErrorResponse::createError(
ErrorCode::EVALUATION_SAVE_FAIL, '保存评估数据失败'
);
}
/**
* 获取用户评估的所有项目
* @return \think\response\Json
*/
public function subjects()
{
$subjects = Config::get('app.evaluation.subject');
return json([
$subjects['headache'],
$subjects['gastrointestinal'],
$subjects['tired'],
$subjects['dizzy']
]);
}
private function queryByUid($uid)
{
return EvaluationService::findByUser($uid);
}
public function all()
{
return SuccessResponse::create(
$this->queryByUid($this->getCurrentUserInfo()->id)
);
}
}