78 lines
1.9 KiB
PHP
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)
|
|
);
|
|
}
|
|
} |