176 lines
10 KiB
PHP
176 lines
10 KiB
PHP
<?php
|
||
|
||
namespace app\modules\api\controllers;
|
||
|
||
use yii\filters\Cors;
|
||
use function AlibabaCloud\Client\value;
|
||
use app\models\Banner;
|
||
use app\models\Store;
|
||
use app\modules\api\behaviors\LoginBehavior;
|
||
use app\modules\api\models\DeviceUniqueDataForm;
|
||
use app\modules\api\models\StoreForm;
|
||
use Yii;
|
||
use yii\web\NotFoundHttpException;
|
||
use yii\filters\VerbFilter;
|
||
|
||
/**
|
||
*数据中心
|
||
*/
|
||
class CenterController extends Controller
|
||
{
|
||
public function behaviors()
|
||
{
|
||
return array_merge(parent::behaviors(), [
|
||
'login' => [
|
||
'class' => LoginBehavior::className(),
|
||
'ignore' => [
|
||
]
|
||
],
|
||
]);
|
||
}
|
||
|
||
/**
|
||
* 数据中心-最新数据/平均数据
|
||
*/
|
||
public function actionLatestData()
|
||
{
|
||
$form = new DeviceUniqueDataForm();
|
||
$form->attributes = Yii::$app->request->get();
|
||
$request = Yii::$app->request;
|
||
$get = $request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->uniqueIndex();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* 数据中心-历史数据
|
||
*/
|
||
public function actionHistorical()
|
||
{
|
||
$form = new DeviceUniqueDataForm();
|
||
$request = Yii::$app->request;
|
||
$get = $request->get();
|
||
$form->attributes = Yii::$app->request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->historicalData();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* 数据中心-历史数据-详情
|
||
*/
|
||
public function actionHistoricalOne()
|
||
{
|
||
$form = new DeviceUniqueDataForm();
|
||
$form->attributes = Yii::$app->request->get();
|
||
$request = Yii::$app->request;
|
||
$get = $request->get();
|
||
$id = $get['bind_id'];
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->historicalDataOne($id);
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* 数据中心-数据配置显示
|
||
* @return array
|
||
*/
|
||
public function actionDeviceConfigList()
|
||
{
|
||
$form = new DeviceUniqueDataForm();
|
||
$request = Yii::$app->request;
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->deviceConfigList();
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
|
||
/**
|
||
* 数据中心-数据配置
|
||
* @return array
|
||
*/
|
||
public function actionDeviceConfig()
|
||
{
|
||
$form = new DeviceUniqueDataForm();
|
||
$request = Yii::$app->request;
|
||
$post = $request->post('data');
|
||
$id = $request->post('id');
|
||
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$data = $form->deviceConfig($post,$id);
|
||
return $this->responseHandler($data);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 数据中心
|
||
* @title 获取数据统计
|
||
* @description 本接口提供数据中心数据统计接口
|
||
* @method get
|
||
* @url /api/center/get-count-list
|
||
* @return {"code":0,"msg":"","data":{"field":[{"title":"Club Speed","id":"1"},{"title":"Angle of Attack","id":"2"},{"title":"Club Path","id":"3"},{"title":"Dynamic Loft","id":"4"},{"title":"Face To Target","id":"5"},{"title":"Face To Path","id":"6"},{"title":"Efficiency","id":"7"},{"title":"Lie Angle","id":"8"},{"title":"Horizontal Impact","id":"9"},{"title":"Vertical Impact","id":"10"},{"title":"Closure Rate","id":"11"},{"title":"F-Axis","id":"12"},{"title":"Ball Speed","id":"13"},{"title":"Launch Angle","id":"14"},{"title":"Launch Direction","id":"15"},{"title":"Spin Rate","id":"16"},{"title":"Spin Axis Tilt","id":"17"},{"title":"Back Spin","id":"18"},{"title":"Side Spin","id":"19"},{"title":"Carry","id":"20"},{"title":"Total","id":"21"},{"title":"Offline","id":"22"},{"title":"Total Offline","id":"23"},{"title":"Curve","id":"24"},{"title":"Peak Height","id":"25"},{"title":"Descent Angle","id":"26"},{"title":"Distance To Target","id":"27"},{"title":"Dispersion","id":"28"},{"title":"Range","id":"29"},{"title":"Spray","id":"30"},{"title":"Accuracy","id":"31"},{"title":"Range Cons.","id":"32"},{"title":"Spray Cons.","id":"33"},{"title":"Impact Point Cons.","id":"34"}],"avg_data":{"1":["77.27"],"2":["-7.66"],"3":["0.21"],"4":["27.17"],"5":["0.44"],"6":["0.21"],"7":["1.26"],"8":["5.07"],"9":["-3.5"],"10":["-10.3"],"11":["2110.6"],"12":["0.17"],"13":["97.34"],"14":["19.02"],"15":["0.27"],"16":["6052.3"],"17":["1.94"],"18":["6038.5"],"19":["223.6"],"20":["129.22"],"21":["137.81"],"22":["2.4"],"23":["2.7"],"24":["1.9"],"25":["63.56"],"26":["41.46"],"27":["0"],"28":["9325.5"],"29":["119.5"],"30":["40"],"31":["829.1"],"32":["31.8"],"33":["8.3"],"34":["233.9"]},"info_data":{"start_time":"2022-07-11 18:27:03","end_time":"1970-01-01 08:00:00"},"table_data":{"1":[["74.2"],["77.5"],["79.0"],["76.0"],["77.4"],["77.6"],["77.8"],["77.8"],["77.6"],["77.8"]],"2":[["-7.6"],["-8.0"],["-4.9"],["-7.2"],["-10.2"],["-6.2"],["-6.9"],["-7.2"],["-9.4"],["-9.0"]],"3":[["-0.7"],["+1.3"],["+3.3"],["-0.7"],["-1.8"],["+0.2"],["+0.2"],["+1.3"],["+0.2"],["-1.2"]],"4":[["28.3"],["28.4"],["27.4"],["27.7"],["24.2"],["27.7"],["26.1"],["29.5"],["24.1"],["28.3"]],"5":[["+2.7"],["+2.6"],["+1.4"],["-1.3"],["-0.7"],["+0.4"],["-1.4"],["+0.9"],["-2.5"],["+2.3"]],"6":[["+3.3"],["+1.3"],["-1.9"],["-0.6"],["+1.1"],["+0.2"],["-1.6"],["-0.4"],["-2.8"],["+3.5"]],"7":[["1.25"],["1.26"],["1.26"],["1.30"],["1.31"],["1.25"],["1.28"],["1.21"],["1.24"],["1.24"]],"8":[["+4.5"],["+6.3"],["+7.2"],["+5.0"],["+3.1"],["+3.7"],["+5.3"],["+5.9"],["+4.2"],["+5.5"]],"9":[["+7"],["+5"],["-12"],["+3"],["+2"],["+14"],["-9"],["-12"],["-17"],["-16"]],"10":[["-3"],["-10"],["-14"],["-8"],["-9"],["-2"],["-12"],["-20"],["-14"],["-11"]],"11":[["1910"],["1994"],["1890"],["2096"],["3432"],["1888"],["1714"],["2108"],["2059"],["2015"]],"12":[["+5.0"],["+1.6"],["-3.7"],["-0.8"],["+1.9"],["+0.3"],["-2.5"],["-0.8"],["-4.4"],["+5.1"]],"13":[["93.0"],["97.5"],["99.5"],["98.7"],["101.6"],["97.0"],["99.6"],["94.0"],["96.3"],["96.2"]],"14":[["20.6"],["19.9"],["19.7"],["19.9"],["16.9"],["20.3"],["19.1"],["18.2"],["16.0"],["19.6"]],"15":[["+1.1"],["+2.3"],["+0.4"],["-1.2"],["+2.4"],["+0.1"],["-1.7"],["+0.5"],["-1.7"],["+0.5"]],"16":[["5669"],["6680"],["5974"],["6010"],["6559"],["5160"],["5869"],["6344"],["5644"],["6614"]],"17":[["+3.6"],["+2.8"],["-1.9"],["0.0"],["+6.5"],["-1.8"],["-1.5"],["+5.4"],["-0.1"],["+6.4"]],"18":[["5658"],["6672"],["5971"],["6010"],["6517"],["5157"],["5867"],["6316"],["5644"],["6573"]],"19":[["+356"],["+326"],["-198"],["0"],["+742"],["-162"],["-153"],["+597"],["-9"],["+737"]],"20":[["122.5"],["128.9"],["133.8"],["132.4"],["135.0"],["131.4"],["134.2"],["122.0"],["125.8"],["126.2"]],"21":[["134.4"],["139.8"],["145.6"],["139.4"],["142.0"],["139.3"],["141.4"],["129.2"],["134.1"],["132.9"]],"22":[["+5"],["+8"],["-1"],["-3"],["+12"],["-1"],["-5"],["+6"],["-4"],["+7"]],"23":[["+6"],["+9"],["-1"],["-3"],["+14"],["-2"],["-6"],["+6"],["-4"],["+8"]],"24":[["+3"],["+3"],["-2"],["0"],["+7"],["-2"],["-1"],["+5"],["0"],["+6"]],"25":[["61.7"],["68.1"],["69.8"],["69.4"],["62.5"],["66.8"],["67.5"],["55.5"],["50.3"],["64.0"]],"26":[["41.5"],["43.5"],["43.0"],["43.0"],["41.3"],["41.9"],["42.2"],["39.5"],["36.3"],["42.4"]],"27":[["-"],["-"],["-"],["-"],["-"],["-"],["-"],["-"],["-"],["-"]],"28":[["9325.5"],["9325.5"],["9325.5"],["9325.5"],["9325.5"],["9325.5"],["9325.5"],["9325.5"],["9325.5"],["9325.5"]],"29":[["119.5"],["119.5"],["119.5"],["119.5"],["119.5"],["119.5"],["119.5"],["119.5"],["119.5"],["119.5"]],"30":[["40.0"],["40.0"],["40.0"],["40.0"],["40.0"],["40.0"],["40.0"],["40.0"],["40.0"],["40.0"]],"31":[["829.1"],["829.1"],["829.1"],["829.1"],["829.1"],["829.1"],["829.1"],["829.1"],["829.1"],["829.1"]],"32":[["31.8"],["31.8"],["31.8"],["31.8"],["31.8"],["31.8"],["31.8"],["31.8"],["31.8"],["31.8"]],"33":[["8.3"],["8.3"],["8.3"],["8.3"],["8.3"],["8.3"],["8.3"],["8.3"],["8.3"],["8.3"]],"34":[["233.9"],["233.9"],["233.9"],["233.9"],["233.9"],["233.9"],["233.9"],["233.9"],["233.9"],["233.9"]]},"status":1}}
|
||
* @return_param status 状态,1.有数据,2、没有数据
|
||
* @return_param field 字段列表
|
||
* @return_param field.title 字段名称
|
||
* @return_param field.id 字段主键,用此键去获取avg_data中的数据
|
||
* @return_param avg_data 图表数据,使用field.id获取到数据,并展示于页面
|
||
* @return_param info_data 其他信息
|
||
* @return_param info_data.start_time 开始时间
|
||
* @return_param info_data.end_time 结束时间
|
||
* @return_param table_data 表格数据
|
||
* @return_param table_data.title 名称
|
||
* @return_param table_data.value 数值
|
||
* @remark
|
||
*/
|
||
public function actionGetCountList(){
|
||
$form = new DeviceUniqueDataForm();
|
||
$form->attributes = \Yii::$app->request->get();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$res = $form->actionGetCountList();
|
||
return $this->responseHandler($res);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 数据中心
|
||
* @title 获取当前教练信息
|
||
* @description 本接口提供获取当前教练信息
|
||
* @method get
|
||
* @url /api/center/get-now-coach-info
|
||
* @return: {"code":0,"msg":"ok","data":{"title":"测试教练","coach_photo":"http://sms.com/upload/0/1/upload/image/2022/0712/1657611385985756.jpg","number":"","content":"测试教练","real_name":""}}
|
||
* @return_param title string 头衔
|
||
* @return_param coach_photo string 教练头像
|
||
* @return_param number string 教练编号
|
||
* @return_param content string 教练内容
|
||
* @return_param real_name string 教练名称
|
||
* @remark
|
||
*/
|
||
public function actionGetNowCoachInfo(){
|
||
$form = new DeviceUniqueDataForm();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$res = $form->getNowCoachInfo();
|
||
return $this->responseHandler($res);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 数据中心
|
||
* @title 获取大数据分析信息
|
||
* @description 本接口提供获取大数据分析数据
|
||
* @method post
|
||
* @url /api/center/get-system-content
|
||
* @param data 必选 string 传入前端计算得出的平均值,转成json串
|
||
* @return: {"code":0,"msg":"ok","data":{"content":"大数据评语"}}
|
||
* @return_param content string 评语内容
|
||
* @remark
|
||
*/
|
||
public function actionGetSystemContent(){
|
||
$form = new DeviceUniqueDataForm();
|
||
$form->attributes = Yii::$app->request->post();
|
||
$form->user_id = \Yii::$app->user->identity->id;
|
||
$res = $form->actionGetSystemContent();
|
||
return $this->responseHandler($res);
|
||
}
|
||
}
|