测试版9月27修改(公共接口的删除数据问题,数据记录都得是最后一次成绩问题,添加卡片内时间问题等)

This commit is contained in:
tsf 2024-09-27 19:03:50 +08:00
parent e1d0159046
commit 0b736cc355
5 changed files with 970 additions and 526 deletions

View File

@ -306,6 +306,7 @@ Route::any('/use_test', 'admin/base/use_test');
Route::any('/ceshiyong', 'app/base/ceshiyong'); Route::any('/ceshiyong', 'app/base/ceshiyong');
Route::any('/testedition/ceshiyong', 'testapp/base/ceshiyong');
// Route::any('/app_update_file/*', 'app/sportstesting/aaaaaaaaaaaaaaa'); // Route::any('/app_update_file/*', 'app/sportstesting/aaaaaaaaaaaaaaa');

View File

@ -6,6 +6,7 @@ use think\Controller;
use think\Db; use think\Db;
use think\Cache; use think\Cache;
use think\Log; use think\Log;
use PHPMailer\PHPMailer\PHPMailer;
class Base extends Controller{ class Base extends Controller{
@ -30,6 +31,7 @@ class Base extends Controller{
'10009'=>'', '10009'=>'',
'10010'=>'自定义信息', '10010'=>'自定义信息',
'20001'=>'登录失效', '20001'=>'登录失效',
'99999'=>'接口错误',
]; ];
// 加 bcadd(,,20) // 加 bcadd(,,20)
// 减 bcsub(,,20) // 减 bcsub(,,20)
@ -39,7 +41,26 @@ class Base extends Controller{
################################################################接口################################################################ ################################################################接口################################################################
################################################################接口################################################################ ################################################################接口################################################################
// 操作记录留存 // 接口记录
public function record_api_log($params, $error = null, $response = null){
$logContent = "接口请求参数:" . json_encode($params, JSON_UNESCAPED_UNICODE) . PHP_EOL;
if ($error) {
$logContent .= "错误信息:" . $error['all_content'] . PHP_EOL;
if(!cache($error['flie']."_".$error['line'])){
cache($error['flie']."_".$error['line'],"API错误",3600);
$this->send_email_api_error(["tsf3920322@126.com"],['title'=>'接口报错','from_user_name'=>'青测API','content'=>$logContent]);
}
}
if ($response) {
$logContent .= "返回信息:" . json_encode($response, JSON_UNESCAPED_UNICODE) . PHP_EOL;
}
// 使用ThinkPHP的日志记录方法
Log::record($logContent, 'api_log');
}
// $data = ['aud_id'=>'xxxxxxxxxxxxxxx','order_list'=>[1,2,3,4,5]] // $data = ['aud_id'=>'xxxxxxxxxxxxxxx','order_list'=>[1,2,3,4,5]]
public function abnormal_data_log_action($dacall_methoda = 0,$content='未记录的内容',$use_database_name='未记录的数据库名'){ public function abnormal_data_log_action($dacall_methoda = 0,$content='未记录的内容',$use_database_name='未记录的数据库名'){
$result = Db::table($this->base_use_db_name['1'])->insert([ $result = Db::table($this->base_use_db_name['1'])->insert([
@ -126,22 +147,6 @@ class Base extends Controller{
// 判断token是否过期 // 判断token是否过期
public function token_time_validate($token){ public function token_time_validate($token){
// if(in_array($token,$this->ceshiyong_token)){
// return true;
// }
// $time = cache($token);
// if($time === false){
// Log::record('用户尝试更新token时间token' . $token.',但是更新token失败原因没有找到该token', 'log');
// return false;
// }
// $diff_time = bcsub(time(),$time,0);
// if($diff_time > $this->token_time){
// Log::record('用户尝试更新token时间token' . $token.',但是更新token失败原因当前时间戳减去记录时间戳后为'.$diff_time.'秒,大于规定秒数'.$this->token_time, 'log');
// return false;
// }
// cache($token, time());
// Log::record('用户尝试更新token时间token' . $token.',记录成功,最新的秒数为'.time(), 'log');
// return true;
if(is_string($token)){ if(is_string($token)){
$length = strlen($token); $length = strlen($token);
if ($length < 10 ) { if ($length < 10 ) {
@ -151,12 +156,12 @@ class Base extends Controller{
return false; return false;
} }
if(cache($token) === false){ if(cache($token) === false){
Log::record('用户尝试更新token时间token' . $token.',但是更新token失败原因没有找到该token,或该token已经超过30天', 'log'); Log::record('用户尝试更新token时间token' . $token.',但是更新token失败原因没有找到该token,或该token已经超过30天', 'token_log');
return false; return false;
} }
$time_now = date('Y-m-d H:i:s'); $time_now = date('Y-m-d H:i:s');
cache($token,$time_now,$this->token_time); cache($token,$time_now,$this->token_time);
Log::record('用户尝试更新token时间token' . $token.',记录成功,最新的时间为'.$time_now, 'log'); Log::record('用户尝试更新token时间token' . $token.',记录成功,最新的时间为'.$time_now, 'token_log');
return true; return true;
} }
@ -426,44 +431,66 @@ class Base extends Controller{
} }
/* 接口说明(发邮件)
* $address收件人的邮箱地址 数组 格式: ['460834639@qq.com','460834639@qq.com'.......]
* $content邮件的主题数据信息 数组 格式:['title'=>'123','from_user_name'=>'123','content'=>'123']
* $annex附件路径信息 字符串
*/
public function send_email_api_error($address,$content,$annex=''){
// $ad = '460834639@qq.com';
$ad1 = '295155911@qq.com';
$mail = new PHPMailer(); //实例化
$mail->IsSMTP(); // 启用SMTP
$mail->Host = "smtp.126.com"; //SMTP服务器 163邮箱例子
$mail->Port = 465; //邮件发送端口
$mail->SMTPAuth = true; //启用SMTP认证
$mail->SMTPSecure = 'ssl';
$mail->CharSet = "UTF-8"; //字符集
$mail->Encoding = "base64"; //编码方式
$mail->Username = "tsf3920322@126.com"; //你的邮箱
$mail->Password = "HLWXNRPUCTHJFIIX"; //你的密码(邮箱后台的授权密码)
$mail->From = "tsf3920322@126.com"; //发件人地址(也就是你的邮箱)
// $mail->Subject = "微盟测试邮件"; //邮件标题
$mail->Subject = $content['title']; //邮件标题
// $mail->FromName = "微盟体测中心"; //发件人姓名
$mail->FromName = $content['from_user_name']; //发件人姓名
for ($i=0; $i < count($address); $i++) {
$mail->AddAddress($address[$i], ""); //添加收件人(地址,昵称)
}
if($annex != ''){
// $url = ROOT_PATH. 'public' . DS . 'tsf' . DS .'demoooo.jpg';
$mail->AddAttachment($annex,''); // 添加附件,并指定名称
}
$mail->IsHTML(true); //支持html格式内容
$neirong = $content['content'];
$mail->Body = $neirong; //邮件主体内容
// dump($address);
// die;
//发送
if (!$mail->Send()) {
return ['code' => 10003,'msg'=>$mail->ErrorInfo];
// return $mail->ErrorInfo;
} else {
return ['code' => 0];
// return 'success';
}
}
public function ceshiyong($aa = 4,$gd = 0.2){ public function ceshiyong($aa = 4,$gd = 0.2){
$token = 'caadd1be045a65f30b92aa805f1de54a'; dump('ok');
$jieguo = $this->token_time_validate($token); $this->send_email_api_error(["tsf3920322@126.com"],['title'=>'接口报错','from_user_name'=>'青测API','content'=>'123']);
// // // Log::record('用户尝试更新token时间token' . $token, 'log');
// // // phpinfo();
// // dump($jieguo);
// // // return $jieguo;
// // die;
// // cache($token, time());
$time = cache($token);
dump($jieguo);
dump($time);
// // die;
// $aa = 3;
// dump($aa/20);
$a = $aa;
for ($i=0; $i < 100; $i++) {
dump($a.'======='.$a/$aa*100);
$a = $a - $gd;
if($a < 0){
break;
}
}
// $aa = 15;
// $a = 1;
// for ($i=0; $i < 100; $i++) {
// dump($aa.'======='.$aa/17.5*100);
// $aa = $aa - $a;
// if($aa < 1){
// break;
// }
// }
} }

View File

@ -22,117 +22,268 @@ class Cardpublic extends Base{
['min_val'=>'90','max_val'=>'150','text'=>'优秀','color'=>'#6691EF'], ['min_val'=>'90','max_val'=>'150','text'=>'优秀','color'=>'#6691EF'],
]; ];
// // 示意接口
// public function card_curve_chart($data = ['aud_id'=>'83','s_time'=>'2024-04-01','e_time'=>'2024-07-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){
// if(count(input('post.')) > 0){
// $data = input('post.');
// }
// if(!array_key_exists('aud_id', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data) || !array_key_exists('token', $data)){
// return $this->msg(10001);
// }
// // if($this->token_time_validate($data['token']) === false){
// // return $this->msg(20001);
// // }
// unset($data['token']);
// }
// 获取卡片数据 // 获取卡片数据
public function get_card_content($data = ['aud_id'=>'83','acd_id'=>'10','token'=>'caadd1be045a65f30b92aa805f1de54a']){ public function get_card_content($data = ['aud_id'=>'83','acd_id'=>'10','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){ // try {
$data = input('post.'); // // 你的业务逻辑
} // // 成功
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('token', $data)){ // $this->record_api_log($data, null, $return_data);
return $this->msg(10001); // } catch (\Exception $e) {
} // // 捕获异常
// if($this->token_time_validate($data['token']) === false){ // $logContent["flie"] = $e->getFile();
// return $this->msg(20001); // $logContent["line"] = $e->getLine();
// } // $logContent['all_content'] = "异常信息:\n";
// dump(111); // $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
// die; // $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
return $this->get_card_content_action($data); // $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
// $this->record_api_log($data, $logContent, null);
// return $this->msg(99999,'接口错误');
// }
try {
// 你的业务逻辑
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
$return_data = $this->get_card_content_action($data);
// 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
}
} }
// {"acd_id":"11","name":"200米","record_time":"2024-09-27","data":"02:00","aud_id":"1","token":"57bd45e3a963b372ea2d873e4bd8d1f8","aan_id":"1"}
// 存储信息 // 存储信息
public function data_save($data = ['aud_id'=>'83','acd_id'=>'10','name'=>'50米','data'=>'10.3','record_time'=>'2024-09-06','token'=>'caadd1be045a65f30b92aa805f1de54a']){ public function data_save($data = ['aud_id'=>'1','acd_id'=>'11','name'=>'200米','data'=>'02:00','record_time'=>'2024-09-27','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
} if(count(input('post.')) > 0){
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('name', $data) || !array_key_exists('data', $data) || !array_key_exists('record_time', $data) || !array_key_exists('token', $data)){ $data = input('post.');
return $this->msg(10001); }
} if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('name', $data) || !array_key_exists('data', $data) || !array_key_exists('record_time', $data) || !array_key_exists('token', $data)){
// if($this->token_time_validate($data['token']) === false){ return $this->msg(10001);
// return $this->msg(20001); }
// } $return_data = $this->data_save_action($data);
// 成功
return $this->data_save_action($data); $this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
}
} }
// 获取标签项目信息 // 获取标签项目信息
public function get_label_list($data = ['aud_id'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){ public function get_label_list($data = ['aud_id'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
} if(count(input('post.')) > 0){
if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){ $data = input('post.');
return $this->msg(10001); }
} if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){
// if($this->token_time_validate($data['token']) === false){ return $this->msg(10001);
// return $this->msg(20001); }
// } $return_data = $this->get_label_list_action($data);
return $this->get_label_list_action($data); // 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
}
} }
// 卡片运动曲线 // 卡片运动曲线
public function card_motion_curve($data = ['aud_id'=>'1','acd_id'=>'10','s_time'=>'2024-04-01','e_time'=>'2024-07-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){ public function card_motion_curve($data = ['aud_id'=>'1','acd_id'=>'10','s_time'=>'2024-04-01','e_time'=>'2024-07-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('aud_id', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
$return_data = $this->card_motion_curve_action($data);
// 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
} }
if(!array_key_exists('aud_id', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
// if($this->token_time_validate($data['token']) === false){
// return $this->msg(20001);
// }
return $this->card_motion_curve_action($data);
} }
// 数据对比-获取数据 // 数据对比-获取数据
public function data_contrast_obtain_data($data = ['aud_id'=>'1','acd_id'=>'10','name'=>'1000米','s_time'=>'2024-04-01','e_time'=>'2024-10-03']){ public function data_contrast_obtain_data($data = ['aud_id'=>'1','acd_id'=>'10','name'=>'1000米','s_time'=>'2024-04-01','e_time'=>'2024-10-03']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('name', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data)){
return $this->msg(10001);
}
$return_data = $this->data_contrast_obtain_data_action($data);
// 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
} }
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('name', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data)){
return $this->msg(10001);
}
return $this->data_contrast_obtain_data_action($data);
} }
// 数据对比-对比数据 // 数据对比-对比数据
public function data_contrast_contrast_data($data = ['before_id'=>'1','after_id'=>'3']){ public function data_contrast_contrast_data($data = ['before_id'=>'1','after_id'=>'3']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('before_id', $data) || !array_key_exists('after_id', $data)){
return $this->msg(10001);
}
$return_data = $this->data_contrast_contrast_data_action($data);
// 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
} }
if(!array_key_exists('before_id', $data) || !array_key_exists('after_id', $data)){
return $this->msg(10001);
}
return $this->data_contrast_contrast_data_action($data);
} }
// 历史记录 // 历史记录
public function obtain_history_record($data = ['aud_id'=>'1','acd_id'=>'10','name'=>'1000米','page'=>'1']){ public function obtain_history_record($data = ['aud_id'=>'1','acd_id'=>'10','name'=>'1000米','page'=>'1']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('name', $data)){
return $this->msg(10001);
}
$return_data = $this->obtain_history_record_action($data);
// 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
} }
if(!array_key_exists('aud_id', $data) || !array_key_exists('acd_id', $data) || !array_key_exists('name', $data)){
return $this->msg(10001);
}
return $this->obtain_history_record_action($data);
} }
// 历史记录 // 历史记录
public function history_record_del($data = ['id'=>'10']){ public function history_record_del($data = ['id'=>'10']){
if(count(input('post.')) > 0){ try {
$data = input('post.'); // 你的业务逻辑
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('id', $data)){
return $this->msg(10001);
}
$return_data = $this->history_record_del_action($data);
// 成功
$this->record_api_log($data, null, $return_data);
return $return_data;
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999,'接口错误');
} }
if(!array_key_exists('id', $data)){
return $this->msg(10001);
}
return $this->history_record_del_action($data);
} }
// 获取手动记录内容 // 获取手动记录内容
public function obtain_manual_record_content($data = ['aud_id'=>1]){ public function obtain_manual_record_content($data = ['aud_id'=>1]){
@ -162,6 +313,8 @@ class Cardpublic extends Base{
'number'=>false, 'number'=>false,
'type'=>4, 'type'=>4,
'time'=>true, 'time'=>true,
'describe'=>'时长',
'unit'=>'',
], ],
[ [
'id'=>'2', 'id'=>'2',
@ -169,6 +322,8 @@ class Cardpublic extends Base{
'number'=>false, 'number'=>false,
'type'=>4, 'type'=>4,
'time'=>true, 'time'=>true,
'describe'=>'时长',
'unit'=>'',
], ],
[ [
'id'=>'3', 'id'=>'3',
@ -176,14 +331,81 @@ class Cardpublic extends Base{
'number'=>true, 'number'=>true,
'type'=>2, 'type'=>2,
'time'=>false, 'time'=>false,
'describe'=>'时长',
'unit'=>'秒',
],
]
],
[
'id'=>'12',
'height'=>false,
'weight'=>false,
'number'=>false,
'time'=>false,
'list'=>[
[
'id'=>'7',
'name'=>'立定跳远',
'number'=>true,
'type'=>1,
'time'=>false,
'describe'=>'距离',
'unit'=>'CM',
],
]
],
[
'id'=>'13',
'height'=>false,
'weight'=>false,
'number'=>false,
'time'=>false,
'list'=>[
[
'id'=>'8',
'name'=>'引体向上',
'number'=>true,
'type'=>1,
'time'=>false,
'describe'=>'个数',
'unit'=>'个',
],
[
'id'=>'9',
'name'=>'仰卧起坐',
'number'=>true,
'type'=>1,
'time'=>false,
'describe'=>'个数',
'unit'=>'个',
],
]
],
[
'id'=>'14',
'height'=>false,
'weight'=>false,
'number'=>false,
'time'=>false,
'list'=>[
[
'id'=>'10',
'name'=>'坐位体前屈',
'number'=>true,
'type'=>1,
'time'=>false,
'describe'=>'距离',
'unit'=>'CM',
], ],
] ]
], ],
]; ];
if($user_data['gender'] == 1){ if($user_data['gender'] == 1){
unset($card_data[2]['list'][1]);//800米 unset($card_data[2]['list'][1]);//800米
unset($card_data[4]['list'][1]);//仰卧起坐
}else if($user_data['gender'] == 2){ }else if($user_data['gender'] == 2){
unset($card_data[2]['list'][0]);//1000米 unset($card_data[2]['list'][0]);//1000米
unset($card_data[4]['list'][0]);//引体向上
} }
foreach ($card_data as $key => $value) { foreach ($card_data as $key => $value) {
$card_data[$key]['list'] = array_values($card_data[$key]['list']); $card_data[$key]['list'] = array_values($card_data[$key]['list']);
@ -201,12 +423,12 @@ class Cardpublic extends Base{
##################################################get_card_content################################################## ##################################################get_card_content##################################################
public function get_card_content_action($data){ public function get_card_content_action($data){
// 查找用户是存在 // 查找用户是存在
$user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id']])->field('id,gender')->find(); $user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id'],'is_del'=>0])->field('id,gender')->find();
if(!$user_data){ if(!$user_data){
return $this->msg(10004); return $this->msg(10004);
} }
// 卡片是否存在,以及是否含有子项 // 卡片是否存在,以及是否含有子项
$card_data_sub_item = Db::table($this->cardpublic_use_db_name['2'])->where("acd_id = ".$data['acd_id']." and suit_gender LIKE '%".$user_data['gender']."%'")->field('id,type,name,unit')->select(); $card_data_sub_item = Db::table($this->cardpublic_use_db_name['2'])->where("acd_id = ".$data['acd_id']." and is_del = 0 and suit_gender LIKE '%".$user_data['gender']."%'")->field('id,type,name,unit')->select();
if(!$card_data_sub_item){ if(!$card_data_sub_item){
return $this->msg(10004); return $this->msg(10004);
} }
@ -238,13 +460,14 @@ class Cardpublic extends Base{
'color' => '', 'color' => '',
'offset' => '', 'offset' => '',
'unit_data' => '', 'unit_data' => '',
'record_time' => '',
]; ];
// 添加标签 // 添加标签
array_push($return_data['label_list'],$value['name']); array_push($return_data['label_list'],$value['name']);
// 添加线性轴描述 // 添加线性轴描述
$return_data['line_list'] = $this->level_data; $return_data['line_list'] = $this->level_data;
// 查询最后一次成绩 // 查询最后一次成绩
$data_this_time = Db::table($this->cardpublic_use_db_name['3'])->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$value['id']])->order('id desc')->field('id,detailed_msg,achievement')->find(); $data_this_time = Db::table($this->cardpublic_use_db_name['3'])->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$value['id'],'is_del'=>0])->order('record_time desc')->field('id,detailed_msg,achievement,record_time')->find();
// dump($data_this_time); // dump($data_this_time);
if($data_this_time){ if($data_this_time){
$data_this_time['detailed_msg'] = json_decode($data_this_time['detailed_msg'],true); $data_this_time['detailed_msg'] = json_decode($data_this_time['detailed_msg'],true);
@ -256,8 +479,9 @@ class Cardpublic extends Base{
$temporary_arr_c['color'] = $data_this_time['detailed_msg']['color']; $temporary_arr_c['color'] = $data_this_time['detailed_msg']['color'];
$temporary_arr_c['offset'] = $data_this_time['detailed_msg']['offset']; $temporary_arr_c['offset'] = $data_this_time['detailed_msg']['offset'];
$temporary_arr_c['unit_data'] = $data_this_time['detailed_msg']['unit_data']; $temporary_arr_c['unit_data'] = $data_this_time['detailed_msg']['unit_data'];
$temporary_arr_c['record_time'] = $data_this_time['record_time'];
// 获取到该项所有数据 // 获取到该项所有数据
$all_time_title = Db::table($this->cardpublic_use_db_name['3'])->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$value['id']])->order('id desc')->field('id,achievement,LEFT(record_time,10) AS r_t')->select(); $all_time_title = Db::table($this->cardpublic_use_db_name['3'])->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$value['id'],'is_del'=>0])->order('id desc')->field('id,achievement,LEFT(record_time,10) AS r_t')->select();
// 处理今日,以及总计数据 // 处理今日,以及总计数据
if($data_this_time['detailed_msg']['unit_data'] == '分/秒'){ if($data_this_time['detailed_msg']['unit_data'] == '分/秒'){
// 如果是分秒形式的数据 // 如果是分秒形式的数据
@ -267,7 +491,6 @@ class Cardpublic extends Base{
// 处理本次数据最终格式 // 处理本次数据最终格式
list($minutes, $seconds) = explode(':', $data_this_time['achievement']); list($minutes, $seconds) = explode(':', $data_this_time['achievement']);
$temporary_arr_c['this_time_value'] = $minutes . '分' . sprintf('%02d', $seconds) . '秒'; $temporary_arr_c['this_time_value'] = $minutes . '分' . sprintf('%02d', $seconds) . '秒';
// 计算今日总计&所有平均 // 计算今日总计&所有平均
$temporary_arr_c['all_times'] = count($all_time_title); $temporary_arr_c['all_times'] = count($all_time_title);
foreach ($all_time_title as $k1 => $v1) { foreach ($all_time_title as $k1 => $v1) {
@ -367,11 +590,11 @@ class Cardpublic extends Base{
##################################################get_label_list################################################## ##################################################get_label_list##################################################
public function get_label_list_action($data){ public function get_label_list_action($data){
// 查找用户是存在 // 查找用户是存在
$user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id']])->field('id,gender')->find(); $user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id'],'is_del'=>0])->field('id,gender')->find();
if(!$user_data){ if(!$user_data){
return $this->msg(10004); return $this->msg(10004);
} }
$label_data = Db::table($this->cardpublic_use_db_name['2'])->where("suit_gender LIKE '%".$user_data['gender']."%'")->field('id,acd_id,name,unit,type')->select(); $label_data = Db::table($this->cardpublic_use_db_name['2'])->where("is_del = 0 and suit_gender LIKE '%".$user_data['gender']."%'")->field('id,acd_id,name,unit,type')->select();
if(count($label_data)<=0){ if(count($label_data)<=0){
return $this->msg(10004); return $this->msg(10004);
} }
@ -396,12 +619,12 @@ class Cardpublic extends Base{
##################################################card_motion_curve################################################## ##################################################card_motion_curve##################################################
public function card_motion_curve_action($data){ public function card_motion_curve_action($data){
$user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id']])->field('id,gender')->find(); $user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id'],'is_del'=>0])->field('id,gender')->find();
if(!$user_data){ if(!$user_data){
return $this->msg(10004); return $this->msg(10004);
} }
$card_sub_item_data = Db::table($this->cardpublic_use_db_name['3'])->where(['acd_id'=>$data['acd_id'],'aud_id'=>$data['aud_id']])->order('record_time desc')->field('id,acdsi_id,score,LEFT(record_time,10) as record_time')->select(); $card_sub_item_data = Db::table($this->cardpublic_use_db_name['3'])->where(['acd_id'=>$data['acd_id'],'aud_id'=>$data['aud_id'],'is_del'=>0])->order('record_time desc')->field('id,acdsi_id,score,LEFT(record_time,10) as record_time')->select();
$card_sub_item_type = Db::table($this->cardpublic_use_db_name['2'])->where("acd_id = ".$data['acd_id']." and suit_gender LIKE '%".$user_data['gender']."%'")->field('id,name,unit')->select(); $card_sub_item_type = Db::table($this->cardpublic_use_db_name['2'])->where("acd_id = ".$data['acd_id']." and is_del = 0 and suit_gender LIKE '%".$user_data['gender']."%'")->field('id,name,unit')->select();
$temporary_arr = []; $temporary_arr = [];
$return_data = []; $return_data = [];
// 处理一个临时数据 // 处理一个临时数据
@ -441,10 +664,10 @@ class Cardpublic extends Base{
public function data_contrast_obtain_data_action($data){ public function data_contrast_obtain_data_action($data){
// dump($data); // dump($data);
// $user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id']])->field('id,gender')->find(); // $user_data = Db::table($this->cardpublic_use_db_name['1'])->where(['id'=>$data['aud_id']])->field('id,gender')->find();
$card_data = Db::table($this->cardpublic_use_db_name['2'])->where(['acd_id'=>$data['acd_id'],'name'=>$data['name']])->find(); $card_data = Db::table($this->cardpublic_use_db_name['2'])->where(['acd_id'=>$data['acd_id'],'name'=>$data['name'],'is_del'=>0])->find();
$result_data = Db::table($this->cardpublic_use_db_name['3']) $result_data = Db::table($this->cardpublic_use_db_name['3'])
->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$card_data['id']]) ->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$card_data['id'],'is_del'=>0])
->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']]) ->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']])
->field('id,achievement,score,unit,record_time') ->field('id,achievement,score,unit,record_time')
->order('record_time desc') ->order('record_time desc')
@ -491,12 +714,12 @@ class Cardpublic extends Base{
} }
##################################################obtain_history_record################################################## ##################################################obtain_history_record##################################################
public function obtain_history_record_action($data){ public function obtain_history_record_action($data){
$card_data = Db::table($this->cardpublic_use_db_name['2'])->where(['acd_id'=>$data['acd_id'],'name'=>$data['name']])->find(); $card_data = Db::table($this->cardpublic_use_db_name['2'])->where(['acd_id'=>$data['acd_id'],'name'=>$data['name'],'is_del'=>0])->find();
$result_count = Db::table($this->cardpublic_use_db_name['3']) $result_count = Db::table($this->cardpublic_use_db_name['3'])
->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$card_data['id']]) ->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$card_data['id'],'is_del'=>0])
->count(); ->count();
$result_data = Db::table($this->cardpublic_use_db_name['3']) $result_data = Db::table($this->cardpublic_use_db_name['3'])
->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$card_data['id']]) ->where(['aud_id'=>$data['aud_id'],'acdsi_id'=>$card_data['id'],'is_del'=>0])
->field('id,achievement,score,unit,record_time') ->field('id,achievement,score,unit,record_time')
->order('record_time desc') ->order('record_time desc')
->page($data['page'].",10") ->page($data['page'].",10")

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@ namespace app\testapp\controller;
use think\Db; use think\Db;
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\PHPMailer;
class Login extends Base{ class Login extends Base{
protected $code_time = 50; protected $code_time = 50;
// protected $token_time = 2592000;//30天的秒数 // protected $token_time = 2592000;//30天的秒数