From 4a82d90a5615d6d1ce0ec98ff2d54b114f0ac656 Mon Sep 17 00:00:00 2001 From: tiansf Date: Wed, 30 Apr 2025 18:38:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=89=88=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E7=89=88=E6=9C=AC=EF=BC=8C=E6=95=B4=E4=BD=93=E7=89=88?= =?UTF-8?q?=EF=BC=8C=E6=9C=80=E5=90=8E=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/app/controller/Card.php | 23 +- application/app/controller/Skip.php | 4 +- application/route.php | 4 +- application/testapp/controller/Base.php | 48 +- application/testapp/controller/Card.php | 531 ++++++++++++++++-- application/testapp/controller/Index.php | 40 +- application/testapp/controller/Language.php | 55 +- application/testapp/controller/Login.php | 34 +- .../testapp/controller/Pagingcontrast.php | 191 ++++--- 9 files changed, 748 insertions(+), 182 deletions(-) diff --git a/application/app/controller/Card.php b/application/app/controller/Card.php index 05c0261..183be18 100644 --- a/application/app/controller/Card.php +++ b/application/app/controller/Card.php @@ -616,20 +616,20 @@ class Card extends Base{ ]); // 只有含有阻抗的记录才有数据参考 - if($result[0]['record_type'] == 'by_device_adc'){ - if(count($result_end['cplist']['nutritionlist']) <= 0){ - $result_end['literature'] = []; - }else{ + // if($result[0]['record_type'] == 'by_device_adc'){ + // if(count($result_end['cplist']['nutritionlist']) <= 0){ + // $result_end['literature'] = []; + // }else{ $result_end['literature'] = [ - '《中华人民共和国卫生行业标准WS 423-2013》', + '《中华人民共和国卫生行业标准WS/T 423-2022》', '《中华人民共和国卫生行业标准WS/T 612-2018》', - '《中华人民共和国卫生行业标准WS/T1586-2018》', + '《中华人民共和国卫生行业标准WS/T 586-2018》', '《WHO 5~19岁身高/体重判定标准》', ]; - } - }else{ - $result_end['literature'] = []; - } + // } + // }else{ + // $result_end['literature'] = []; + // } // 加入曲线板块底部的减肥计划数据start $result_end['target_current'] = $this->base_target_initial_cumulative_weight([ @@ -892,7 +892,8 @@ class Card extends Base{ $data['e_time'] = $data['e_time'].' 23:59:59'; $user_data_list = Db::table($this->card_use_db_name['1']) - ->where('aud_id', $data['aud_id']) + // ->where('aud_id', $data['aud_id']) + ->where(['aud_id'=>$data['aud_id'],'is_del'=> 0]) ->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']]) ->field("record_type,record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr") // ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr") diff --git a/application/app/controller/Skip.php b/application/app/controller/Skip.php index 0dbc8fe..d5feb2d 100644 --- a/application/app/controller/Skip.php +++ b/application/app/controller/Skip.php @@ -171,7 +171,7 @@ class Skip extends Base{ } // 曲线 - public function skip_curve_chart($data = ['aud_id'=>'9','time'=>'2024-10','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ + public function skip_curve_chart($data = ['aud_id'=>'144','time'=>'2025','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -355,7 +355,7 @@ class Skip extends Base{ $timeData = explode('-', $data['time']); // 根据$timeData的长度构建不同的查询条件 - $map = ['aud_id' => $audid]; + $map = ['aud_id' => $audid,'is_del'=>0]; switch (count($timeData)) { case 3: // 年月日 $map['record_time'] = ['between', [date('Y-m-d 00:00:00', strtotime($timeData[0] . '-' . $timeData[1] . '-' . $timeData[2])), date('Y-m-d 23:59:59', strtotime($timeData[0] . '-' . $timeData[1] . '-' . $timeData[2]))]]; diff --git a/application/route.php b/application/route.php index 4bab9b8..857f313 100644 --- a/application/route.php +++ b/application/route.php @@ -294,7 +294,9 @@ Route::any('/testedition/card_height_prediction', 'testapp/card/card_height_pred // 身高预测接口 Route::any('/card_bmi_evaluation', 'app/card/card_bmi_evaluation'); Route::any('/testedition/card_bmi_evaluation', 'testapp/card/card_bmi_evaluation'); - +// 身高预测接口 +Route::any('/incremental_comparison', 'app/card/incremental_comparison'); +Route::any('/testedition/incremental_comparison', 'testapp/card/incremental_comparison'); // ################################跳绳接口################################ diff --git a/application/testapp/controller/Base.php b/application/testapp/controller/Base.php index f429140..d799e4c 100644 --- a/application/testapp/controller/Base.php +++ b/application/testapp/controller/Base.php @@ -169,7 +169,7 @@ class Base extends Controller{ // 如果需要更精确的计算(包括小时、分钟等转换成的天数),可以使用以下方式: // $totalSecondsDifference = $interval->format('%a') * 86400 + $interval->format('%h') * 3600 + $interval->format('%i') * 60 + $interval->format('%s'); // $daysDifference = floor($totalSecondsDifference / 86400); // 将总秒数转换为天数并取整 - + // dump($user_login); // 判断差异是否超过指定的天数 if ($daysDifference > $this->token_time) { // echo "超过 {$specifiedDays} 天"; @@ -177,8 +177,8 @@ class Base extends Controller{ return ['state'=>false,'language'=>$user_login['language']]; } else { // echo "未超过 {$specifiedDays} 天"; - $user_login = Db::table($this->base_use_db_name['6'])->where(['token'=>$token])->update(['login_time'=>date('Y-m-d H:i:s')]); - if($user_login){ + $user_login_update = Db::table($this->base_use_db_name['6'])->where(['token'=>$token])->update(['login_time'=>date('Y-m-d H:i:s')]); + if($user_login_update){ Log::record('用户尝试更新token时间,token:' . $token.',记录成功,最新的时间为'.date('Y-m-d H:i:s'), 'token_log'); return ['state'=>true,'language'=>$user_login['language']]; }else{ @@ -224,6 +224,48 @@ class Base extends Controller{ $ageInMonthsPrecise = intval($ageInMonths + $partialMonth); return $ageInMonthsPrecise; } + // 计算年龄(岁数和月数) + public function calculateAge($birthDate) { + // 创建出生日期和当前日期的DateTime对象 + $birthDate = new \DateTime($birthDate); + $currentDate = new \DateTime(); + + // 计算年份差异 + $yearDiff = $currentDate->format('Y') - $birthDate->format('Y'); + + // 计算月份差异 + $monthDiff = $currentDate->format('m') - $birthDate->format('m'); + + // 如果当前月份小于出生月份,或者月份相同但当前日小于出生日 + if ($monthDiff < 0 || ($monthDiff == 0 && $currentDate->format('d') < $birthDate->format('d'))) { + $yearDiff--; + $monthDiff += 12; + } + + // 如果当前日小于出生日,需要再减一个月 + if ($currentDate->format('d') < $birthDate->format('d')) { + $monthDiff--; + // 如果月份变为负数,调整年份和月份 + if ($monthDiff < 0) { + $monthDiff += 12; + $yearDiff--; + } + } + + // 确保年份和月份不为负数 + $yearDiff = max(0, $yearDiff); + $monthDiff = max(0, $monthDiff); + + // 构建结果数组 + $result = [ + 'age_year' => $yearDiff, + 'age_year_unit' => '岁', + 'age_months' => $monthDiff, + 'age_months_unit' => '个月', + ]; + + return $result; + } // 曲线页面-底部统计动作 public function base_target_initial_cumulative_weight($data = []){ // 第一种:用户详情(所有数据都有) diff --git a/application/testapp/controller/Card.php b/application/testapp/controller/Card.php index 68f1d41..5a37650 100644 --- a/application/testapp/controller/Card.php +++ b/application/testapp/controller/Card.php @@ -21,6 +21,7 @@ class Card extends Base{ '9'=>'pc_weightstand_copy1', '10'=>'pc_bmistand_copy1', '11'=>'app_account_number_copy1', + '12'=>'ws_height', ]; protected $age_limit = 16; protected $unit_symbol = ['score'=>'分','height'=>'CM','weight'=>'公斤','bmi'=>'','fat_r'=>'%','fat_w'=>'kg','muscle'=>'%','muscleval'=>'kg','water'=>'kg','bone'=>'kg','protein'=>'%','proteinval'=>'kg','kcal'=>'kcal','visceral'=>'','sfr'=>'%',]; @@ -90,7 +91,7 @@ class Card extends Base{ // 详细卡片信息 // $data = ['id'=>'2'] public function card_data_detailed($data=['aud_id'=>'144']){ - // try { + try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); @@ -104,46 +105,6 @@ class Card extends Base{ // $return_data; $return_data = $this->get_user_body_data($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_curve_chart($data = ['aud_id'=>'11','s_time'=>'2024-04-01','e_time'=>'2024-12-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){ - try { - // 你的业务逻辑 - 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); - } - unset($data['token']); - if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){ - return $this->msg(10005); - } - if(!$this->verify_data_is_ok($data['s_time'],'datetime')){ - return $this->msg(10005); - } - if(!$this->verify_data_is_ok($data['e_time'],'datetime')){ - return $this->msg(10005); - } - $return_data = $this->curve_chart_action($data); - // 成功 - $this->record_api_log($data, null, $return_data); return $return_data; } catch (\Exception $e) { // 捕获异常 @@ -160,6 +121,46 @@ class Card extends Base{ } } + + // 曲线页面-曲线接口 + public function card_curve_chart($data = ['aud_id'=>'144','s_time'=>'2025-01-29','e_time'=>'2025-04-29','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + // try { + // 你的业务逻辑 + 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); + } + // unset($data['token']); + if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){ + return $this->msg(10005); + } + if(!$this->verify_data_is_ok($data['s_time'],'datetime')){ + return $this->msg(10005); + } + if(!$this->verify_data_is_ok($data['e_time'],'datetime')){ + return $this->msg(10005); + } + $return_data = $this->curve_chart_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); + // } + + } // 手动记录 // $data = ['id'=>'2','time'=>'1991-04-20 10:10:10','height'=>'15.1','weight'=>'75.1'] @@ -486,6 +487,42 @@ class Card extends Base{ // return $this->msg(99999); // } } + public function incremental_comparison($data = ['aud_id'=>'87','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + // try { + // 你的业务逻辑 + if(count(input('post.')) > 0){ + $data = input('post.'); + } + if(!is_array($data)){ + return $this->msg(10005); + } + if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){ + return $this->msg(10001); + } + if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){ + return $this->msg(10005); + } + if(!$this->verify_data_is_ok($data['token'],'str')){ + return $this->msg(10005); + } + $request_result = $this->incremental_comparison_action($data); + // $this->record_api_log($cbe_data, null, $request_result); + return $this->msg($request_result); + // } 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($cbe_data, $logContent, null); + // return $this->msg(99999); + // } + } + ################################################################业务接口################################################################ ################################################################业务接口################################################################ @@ -628,20 +665,20 @@ class Card extends Base{ ]); // 只有含有阻抗的记录才有数据参考 - if($result[0]['record_type'] == 'by_device_adc'){ - if(count($result_end['cplist']['nutritionlist']) <= 0){ - $result_end['literature'] = []; - }else{ + // if($result[0]['record_type'] == 'by_device_adc'){ + // if(count($result_end['cplist']['nutritionlist']) <= 0){ + // $result_end['literature'] = []; + // }else{ $result_end['literature'] = [ - '《中华人民共和国卫生行业标准WS 423-2013》', + '《中华人民共和国卫生行业标准WS/T 423-2022》', '《中华人民共和国卫生行业标准WS/T 612-2018》', - '《中华人民共和国卫生行业标准WS/T1586-2018》', + '《中华人民共和国卫生行业标准WS/T 586-2018》', '《WHO 5~19岁身高/体重判定标准》', ]; - } - }else{ - $result_end['literature'] = []; - } + // } + // }else{ + // $result_end['literature'] = []; + // } // 加入曲线板块底部的减肥计划数据start $result_end['target_current'] = $this->base_target_initial_cumulative_weight([ @@ -904,13 +941,14 @@ class Card extends Base{ // 曲线图动作函数 public function curve_chart_action($data){ + $card_body_curve_arr = implode(',',$this->card_body_curve_arr); $data['s_time'] = $data['s_time'].' 00:00:00'; $data['e_time'] = $data['e_time'].' 23:59:59'; $user_data_list = Db::table($this->card_use_db_name['1']) - ->where('aud_id', $data['aud_id']) + ->where(['aud_id'=>$data['aud_id'],'is_del'=> 0]) ->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']]) ->field("record_type,record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr") // ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr") @@ -956,7 +994,17 @@ class Card extends Base{ array_push($data_arr,$temporary_arr); } } - return $this->msg($data_arr); + // dump($data); + $language_data = new Language(); + $user_language = Db::table($this->card_use_db_name['11']) + ->where(['token'=>$data['token'],'is_del'=>0]) + ->field('language') + ->find(); + if(!$user_language['language']){ + $user_language['language'] = 'zh-Hans'; + } + $result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $data_arr); + return $this->msg($result_end); } ################################################card_manual_recording @@ -1320,11 +1368,388 @@ class Card extends Base{ // 处理key名称一致end return $this->msg($data); } + ################################################incremental_comparison + public function incremental_comparison_action($data){ + // 加 bcadd(,,20) + // 减 bcsub(,,20) + // 乘 bcmul(,,20) + // 除 bcdiv(,,20) + // protected $card_use_db_name = [ + // '1'=>'app_card_body_data_copy1', + // '2'=>'app_user_data_copy1', + // '3'=>'pc_bmistand_copy1', + // '4'=>'pc_heightstand_copy1', + // '5'=>'pc_weightstand_copy1', + // '6'=>'pc_childrenprescription_copy1', + // '7'=>'pc_childprescriptionbyage_copy1', + // '8'=>'pc_heightstand_copy1', + // '9'=>'pc_weightstand_copy1', + // '10'=>'pc_bmistand_copy1', + // '11'=>'app_account_number_copy1', + // ]; + + + + + $return_data = []; + $user_last_data = Db::table($this->card_use_db_name['1']) + ->alias('a') + ->join(''.$this->card_use_db_name['2'].' b','a.aud_id = b.id','LEFT') + ->where('a.aud_id',$data['aud_id']) + ->order('record_time desc') + ->field('a.record_time as record_time,a.height_val,b.gender,b.nickname,b.gender,b.birthday') + ->find(); + + // 设置基础数据 + $return_data['nickname'] = $user_last_data['nickname']; + $return_data['gender'] = $user_last_data['gender'] == 1 ? '男' : '女'; + $return_data['birthday'] = $user_last_data['birthday']; + $return_data['age'] = $this->calculateAge($user_last_data['birthday']); + // dump($return_data); + // die; + $return_data['age_year'] = $return_data['age']['age_year']; + $return_data['age_year_unit'] = $return_data['age']['age_year_unit']; + $return_data['age_months'] = $return_data['age']['age_months']; + $return_data['age_months_unit'] = $return_data['age']['age_months_unit']; + $return_data['height'] = $user_last_data['height_val']; + unset($return_data['age']); + + + + $half_year = Db::table($this->card_use_db_name['1']) + ->where(['aud_id'=>$data['aud_id']]) + ->whereTime('record_time', '>=', '-6 month') + ->order('record_time desc') + ->field('id,record_time,height_val') + ->select(); + + $one_year = Db::table($this->card_use_db_name['1']) + ->where(['aud_id'=>$data['aud_id']]) + ->whereTime('record_time', '>=', '-12 month') + ->order('record_time desc') + ->field('id,record_time,height_val') + ->select(); + + $month_age = $this->calculateAgeInMonthsWithPrecision($user_last_data['birthday']); + + $height_standard = Db::table($this->card_use_db_name['12']) + ->where(['gender'=>$user_last_data['gender'],'age'=>['<=',$month_age]]) + ->order('age desc') + ->find(); + // dump($height_standard); + // 处理身体级别 + $true_altitude_list = [ + [ + 'maxvalue' => $height_standard['f1sd'], + 'minvalue' => 0, + 'text' => '矮', + 'color' => '#ff5656', + 'level' => 4 + ], + [ + 'maxvalue' => $height_standard['middle'], + 'minvalue' => $height_standard['f1sd'], + 'text' => '偏矮', + 'color' => '#ffab00', + 'level' => 2 + ], + [ + 'maxvalue' => $height_standard['z1sd'], + 'minvalue' => $height_standard['middle'], + 'text' => '标准', + 'color' => '#5ad06d', + 'level' => 1 + ], + [ + 'maxvalue' => $height_standard['z2sd'], + 'minvalue' => $height_standard['z1sd'], + 'text' => '偏高', + 'color' => '#6492f6', + 'level' => 3 + ], + [ + 'maxvalue' => 99999, + 'minvalue' => $height_standard['z2sd'], + 'text' => '高', + 'color' => '#3967d6', + 'level' => 5 + ] + ]; + $return_data['heightlevel'] = 1; + foreach ($true_altitude_list as $key => $value) { + // dump($return_data['height']); + // dump($value); + if($return_data['height'] >= $value['minvalue'] && $return_data['height'] < $value['maxvalue']){ + // dump($value); + $return_data['heightlevel'] = $value['level']; + } + } + // die; + // 处理半年信息 + if(count($half_year) >= 2){ + $return_data['halfyearheight'] = bcsub($half_year[0]['height_val'],$half_year[count($half_year)-1]['height_val'],2); + }else{ + $return_data['halfyearheight'] = 0; + } + // $height_standard_half = Db::table($this->card_use_db_name['12']) + // ->where(['gender'=>$user_last_data['gender'],'age'=>['<=',($month_age-6)<=0?0:$month_age-6]]) + // ->order('age desc') + // ->find(); + $height_standard_half = $this->count_increment_val($return_data,'half_year'); + // dump($height_standard_half); + // die; + $halfyearstandlist = [ + [ + 'val' => 0, + 'text' => '偏低', + 'color' => '#ffda69', + 'level' => 2 + ], + [ + 'val' => $height_standard_half, + 'text' => '正常', + 'color' => '#5ad06d', + 'level' => 1 + ] + ]; + + for ($i=count($halfyearstandlist)-1; $i >=0 ; $i--) { + if($return_data['halfyearheight'] >= $halfyearstandlist[$i]['val']){ + $return_data['halfyearheightlevel'] = $halfyearstandlist[$i]['level']; + break; + } + } + $return_data['halfyearstandheight'] = $halfyearstandlist[1]['val']; + // 处理一年信息 + if(count($one_year) >= 2){ + $return_data['yearheight'] = bcsub($one_year[0]['height_val'],$one_year[count($one_year)-1]['height_val'],2); + }else{ + $return_data['yearheight'] = 0; + } + // $height_standard_year = Db::table($this->card_use_db_name['12']) + // ->where(['gender'=>$user_last_data['gender'],'age'=>['<=',($month_age-12)<=0?0:$month_age-12]]) + // ->order('age desc') + // ->find(); + $height_standard_half = $this->count_increment_val($return_data,'one_year'); + $yearstandlist = [ + [ + 'val' => 0, + 'text' => '偏低', + 'color' => '#ffda69', + 'level' => 2 + ], + [ + 'val' => $height_standard_half, + 'text' => '正常', + 'color' => '#5ad06d', + 'level' => 1 + ] + ]; + for ($i=count($yearstandlist)-1; $i >=0 ; $i--) { + if($return_data['yearheight'] >= $yearstandlist[$i]['val']){ + $return_data['yearheightlevel'] = $yearstandlist[$i]['level']; + break; + } + } + $return_data['yearstandheight'] = $yearstandlist[1]['val']; + + $return_data['f3sd'] = $height_standard['f3sd']; + $return_data['f2sd'] = $height_standard['f2sd']; + $return_data['f1sd'] = $height_standard['f1sd']; + $return_data['median'] = $height_standard['middle']; + $return_data['z1sd'] = $height_standard['z1sd']; + $return_data['z2sd'] = $height_standard['z2sd']; + $return_data['z3sd'] = $height_standard['z3sd']; + $return_data['list'] = $true_altitude_list; + $return_data['halfyearstandlist'] = $halfyearstandlist; + $return_data['yearstandlist'] = $yearstandlist; + // dump($return_data); + // die; + $language_data = new Language(); + $zh_language = Db::table($this->card_use_db_name['11']) + ->where(['token'=>$data['token'],'is_del'=>0]) + ->field('id,language') + ->find(); + if(!$zh_language['language']){ + $zh_language['language'] = 'zh-Hans'; + } + $result_end = $language_data->handling_languages_from_multiple_countries($zh_language['language'], $return_data); + return $result_end; + + } + ################################################################其他接口################################################################ ################################################################其他接口################################################################ + public function count_increment_val($user,$type){ + // 加 bcadd(,,20) + // 减 bcsub(,,20) + // 乘 bcmul(,,20) + // 除 bcdiv(,,20) + // [ + // 'min_age' => 0, + // 'max_age' => 1, + // 'boy_val' => '26.1', + // 'girl_val' => '25.3', + // ], + $height_add_list = [ + [ + 'min_age' => 0, + 'max_age' => 1, + 'boy_val' => '26.1', + 'girl_val' => '25.3', + ], + [ + 'min_age' => 1, + 'max_age' => 2, + 'boy_val' => '12.0', + 'girl_val' => '12.2', + ], + [ + 'min_age' => 2, + 'max_age' => 3, + 'boy_val' => '8.3', + 'girl_val' => '8.4', + ], + [ + 'min_age' => 3, + 'max_age' => 4, + 'boy_val' => '7.3', + 'girl_val' => '7.5', + ], + [ + 'min_age' => 4, + 'max_age' => 5, + 'boy_val' => '7.2', + 'girl_val' => '7.1', + ], + [ + 'min_age' => 5, + 'max_age' => 6, + 'boy_val' => '6.4', + 'girl_val' => '6.4', + ], + [ + 'min_age' => 6, + 'max_age' => 7, + 'boy_val' => '7.8', + 'girl_val' => '7.5', + ], + [ + 'min_age' => 7, + 'max_age' => 8, + 'boy_val' => '5.2', + 'girl_val' => '5.2', + ], + [ + 'min_age' => 8, + 'max_age' => 9, + 'boy_val' => '5.1', + 'girl_val' => '5.6', + ], + [ + 'min_age' => 9, + 'max_age' => 10, + 'boy_val' => '5.0', + 'girl_val' => '6.3', + ], + [ + 'min_age' => 10, + 'max_age' => 11, + 'boy_val' => '6.8', + 'girl_val' => '6.2', + ], + [ + 'min_age' => 11, + 'max_age' => 12, + 'boy_val' => '6.2', + 'girl_val' => '5.0', + ], + [ + 'min_age' => 12, + 'max_age' => 13, + 'boy_val' => '8.0', + 'girl_val' => '3.7', + ], + [ + 'min_age' => 13, + 'max_age' => 14, + 'boy_val' => '5.4', + 'girl_val' => '1.7', + ], + [ + 'min_age' => 14, + 'max_age' => 15, + 'boy_val' => '4.6', + 'girl_val' => '0.7', + ], + [ + 'min_age' => 15, + 'max_age' => 16, + 'boy_val' => '1.6', + 'girl_val' => '0.4', + ], + [ + 'min_age' => 16, + 'max_age' => 17, + 'boy_val' => '0.8', + 'girl_val' => '0.3', + ], + [ + 'min_age' => 17, + 'max_age' => 18, + 'boy_val' => '0.0', + 'girl_val' => '0.8', + ], + ]; + + $temporary_arr1 = []; + $temporary_arr0 = []; + $gender = $user['gender'] == '男'?'boy_val':'girl_val'; + for ($i=0; $i < count($height_add_list); $i++) { + if($user['age_year'] >= $height_add_list[$i]['min_age'] && $user['age_year'] < $height_add_list[$i]['max_age']){ + $temporary_arr1 = $height_add_list[$i]; + if($i > 0){ + $temporary_arr0 = $height_add_list[$i-1]; + } + } + } + + $monthly = bcdiv($temporary_arr1[$gender],12,20); + if($type == 'half_year'){ + if($user['age_months'] >= 6){ + $return_data = bcmul($monthly,6,2); + return $return_data; + }else{ + if(count($temporary_arr0) > 0){ + $return_data = bcmul($monthly,$user['age_months'],20); + $return_data = bcadd($return_data,bcmul(bcdiv($temporary_arr0[$gender],12,20),bcsub(6,$user['age_months'],20),20),2); + return $return_data; + }else{ + $return_data = bcmul($monthly,6,2); + return $return_data; + } + } + }else{ + if($user['age_months'] < 12){ + if(count($temporary_arr0) > 0){ + $return_data = bcmul($monthly,$user['age_months'],20); + $return_data = bcadd($return_data,bcmul(bcdiv($temporary_arr0[$gender],12,20),bcsub(12,$user['age_months'],20),20),2); + return $return_data; + }else{ + $return_data = bcmul($monthly,12,2); + return $return_data; + } + }else{ + $return_data = bcmul($monthly,12,2); + return $return_data; + } + } + + } + public function body_temporary_use($age,$gender){ $return_data = [ 'height'=>'', diff --git a/application/testapp/controller/Index.php b/application/testapp/controller/Index.php index 9addb25..2296ca7 100644 --- a/application/testapp/controller/Index.php +++ b/application/testapp/controller/Index.php @@ -5,6 +5,7 @@ namespace app\testapp\controller; use think\Db; use \think\Validate; use app\testapp\controller\Language; +use think\Cache; // use ip2region\Ip2Region; class Index extends Base{ @@ -102,7 +103,7 @@ class Index extends Base{ ################################################################个人资料卡################################################################ // 检测版本及判断是否登录失效 - public function login_invalid_version($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function login_invalid_version($data = ['token'=>'2d4ea9b3f44b169ddf64b2f3d2725ceb','is_wechat'=>false]){ // try { // 获取客户端IP $ip = request()->ip(); @@ -138,6 +139,9 @@ class Index extends Base{ if(!array_key_exists('token', $data)){ return $this->msg(10001); } + if(!array_key_exists('is_wechat', $data)){ + $data['is_wechat'] = false; + } $result = Db::table($this->index_use_db_name['1'])->order('is_del,id desc')->find(); if($result){ $version = $result['version_num_original']; @@ -146,13 +150,30 @@ class Index extends Base{ $version = ''; $url = ''; } + $user_token_state = $this->token_time_validate($data['token']); - + // dump($user_token_state); $language_data = $this->pd_language($user_token_state['language'],$isSupportedLanguage,$language); + if($user_token_state['state'] === false){ - return $this->msg(-1,'未登录',['version'=>$version,'url'=>$url,'language'=>$language_data,'language_arr'=>$this->process_Language()]); + return $this->msg(-1,'未登录',[ + 'version'=>$version, + 'url'=>$url, + 'language'=>$data['is_wechat']?'zh-Hans':$language_data['user_language'], + 'ip_address'=>$language_data['address'], + 'language_arr'=>$this->process_Language() + ]); }else{ - return $this->msg(['version'=>$version,'url'=>$url,'language'=>$language_data,'language_arr'=>$this->process_Language()]); + if($data['is_wechat'] == true){ + $result = Db::table($this->index_use_db_name['7'])->where(['token'=>$data['token']])->update(['language'=>'zh-Hans']); + } + return $this->msg([ + 'version'=>$version, + 'url'=>$url, + 'language'=>$data['is_wechat']?'zh-Hans':$language_data['user_language'], + 'ip_address'=>$language_data['address'], + 'language_arr'=>$this->process_Language() + ]); } // } catch (\Exception $e) { @@ -1144,12 +1165,17 @@ class Index extends Base{ public function pd_language($user_language,$isSupportedLanguage,$language){ if(!$user_language){ if($isSupportedLanguage){ - $result = $language; + // $result = $language; + $result['user_language'] = null; + $result['address'] = $language; }else{ - $result = 'zh-Hans'; // 默认语言为中文 + $result = null; // 默认语言为中文 + $result['user_language'] = null; + $result['address'] = null; } }else{ - $result = $user_language; + $result['user_language'] = $user_language; + $result['address'] = $language; } return $result; } diff --git a/application/testapp/controller/Language.php b/application/testapp/controller/Language.php index a4ee93c..6bfddf1 100644 --- a/application/testapp/controller/Language.php +++ b/application/testapp/controller/Language.php @@ -26,6 +26,9 @@ class Language extends Base protected $languageMap = [ 'en' => [ '操作成功' => 'Success', + '男' => 'Male', + '女' => 'Female', + '年龄' => 'Age', '体重' => 'Weight', '身高' => 'Height', '消瘦' => 'Slim', @@ -37,12 +40,14 @@ class Language extends Base 'BMI是身体质量指数,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。' => "BMI is the body mass index, which is currently a commonly used international standard for measuring the degree of body fat, thinness, and health.", '公斤' => "kg", 'CM' => "cm", + '岁' => " years,", + '个月' => " months", '年' => "-", '月' => "-", '日' => "", '身体得分' => "Physical score", '分' => "score", - '身体类型' => "body type", + '身体类型' => "Body Type", '健美肌肉型' => "Bodybuilding muscle type", '低' => "Low", '偏低' => "Slightly low", @@ -51,34 +56,50 @@ class Language extends Base '高' => "High", '矮' => "Short", '偏矮' => "Slightly short", - '脂肪率' => "Body Fat Percentage", + // '脂肪率' => "Body Fat Percentage", + '脂肪率' => "Fat%", '体脂率是指身体成分中,脂肪组织所占的比率。测量体脂率比单纯的只测量体重更能反映我们身体的脂肪水平(肥胖程度)。' => "Body fat percentage refers to the proportion of fat tissue in body composition. Measuring it provides a more accurate reflection of body fat levels (degree of obesity) than weight measurement alone.", - '脂肪量' => "Fat Mass", + // '脂肪量' => "Fat Mass", + '脂肪量' => "Fat", '人体脂肪的重量' => "Body Fat Weight", - '肌肉率' => "Muscle Percentage", + // '肌肉率' => "Muscle Percentage", + '肌肉率' => "Muscle%", '优' => "Excellent", '根据人体肌肉总量和人体体重、身高等相结合得到的人体的一个比例值,这个值的范围决定一个人的身体健康状况以及力量的多少。' => "Muscle percentage is a ratio derived from total muscle mass, body weight, height, etc. Its range determines a person's health status and strength level.", - '肌肉量' => "Muscle Mass", + // '肌肉量' => "Muscle Mass", + '肌肉量' => "MM", '不足' => "Insufficient", '肌肉量=实际体重*肌肉率' => "Muscle Mass = Actual Weight × Muscle Percentage", - '水分' => "Body Water", + // '水分' => "Body Water", + '水分' => "TBW%", '指人体内水分比例。' => "Refers to the proportion of water in the human body.", + // '蛋白量' => "Protein Mass", '蛋白量' => "Protein Mass", '蛋白量=实际体重*蛋白率' => "Protein Mass = Actual Weight × Protein Percentage", - '骨重' => "Bone Mass", + // '骨重' => "Bone Mass", + '骨重' => "BMC", '单位体积内,骨组织、骨矿物质(钙、磷等)和骨基质(骨胶原、蛋白率、无机盐等等)含量,骨量代表它们骨骼健康的情况。' => "Bone mass refers to the content of bone tissue, minerals (calcium, phosphorus, etc.), and bone matrix (collagen, proteins, inorganic salts, etc.) per unit volume, reflecting skeletal health.", - '蛋白率' => "Protein Percentage", + // '蛋白率' => "Protein Percentage", + '蛋白率' => "Protein%", '人体内蛋白率含量。' => "The proportion of protein in the human body.", - '基础代谢' => "Basal Metabolic Rate (BMR)", + // '基础代谢' => "Basal Metabolic Rate (BMR)", + '基础代谢' => "BMR", '指人体在清醒而又极端安静的状态下,不受肌肉活动、环境温度、食物及精神紧张等影响时的能量代谢率' => "The energy expenditure rate when the body is awake, completely at rest, and unaffected by muscle activity, ambient temperature, food intake, or mental stress.", - '内脏指数' => "Visceral Fat Index", + // '内脏指数' => "Visceral Fat Index", + '内脏指数' => "VFL", '警惕' => "Caution", '危险' => "Danger", - '内脏脂肪指数' => "Visceral Fat Level", - '皮下脂肪' => "Subcutaneous Fat", + // '内脏脂肪指数' => "Visceral Fat Level", + '内脏脂肪指数' => "VFI", + // '皮下脂肪' => "Subcutaneous Fat", + '皮下脂肪' => "SubQ Fat", '皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织' => "Subcutaneous fat refers to adipose tissue stored under the skin. About two-thirds of body fat is stored subcutaneously.", + // '肥胖等级' => "Obesity Level", '肥胖等级' => "Obesity Level", '体重不足' => "Underweight", + '去脂体重' => "Lean Body Mass", + '体型' => "Body Type", + '体龄' => "Biological Age", '肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。' => "Obesity level indicates the disparity between actual and ideal weight, serving as a diagnostic criterion for obesity.", '孩子可能存在营养不良:对于处在生长发育期的孩子而言,蛋白质、碳水化合物、维生素和矿物质这四类营养素非常重要。建议补充足够的蛋白质、锌、钙、铁、维生素D、赖氨酸等营养。建议补充含鸡内金山楂膏健脾开胃类药食同源食物。' => "The child may be malnourished: For growing children, protein, carbohydrates, vitamins, and minerals are critical. Ensure adequate intake of protein, zinc, calcium, iron, vitamin D, lysine, etc. Consider herbal foods like chicken gizzard-hawthorn paste to improve digestion and appetite.", @@ -165,11 +186,13 @@ class Language extends Base '坚持适当、科学的跳跃运动能够科学地增加学生体重,能够改善学生体重过低的情况;同时运动会消耗能量并加速胃肠蠕动,这会使孩子的食欲大开,再配合均衡的营养有利于孩子增重。' => 'Consistent, properly-designed jumping exercises can scientifically increase students\' body mass and correct underweight conditions. Concurrently, physical training consumes energy and enhances digestive motility, stimulating appetite which - when supported by nutritional balance - promotes healthy weight gain.', - '《中华人民共和国卫生行业标准WS 423-2013》' => "《Chinese Health Industry Standard WS 423-2013》", + '《中华人民共和国卫生行业标准WS/T 423-2022》' => "《Chinese Health Industry Standard WS 423-2013》", + '《中华人民共和国卫生行业标准WS/T 612-2018》' => "《Chinese Health Industry Standard WS/T 612-2018》", - '《中华人民共和国卫生行业标准WS/T1586-2018》' => "《Chinese Health Industry Standard WS/T 1586-2018》", + '《中华人民共和国卫生行业标准WS/T 586-2018》' => "《Chinese Health Industry Standard WS/T 1586-2018》", '《WHO 5~19岁身高/体重判定标准》' => "《WHO Growth Reference for Children and Adolescents (5–19 Years)》", - '头围' => "Head Circumference", + // '头围' => "Head Circumference", + '头围' => "HC", '头围是指绕头部一周的最大长度,头围的大小与脑的发育密切相关' => "Head circumference refers to the maximum length around the head. Its measurement is closely related to brain development.", '跳绳数量或者分钟、秒钟值必须为整数' => 'The number of jump ropes, minutes, or seconds must be integers.', '跳绳数不能小于等于0' => 'The jump rope count cannot be less than or equal to 0.', @@ -196,6 +219,8 @@ class Language extends Base '之前' => 'Before', '之后' => 'After', '异常' => 'Abnormal', + '至' => 'To', + '无' => 'null', ], // 可以添加更多语言映射 ]; diff --git a/application/testapp/controller/Login.php b/application/testapp/controller/Login.php index acfa417..ee1fe9a 100644 --- a/application/testapp/controller/Login.php +++ b/application/testapp/controller/Login.php @@ -21,7 +21,7 @@ class Login extends Base{ ################################################################接口################################################################ // 注册 - public function register_action($data = ['data'=>13408173311,'password'=>'123','code'=>'746119']){ + public function register_action($data = ['data'=>13408173311,'password'=>'123','code'=>'746119','language'=>'en']){ try { // 你的业务逻辑 // 验证是否前段发送过来的数据 @@ -29,7 +29,7 @@ class Login extends Base{ $data = input('post.'); } // 验证数据项是否完整 - if(!array_key_exists('data', $data) || !array_key_exists('password', $data) || !array_key_exists('code', $data)){ + if(!array_key_exists('data', $data) || !array_key_exists('password', $data) || !array_key_exists('code', $data) || !array_key_exists('language', $data)){ return $this->msg(10001); } // 验证数据值是否合规 @@ -42,6 +42,9 @@ class Login extends Base{ if(!$this->verify_data_is_ok($data['code'],'num')){ return $this->msg(10005); } + if(!$this->verify_data_is_ok($data['language'],'str')){ + return $this->msg(10005); + } // 验证是手机还是邮箱 $montage_data = $this->is_tel_email($data['data']); if($montage_data == false){ @@ -73,9 +76,10 @@ class Login extends Base{ $set_data['create_time'] = date('Y-m-d H:i:s'); $set_data['login_time'] = date('Y-m-d H:i:s'); $set_data['token'] = md5($data['data'].$this->create_random_string(12).time()); + $set_data['language'] = $data['language']; $result = Db::table($this->login_use_db_name['1'])->insertGetId($set_data); if($result){ - $return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result]); + $return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result,'language'=>$data['language']]); }else{ $return_data = $this->msg(10002); } @@ -165,13 +169,13 @@ class Login extends Base{ } // 登录 - public function login_action($data = ['data'=>'18530934717','validate_data'=>'0932','type'=>'login','validate_type'=>'password']){ + public function login_action($data = ['data'=>'18530934717','validate_data'=>'0932','type'=>'login','validate_type'=>'password','language'=>'en']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); } - if(!array_key_exists('data', $data) || !array_key_exists('validate_data', $data) || !array_key_exists('validate_type', $data)){ + if(!array_key_exists('data', $data) || !array_key_exists('validate_data', $data) || !array_key_exists('validate_type', $data) || !array_key_exists('language', $data)){ return $this->msg(10001); } // 检测是否为手机 @@ -179,17 +183,19 @@ class Login extends Base{ if($montage_data == false){ return $this->msg(10005); } - + if(!$this->verify_data_is_ok($data['language'],'str')){ + return $this->msg(10005); + } $verify_result[$montage_data] = $data['data']; $verify_result['is_del'] = 0; // 检测校验途径 if($data['validate_type'] == 'code'){ $code_name = $data['data']; if($this->check_code($code_name,$data['validate_data']) === true){ - $result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token')->find(); + $result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token,language')->find(); if($result){ - Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s')]); - $return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']]); + Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s'),'language'=>$data['language']]); + $return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id'],'language'=>$data['language']]); }else{ $set_data['password'] = ''; $set_data[$montage_data] = $data['data']; @@ -198,9 +204,10 @@ class Login extends Base{ $set_data['create_time'] = date('Y-m-d H:i:s'); $set_data['login_time'] = date('Y-m-d H:i:s'); $set_data['token'] = md5($data['data'].$this->create_random_string(12).time()); + $set_data['language'] = $data['language']; $result = Db::table($this->login_use_db_name['1'])->insertGetId($set_data); if($result){ - $return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result],'登录成功'); + $return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result,'language'=>$data['language']],'登录成功'); }else{ $return_data = $this->msg(10002); } @@ -210,7 +217,7 @@ class Login extends Base{ } }else if($data['validate_type'] == 'password'){ // $verify_result['password'] = $data['validate_data']; - $result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token,password')->find(); + $result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token,password,language')->find(); if($result){ if($result['password'] == ''){ $return_data = $this->msg(10003,'该账户未设密码,请用验证码登录'); @@ -218,9 +225,8 @@ class Login extends Base{ if($data['validate_data'] != $result['password']){ $return_data = $this->msg(10003,'账号密码错误'); }else{ - - Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s')]); - $return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']],'登录成功'); + Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s'),'language'=>$data['language']]); + $return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id'],'language'=>$data['language']],'登录成功'); } }else{ $return_data = $this->msg(10003,'账号未注册,请先注册'); diff --git a/application/testapp/controller/Pagingcontrast.php b/application/testapp/controller/Pagingcontrast.php index cb1386e..24ea8e1 100644 --- a/application/testapp/controller/Pagingcontrast.php +++ b/application/testapp/controller/Pagingcontrast.php @@ -13,6 +13,7 @@ class Pagingcontrast extends Base{ '2'=>'app_card_skip_data_copy1', '3'=>'app_card_vitalcapacity_data_copy1', '4'=>'app_user_data_copy1', + '5'=>'app_account_number_copy1', ]; protected $request_result = [ '2'=>['height'=>['身高','cm'],'weight'=>['体重','kg'],'age'=>['年龄','岁'],'bmi'=>['BMI',''],'head'=>['头围',''],'fat_w'=>['脂肪量','kg'],'fat_r'=>['脂肪率','%'],'muscleval'=>['肌肉量','kg'],'muscle'=>['肌肉率','%'],'proteinval'=>['蛋白量','kg'],'protein'=>['蛋白率','%'],'water'=>['水分',''],'bone'=>['骨重','kg'],'visceral'=>['内脏指数',''],'sfr'=>['皮下脂肪','%'],'kcal'=>['基础代谢','kcal'],'un_fat_w_weight'=>['去脂体重','kg'],'body_age'=>['体龄',''],'body_level'=>['肥胖等级',''],'body_type'=>['体型','']], @@ -25,7 +26,7 @@ class Pagingcontrast extends Base{ ################################################请求接口################################################ // 获取记录信息(分组)(包含身体、跳绳、肺活量) public function get_all_record_data_group($data = ['aud_id'=>'202','s_time'=>'2024-04-01','e_time'=>'2025-06-12','type'=>'2']){ - try { + // try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); @@ -52,25 +53,26 @@ class Pagingcontrast extends Base{ } // 成功 $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); - } + // } 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_all_record_data_page($data = ['aud_id'=>'144','page'=>1,'token'=>'caadd1be045a65f30b92aa805f1de54a','type'=>'8']){ - try { + // try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); @@ -96,24 +98,24 @@ class Pagingcontrast extends Base{ // 成功 $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); - } + // } 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_all_record_detailed_information($data = ['id'=>'3802','type'=>'2','aan_id'=>'1841','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ - try { + // try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); @@ -127,28 +129,28 @@ class Pagingcontrast extends Base{ if(!$this->verify_data_is_ok($data['type'],'intnum')){ return $this->msg(10005); } - unset($data['token']); + // unset($data['token']); $return_data = $this->jump_transfer_interface_detailed($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); - } + // } 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_all_card_data_contrast($data = ['before_id'=>'171','after_id'=>'174','type'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){ - try { + // try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); @@ -165,29 +167,29 @@ class Pagingcontrast extends Base{ if(!$this->verify_data_is_ok($data['type'],'intnum')){ return $this->msg(10005); } - unset($data['token']); + // unset($data['token']); $return_data = $this->jump_transfer_interface_data_contrast($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); - } + // } 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 del_all_record_data($data = ['id'=>'29','type'=>'2','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ - try { + // try { // 你的业务逻辑 if(count(input('post.')) > 0){ $data = input('post.'); @@ -212,19 +214,19 @@ class Pagingcontrast extends Base{ // 成功 $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); - } + // } 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); + // } } ################################################请求接口################################################ @@ -310,7 +312,23 @@ class Pagingcontrast extends Base{ ]); } } - return $this->msg($return_result); + + $language_data = new Language(); + $user_language = Db::table($this->pagingcontrast_use_db_name['4']) + ->alias('a') + ->join(''.$this->pagingcontrast_use_db_name['5'].' b','a.aan_id = b.id','LEFT') + ->where(['a.id'=>$data['aud_id'],'a.is_del'=>0]) + ->field('b.language') + ->find(); + if(!$user_language['language']){ + $user_language['language'] = 'zh-Hans'; + } + $result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $return_result); + + // dump($result_end); + // die; + + return $this->msg($result_end); } // 获取记录信息列表(分组)-跳绳 // 获取记录信息列表(分页)-跳绳 @@ -504,8 +522,20 @@ class Pagingcontrast extends Base{ ]); } } + + $language_data = new Language(); + $user_language = Db::table($this->pagingcontrast_use_db_name['5']) + ->where(['token'=>$data['token'],'is_del'=>0]) + ->field('language') + ->find(); + if(!$user_language['language']){ + $user_language['language'] = 'zh-Hans'; + } + $result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $result_data); + + // 添加头围详细end - return $this->msg($result_data); + return $this->msg($result_end); }else{ return $this->msg(10004); } @@ -561,7 +591,7 @@ class Pagingcontrast extends Base{ } } - $return_data['time'] = $calculate_arr['before']['b_time'].'与'.$calculate_arr['after']['b_time']; + $return_data['time'] = $calculate_arr['before']['b_time'].'/'.$calculate_arr['after']['b_time']; $return_data['headimg'] = $calculate_arr['before']['head_pic']; $return_data['name'] = $calculate_arr['before']['nickname']; $return_data['gender'] = $calculate_arr['before']['gender']; @@ -652,7 +682,16 @@ class Pagingcontrast extends Base{ // } // 添加头围数据(如果需要的话)end - return $this->msg($return_data); + $language_data = new Language(); + $user_language = Db::table($this->pagingcontrast_use_db_name['5']) + ->where(['token'=>$data['token'],'is_del'=>0]) + ->field('language') + ->find(); + if(!$user_language['language']){ + $user_language['language'] = 'zh-Hans'; + } + $result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $return_data); + return $this->msg($result_end); } // 数据对比 public function get_skip_data_contrast($data){