diff --git a/application/app/controller/Base.php b/application/app/controller/Base.php index a4fa4ca..609d978 100644 --- a/application/app/controller/Base.php +++ b/application/app/controller/Base.php @@ -420,17 +420,17 @@ class Base extends Controller{ public function ceshiyong($aa = 4,$gd = 0.2){ $token = 'caadd1be045a65f30b92aa805f1de54a'; - $jieguo = $this->token_time_validate($token); + // $jieguo = $this->token_time_validate($token); // // // Log::record('用户尝试更新token时间,token:' . $token, 'log'); // // // phpinfo(); // // dump($jieguo); // // // return $jieguo; // // die; // // cache($token, time()); - $time = cache($token); - dump($jieguo); - dump($time); - // // die; + // $time = cache($token); + dump($token); + // dump($time); + die; diff --git a/application/testapp/controller/Base.php b/application/testapp/controller/Base.php index 6a851da..3f42fa4 100644 --- a/application/testapp/controller/Base.php +++ b/application/testapp/controller/Base.php @@ -15,12 +15,13 @@ class Base extends Controller{ '2'=>'test_app_card_data', '3'=>'test_app_user_data', '4'=>'test_pc_vitalcapacity_standard', - '5'=>'test_admin_estimate' + '5'=>'test_admin_estimate', + '6'=>'test_app_account_number' ]; protected $ceshiyong_token = ['57bd45e3a963b372ea2d873e4bd8d1f8','e0966788d02cc93290d9d674921d9715']; protected $base_call_method = ['内部']; - protected $token_time = 2592000;//30天的秒数 + protected $token_time = 30;//30天的秒数 protected $return_data_all = [ // '0' => ['success',[]], '10001'=>'关键参数缺失', @@ -151,22 +152,66 @@ class Base extends Controller{ // 判断token是否过期 public function token_time_validate($token){ + // 591b70e0d80b5fa6d77e6e1384453ab9 if(is_string($token)){ $length = strlen($token); if ($length < 10 ) { + Log::record('用户尝试更新token时间,token:' . $token.',但是更新token失败,字符串长度小于10', 'token_log'); return false; } }else{ + Log::record('用户尝试更新token时间,token:' . $token.',但是更新token失败,不是字符串', 'token_log'); return false; } - if(cache($token) === false){ + + $user_login = Db::table($this->base_use_db_name['6'])->where(['token'=>$token])->field('id,login_time')->find(); + if(!$user_login){ + Log::record('用户尝试更新token时间,token:' . $token.',但是更新token失败,未找到用户token', 'token_log'); + return false; + } + + // 创建 DateTime 对象来表示指定的日期和时间 + $specifiedDateTime = new \DateTime($user_login['login_time']); + + // 获取当前时间的 DateTime 对象 + $currentDateTime = new \DateTime(); + + // 计算两个日期之间的差异(以秒为单位) + $interval = $currentDateTime->diff($specifiedDateTime); + + // 将差异转换为天数(注意:这里的天数可能不是整数,因为差异可能包括小时、分钟等) + $daysDifference = $interval->days; + + // 如果需要更精确的计算(包括小时、分钟等转换成的天数),可以使用以下方式: + // $totalSecondsDifference = $interval->format('%a') * 86400 + $interval->format('%h') * 3600 + $interval->format('%i') * 60 + $interval->format('%s'); + // $daysDifference = floor($totalSecondsDifference / 86400); // 将总秒数转换为天数并取整 + + // 判断差异是否超过指定的天数 + if ($daysDifference > $this->token_time) { + // echo "超过 {$specifiedDays} 天"; Log::record('用户尝试更新token时间,token:' . $token.',但是更新token失败,原因没有找到该token,或该token已经超过30天', 'token_log'); return false; - } - $time_now = date('Y-m-d H:i:s'); - cache($token,$time_now,$this->token_time); - Log::record('用户尝试更新token时间,token:' . $token.',记录成功,最新的时间为'.$time_now, 'token_log'); - return true; + } 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){ + Log::record('用户尝试更新token时间,token:' . $token.',记录成功,最新的时间为'.date('Y-m-d H:i:s'), 'token_log'); + return true; + }else{ + Log::record('用户尝试更新token时间,token:' . $token.',但是更新token失败,数据库更新时间未成功', 'token_log'); + return true; + } + + } + + // if(cache($token) === false){ + // Log::record('用户尝试更新token时间,token:' . $token.',但是更新token失败,原因没有找到该token,或该token已经超过30天', 'token_log'); + // return false; + // } + // $time_now = date('Y-m-d H:i:s'); + // cache($token,$time_now,$this->token_time); + // Log::record('用户尝试更新token时间,token:' . $token.',记录成功,最新的时间为'.$time_now, 'token_log'); + // return true; } // 计算天数 @@ -493,8 +538,10 @@ class Base extends Controller{ public function ceshiyong($aa = 4,$gd = 0.2){ - dump('ok'); - $this->send_email_api_error(["tsf3920322@126.com"],['title'=>'接口报错','from_user_name'=>'青测API','content'=>'123']); + $token = 'cd3f27cf4c4002170ea7bceeb723ac91'; + dump(cache($token)); + // dump('ok'); + // $this->send_email_api_error(["tsf3920322@126.com"],['title'=>'接口报错','from_user_name'=>'青测API','content'=>'123']); } diff --git a/application/testapp/controller/Calculatebody.php b/application/testapp/controller/Calculatebody.php index 90f3429..7066b5e 100644 --- a/application/testapp/controller/Calculatebody.php +++ b/application/testapp/controller/Calculatebody.php @@ -65,10 +65,7 @@ class Calculatebody extends Base{ 'adc'=>$data['adc'], 'gender'=>$data['gender'], ]; - // dump($temporary_parameter); - $request_result = $this->postRequest($url,$temporary_parameter); - // dump($request_result); $result['weight'] = $request_result['data']['weight']; $result['height'] = $request_result['data']['height']; $result['bmi'] = $request_result['data']['bmi']; diff --git a/application/testapp/controller/Card.php b/application/testapp/controller/Card.php index 3851fbb..a38a1f7 100644 --- a/application/testapp/controller/Card.php +++ b/application/testapp/controller/Card.php @@ -17,9 +17,9 @@ class Card extends Base{ '5'=>'test_pc_weightstand', '6'=>'test_pc_childrenprescription', '7'=>'test_pc_childprescriptionbyage', - '8'=>'test_pc_heightstand2', - '9'=>'test_pc_weightstand2', - '10'=>'test_pc_bmistand2', + '8'=>'test_pc_heightstand', + '9'=>'test_pc_weightstand', + '10'=>'test_pc_bmistand', ]; 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'=>'%',]; @@ -84,7 +84,7 @@ class Card extends Base{ // 详细卡片信息 // $data = ['id'=>'2'] - public function card_data_detailed($data=['aud_id'=>'87','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function card_data_detailed($data=['aud_id'=>'11','token'=>'caadd1be045a65f30b92aa805f1de54a']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -116,7 +116,7 @@ class Card extends Base{ } // 曲线页面-曲线接口 - public function card_curve_chart($data = ['aud_id'=>'83','s_time'=>'2024-04-01','e_time'=>'2024-07-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function card_curve_chart($data = ['aud_id'=>'11','s_time'=>'2024-04-01','e_time'=>'2024-10-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -148,7 +148,7 @@ class Card extends Base{ // 手动记录 // $data = ['id'=>'2','time'=>'1991-04-20 10:10:10','height'=>'15.1','weight'=>'75.1'] - public function card_manual_recording($data = ['aud_id'=>'83','time'=>'2024-07-24','height'=>'145.7','weight'=>'41.3','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function card_manual_recording($data = ['aud_id'=>'11','time'=>'2024-10-12','height'=>'155.7','weight'=>'46.7','token'=>'caadd1be045a65f30b92aa805f1de54a']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -198,7 +198,6 @@ class Card extends Base{ } $data['time'] = date('Y-m-d H:i:s'); $data['acd_id'] = '2'; - return $return_data = $this->set_user_body_data($data); // 成功 $this->record_api_log($data, null, $return_data); @@ -294,25 +293,17 @@ class Card extends Base{ where acbd.aud_id='".$data['aud_id']."' order by acbd.record_time desc "); - // dump($result); - // die; if(!$result){ return $this->msg(10004); }else{ // $curve_bottom = $this->card_curve_target_action($result); $result_end = $this->processing_return_data_new($result[0]); - // dump($result_end); - // die; $cardparts = new Cardparts; - // dump($result_end); $result_end['gender'] = $result[0]['gender']; $result_end['record_time'] = $result[0]['record_time']; $result_end['score'] = $result_end['score']; $result_end['body_type'] = $result_end['body_type']; $result_end = $cardparts->conversion_interval($result_end); - // dump($result); - // dump($result_end); - // die; $result_end['cplist'] = $this->grow_up_recommendation([ 'birthday'=>$result[0]['birthday'], 'body'=>[ @@ -337,16 +328,11 @@ class Card extends Base{ } // 返回数据处理 public function processing_return_data_new($data){ - // dump($data); $result_end_data = []; $month_num = $this->calculateAgeInMonthsWithPrecision($data['birthday']); $gender_val = $data['gender']; - // dump($data); - // dump($this->result_end_data_mould); - // die; foreach ($data as $key => $value) { if($key != 'aud_id' && $key != 'id' && $key != 'create_time' && $key != 'last_update_time' && $key != 'acd_id' && $key != 'ROW_NUMBER' && $key != 'record_time' && $key != 'gender' && $key != 'birthday'){ - // dump($key); // 设置单个数据格式 $result_end_data[$key] = $this->result_end_data_mould; if(array_key_exists($key, $this->unit_name)){ @@ -359,11 +345,7 @@ class Card extends Base{ if(strpos($value, ',')){ $result_end_data[$key]['standard'] = explode(',',$value)[1]; } - // dump($result_end_data[$key]); if(array_key_exists($key, $this->standard_color)){ - // dump($key); - // dump($result_end_data[$key]); - // dump($this->standard_color[$key]); if($result_end_data[$key]['standard'] != '异常'){ $result_end_data[$key]['color'] = $this->standard_color[$key][$result_end_data[$key]['standard']]; } @@ -373,9 +355,7 @@ class Card extends Base{ if(array_key_exists($key, $this->bhw_list)){ $result_end_data[$key]['list'] = $this->bhw_list[$key]; if($key == 'bmi'){ - // dump($month_num); $bhw_date = Db::table($this->card_use_db_name['3'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select(); - // dump($bhw_date); if($bhw_date){ $result_end_data[$key]['list'][0]['max_val'] = $bhw_date[0]['f1sd']; $result_end_data[$key]['list'][1]['min_val'] = $bhw_date[0]['f1sd']; @@ -399,8 +379,6 @@ class Card extends Base{ } }else if($key == 'weight'){ $bhw_date = Db::table($this->card_use_db_name['5'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select(); - // dump($value); - // dump($bhw_date);/ if($bhw_date){ $result_end_data[$key]['list'][0]['max_val'] = $bhw_date[0]['f2sd']; $result_end_data[$key]['list'][1]['min_val'] = $bhw_date[0]['f2sd']; @@ -417,10 +395,6 @@ class Card extends Base{ } } } - // $result_end_data['age'] = $data['age']; - // dump($data['age']); - // dump($result_end_data); - // die; return $result_end_data; } @@ -457,7 +431,6 @@ class Card extends Base{ $min_key = array_search($min_value,$temporary_arr); $type_num = $this->card_body_level[$min_key]['value']; $temporary_arr2 = Db::table($this->card_use_db_name['6'])->where(['Type'=>$type_num,'Level'=>$min_value,'IsDeleted'=>0])->field('Nutrition,Sport')->find(); - // dump($temporary_arr2); array_push($result['nutritionlist'],$temporary_arr2['Nutrition']); array_push($result['sportlist'],$temporary_arr2['Sport']); // $result['nutritionlist'] = $temporary_arr2['Nutrition']; @@ -510,7 +483,6 @@ class Card extends Base{ // ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr") ->order('record_time desc') ->select(); - // dump($user_data_list); // 下面业务逻辑是取每天的,最近后一次记录成绩 $data_arr = []; @@ -529,9 +501,6 @@ class Card extends Base{ array_push($record_arr2,$user_data_list[$key]); } } - // dump($record_arr1); - // dump($record_arr2); - // die; foreach ($this->card_body_curve_arr as $key => $value) { $temporary_arr = []; $temporary_arr['title'] = $this->card_body_curve_arr2[$key]; @@ -546,7 +515,6 @@ class Card extends Base{ array_push($data_arr,$temporary_arr); } } - // dump($data_arr); return $this->msg($data_arr); } @@ -583,13 +551,17 @@ class Card extends Base{ $result_data['adc'] = $data['adc']; } $calculate_body_formula = new Calculatebody(); + // 计算身体数据 $get_body_value = $calculate_body_formula->calculate_body_data_result($result_data); - + // dump($get_body_value); + // die; $get_body_value['gender'] = $user_data['gender']; $get_body_value['birthday'] = $user_data['birthday']; // 添加身高体重bmi的标尺标准 $get_body_value = $this->hwb_standard($get_body_value); + // dump($get_body_value); + // die; $set_data = [ 'acd_id'=>$data['acd_id'], 'aud_id'=>$data['aud_id'], @@ -644,7 +616,8 @@ class Card extends Base{ // 添加身高体重bmi的标准 public function hwb_standard($data){ - + // dump($data); + // die; $linshi_data = []; $month_num = $this->calculateAgeInMonthsWithPrecision($data['birthday']); // dump($month_num); @@ -654,6 +627,7 @@ class Card extends Base{ if($key =='身高'){ $linshi_data['身高'] = $this->bhw_list['height']; $bhw_date = Db::table($this->card_use_db_name['8'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select(); + if($bhw_date){ $linshi_data['身高'][0]['max_val'] = $bhw_date[0]['f2sd']; $linshi_data['身高'][1]['min_val'] = $bhw_date[0]['f2sd']; @@ -665,9 +639,12 @@ class Card extends Base{ $linshi_data['身高'][4]['min_val'] = $bhw_date[0]['z2sd']; $linshi_data['身高'][4]['max_val'] = $bhw_date[0]['z3sd']; } + }else if($key =='体重'){ $linshi_data['体重'] = $this->bhw_list['weight']; $bhw_date = Db::table($this->card_use_db_name['9'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select(); + // dump($data['体重']); + // dump($bhw_date); if($bhw_date){ $linshi_data['体重'][0]['max_val'] = $bhw_date[0]['f2sd']; $linshi_data['体重'][1]['min_val'] = $bhw_date[0]['f2sd']; diff --git a/application/testapp/controller/Cardparts.php b/application/testapp/controller/Cardparts.php index b18196f..30ca62a 100644 --- a/application/testapp/controller/Cardparts.php +++ b/application/testapp/controller/Cardparts.php @@ -216,7 +216,6 @@ class Cardparts extends Base{ $temporary_arr['top_list'][$key]['offset'] = $this->calculate_landing_point($temporary_arr['top_list'][$key]['list'],$temporary_arr['top_list'][$key]['value'],$temporary_arr['top_list'][$key]['standard']); } } - // 处理底部list foreach ($temporary_arr['bottom_list'] as $key => $value) { // dump($value['key_name']); diff --git a/application/testapp/controller/Cardpublic.php b/application/testapp/controller/Cardpublic.php index 86e4d14..7c9f35d 100644 --- a/application/testapp/controller/Cardpublic.php +++ b/application/testapp/controller/Cardpublic.php @@ -75,13 +75,13 @@ class Cardpublic extends Base{ // {"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'=>'1','acd_id'=>'11','name'=>'200米','data'=>'02:00','record_time'=>'2024-09-27','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function data_save($data = ['aud_id'=>'1','acd_id'=>'10','name'=>'50米','data'=>'9.5','record_time'=>'2024-10-11']){ 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('name', $data) || !array_key_exists('data', $data) || !array_key_exists('record_time', $data) || !array_key_exists('token', $data)){ + 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)){ return $this->msg(10001); } $return_data = $this->data_save_action($data); @@ -137,7 +137,7 @@ class Cardpublic extends Base{ } // 卡片运动曲线 - 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-11-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -374,7 +374,7 @@ class Cardpublic extends Base{ ], [ 'id'=>'9', - 'name'=>'仰卧起坐', + 'name'=>'1分钟仰卧起坐', 'number'=>true, 'type'=>1, 'time'=>false, @@ -561,7 +561,10 @@ class Cardpublic extends Base{ return $this->msg(10005); } } + $score_all_data = $this->calculation_score($user_data['gender'],$data,$card_data_sub_item_data['type']); + // dump($score_all_data); + // die; $save_data = [ 'acd_id' => $card_data_sub_item_data['acd_id'], 'acdsi_id' => $card_data_sub_item_data['id'], @@ -625,7 +628,8 @@ class Cardpublic extends Base{ if(!$user_data){ 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'],'is_del'=>0])->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 r_t,record_time')->select(); + // dump($card_sub_item_data); $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 = []; $return_data = []; @@ -636,7 +640,7 @@ class Cardpublic extends Base{ // 往临时数组内填入数据 foreach ($card_sub_item_data as $key => $value) { // dump($value); - array_push($temporary_arr[$value['acdsi_id']]['time'],$value['record_time']); + array_push($temporary_arr[$value['acdsi_id']]['time'],$value['r_t']); array_push($temporary_arr[$value['acdsi_id']]['data'],$value['score']); } $num = 0; @@ -776,7 +780,9 @@ class Cardpublic extends Base{ // 计算得分成绩以及线性进度 public function calculation_score($gender,$data,$type){ - // $card_name['card_name'] = ; + // dump($gender); + // dump($data); + // dump($type); $card_name['project_name'] = $data['name']; $card_name['score'] = 0; $card_name['offset'] = 0; @@ -800,8 +806,11 @@ class Cardpublic extends Base{ } } } + // dump($type); foreach ($card_name['rule']['content'] as $key => $value) { - if($type == '分/秒'){ + // dump($key); + // dump($value); + if($type == '4'){ $rule_result = $this->convertMinutesSecondsToStringSeconds($value[0]); $data_result = $this->convertMinutesSecondsToStringSeconds($data['data']); }else{ @@ -831,23 +840,37 @@ class Cardpublic extends Base{ // 如果比较符号不是上述任何一个,可以抛出一个异常或错误 throw new Exception("Unsupported comparison operator: " . $value[1]); } + if($result == true){ + // dump($value[2]); $card_name['score'] = $value[2]; - if($value[2] < 100){ - $card_name['offset'] = $value[2]; - }else{ - $card_name['offset'] = 100; - } - // $card_name['offset'] = bcdiv($value[2],$card_name['diagram'][count($card_name['diagram'])-1]['max_val'],0); break; } } + // 加 bcadd(,,20) + // 减 bcsub(,,20) + // 乘 bcmul(,,20) + // 除 bcdiv(,,20) foreach ($describe_list as $key => $value) { + // dump($key); if($card_name['score'] >= $value['min_val'] && $card_name['score'] <= $value['max_val']){ $card_name['standard'] = $value['text']; $card_name['color'] = $value['color']; + // dump($card_name); + if($card_name['score'] < 100){ + // 计算当前区间内的比值() + // dump($card_name['score']); + // dump($value); + // dump(bcsub($card_name['offset'],$value['min_val'],20)); + // dump(bcsub($value['max_val'],$value['min_val'],20)); + $card_name['offset'] = bcmul(bcdiv(bcsub($card_name['score'],$value['min_val'],20),bcsub($value['max_val'],$value['min_val'],20),4),25,2); + // 计算全线性下比值 + $card_name['offset'] = bcadd($card_name['offset'],bcmul(($key),25,0),0); + }else{ + $card_name['offset'] = '100'; + } break; } } @@ -857,7 +880,11 @@ class Cardpublic extends Base{ // $card_name['default_data_format'] = $card_name['rule']['value']; // $card_name['default_data_type'] = $card_name['rule']['type']; // $card_name['list'] = $describe_list; + unset($card_name['rule']); + + // dump($card_name); + // die; return $card_name; } diff --git a/application/testapp/controller/Index.php b/application/testapp/controller/Index.php index 6a8bf44..8910094 100644 --- a/application/testapp/controller/Index.php +++ b/application/testapp/controller/Index.php @@ -60,7 +60,7 @@ class Index extends Base{ ################################################################个人资料卡################################################################ // 检测版本及判断是否登录失效 - public function login_invalid_version($data = ['token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ + public function login_invalid_version($data = ['token'=>NULL]){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -78,7 +78,6 @@ class Index extends Base{ $url = ''; } if($this->token_time_validate($data['token']) === false){ - $this->record_api_log($data, null, ['code'=>-1,'msg'=>'未登录',['version'=>$version,'url'=>$url]]); return $this->msg(-1,'未登录',['version'=>$version,'url'=>$url]); }else{ @@ -247,7 +246,7 @@ class Index extends Base{ $temporary_data = []; if($data['type'] == 1){ for ($i=0; $i < count($result); $i++) { - array_push($temporary_data,['id'=>$result[$i]['id'],'nickname'=>$result[$i]['nickname']]); + array_push($temporary_data,['id'=>$result[$i]['id'],'nickname'=>$result[$i]['nickname'],'identity_name'=>$result[$i]['identity_name'],'identity_id'=>$result[$i]['identity_id']]); } }else{ for ($i=0; $i < count($result); $i++) { @@ -291,7 +290,7 @@ class Index extends Base{ } // 获取用户信息 - $result = Db::table($this->index_use_db_name['2'])->where(['id'=>$data['aud_id']])->field('id,aan_id,nickname,head_pic,birthday,gender,card_order,target_weight,initial_weight,initial_date,weight')->find(); + $result = Db::table($this->index_use_db_name['2'])->where(['id'=>$data['aud_id']])->field('id,aan_id,nickname,head_pic,birthday,gender,card_order,target_weight,initial_weight,initial_date,weight,address,identity_id')->find(); // 获取用户身体卡片信息 $weight_data_pd = Db::table($this->index_use_db_name['3'])->where(['aud_id'=>$data['aud_id']])->order('record_time desc')->field('id,weight_val,record_time')->find(); @@ -359,7 +358,9 @@ class Index extends Base{ } // 获取设备信息进入卡片 end // 插入肺活量的卡片标准 - $result['address'] = $this->moren_gufen_diqu; + if($result['address'] == ''){ + $result['address'] = $this->moren_gufen_diqu; + } $result['vitalcapacity_data'] = $this->get_vitalcapacity_data($result['id']); // 成功 $this->record_api_log($data, null, ['code'=>0,'msg'=>'success',$result]); @@ -491,13 +492,16 @@ class Index extends Base{ if(count(input('post.')) > 0){ $data = input('post.'); } - if(!array_key_exists('token', $data)){ - $this->record_api_log($data, null, ['code'=>10001,'msg'=>'',[]]); - return $this->msg(10001); - } + // if(!array_key_exists('token', $data)){ + // $this->record_api_log($data, null, ['code'=>10001,'msg'=>'',[]]); + // return $this->msg(10001); + // } $address_data = Db::table($this->base_use_db_name['5'])->where(['type' => '2'])->cache(3600)->field('id,content,city,area')->find(); $return_data['area_list'] = json_decode($address_data['content'],true); - $return_data['identity_list'] = $this->identity_list; + $return_data['identity_list'] = []; + foreach ($this->identity_list as $key => $value) { + array_push($return_data['identity_list'],['id'=>$key,'name'=>$value]); + } $return_data['grade_list'] = $this->grade_list; $this->record_api_log($data, null, ['code'=>0,'msg'=>'success',[]]); return $this->msg($return_data); @@ -518,7 +522,7 @@ class Index extends Base{ } // 修改用户所属区域 - public function update_user_address($data=['aud_id'=>'1','address_data'=>'上海']){ + public function update_user_address($data=['aud_id'=>'1','address_data'=>'上海,上海']){ try { if(count(input('post.')) > 0){ $data = input('post.'); @@ -532,8 +536,8 @@ class Index extends Base{ $this->record_api_log($data, null, ['code'=>10003,'msg'=>'',[]]); return $this->msg(10003); } - - $address_result = Db::table($this->base_use_db_name['10'])->where(['province' => $data['address_data']])->cache(3600)->field('id,recommend_cards')->find(); + $address_data = explode(',',$data['address_data']); + $address_result = Db::table($this->base_use_db_name['10'])->where(['province' => $address_data[0]])->cache(3600)->field('id,recommend_cards')->find(); if(!$address_result){ $this->record_api_log($data, null, ['code'=>10003,'msg'=>'',[]]); return $this->msg(10003); @@ -836,6 +840,8 @@ class Index extends Base{ } } } + $address_data = Db::table($this->index_use_db_name['10'])->where(['province'=>explode(',',$parameter['address'])[0],'is_del'=>0])->field('id,recommend_cards')->find(); + $parameter['card_order'] = $address_data['recommend_cards']; return $parameter; } public function verify_parameters2($data,$type){ @@ -892,18 +898,28 @@ class Index extends Base{ $parameter['address'] = $data['address']; // $parameter['identity_data'] = $data['identity']; $parameter['last_update_time'] = date('Y-m-d H:i:s'); + $aan_id = $data['aan_id']; + if(!array_key_exists($parameter['identity_id'],$this->identity_list)){ return '身份信息错误'; }else{ if($parameter['identity_id'] != 'P0'){ $parameter['identity_name'] = $this->identity_list[$data['identity_id']]; - $result = Db::table($this->index_use_db_name['2'])->where(['identity_id'=>$parameter['identity_id'],'aan_id'=>$parameter['aan_id'],'is_del'=>0])->count(); - if($result>0){ + $result = Db::table($this->index_use_db_name['2'])->where(['identity_id'=>$parameter['identity_id'],'aan_id'=>$aan_id,'is_del'=>0])->field('id,identity_id')->find(); + if($result && $parameter['id'] != $result['id']){ return '该身份已存在'; } } } + if($data['address'] != ''){ + $address_data = explode(',', $data['address']); + $card_result = Db::table($this->index_use_db_name['10'])->where(['province'=>$address_data[0],'is_del'=>0])->field('id,recommend_cards')->find(); + $parameter['card_order'] = $card_result['recommend_cards']; + }else{ + $parameter['card_order'] = '2'; + } + return $parameter; } diff --git a/application/testapp/controller/Skip.php b/application/testapp/controller/Skip.php index fc28545..e059997 100644 --- a/application/testapp/controller/Skip.php +++ b/application/testapp/controller/Skip.php @@ -7,7 +7,7 @@ use think\Db; class Skip extends Base{ protected $color = ['#FF5656','#FFAB00','#5AD06D','#6492F6','#3967D6']; - protected $curve_data_format = ['jump_num'=>['跳绳个数','个数/个','#009DFF'],'jump_time'=>['跳绳时长','时长/分','#009DFF'],'jump_kcal'=>['消耗卡路里','卡路里/kcal','#009DFF']]; + protected $curve_data_format = ['jump_num'=>['跳绳个数','个','#009DFF'],'jump_time'=>['跳绳时长','分钟','#009DFF'],'jump_kcal'=>['消耗卡路里','kcal','#009DFF']]; protected $skip_use_db_name = [ '1'=>'test_app_card_skip_data', '2'=>'test_app_user_data', @@ -146,7 +146,7 @@ class Skip extends Base{ } // 曲线 - public function skip_curve_chart($data = ['aud_id'=>'83','time'=>'2024-07-24','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ + public function skip_curve_chart($data = ['aud_id'=>'9','time'=>'2024-10','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ try { // 你的业务逻辑 if(count(input('post.')) > 0){ @@ -361,19 +361,9 @@ class Skip extends Base{ $temporary_arr['line']['series'][0]['data'] = []; foreach ($result as $k => $v) { if($key_condition == 'hour'){ - // 每一次的记录都添加进去 array_push($temporary_arr['line']['categories'],$result[$k]['hour'].':'.$result[$k]['minute']); array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]); - - // // 根据小时分组 - // if(in_array($result[$k][$key_condition].'时',$temporary_arr['line']['categories'])){ - // $num = array_search($result[$k][$key_condition].'时', $temporary_arr['line']['categories']); - // $temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2); - // }else{ - // array_push($temporary_arr['line']['categories'],$result[$k][$key_condition].'时'); - // array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]); - // } }else if($key_condition == 'day'){ // 根据天分组 if(in_array($result[$k]['month'].'/'.$result[$k][$key_condition],$temporary_arr['line']['categories'])){ @@ -398,8 +388,14 @@ class Skip extends Base{ // dump($temporary_arr); array_push($return_data,$temporary_arr); } + // dump($return_data); + // dump($return_data[1]['line']['series'][0]['data']); foreach ($return_data[1]['line']['series'][0]['data'] as $key => $value) { + $return_data[1]['line']['series'][0]['data'][$key] = bcdiv($return_data[1]['line']['series'][0]['data'][$key],60,2); + // $jump_time_long = $this->handle_hour_branch_second($return_data[1]['line']['series'][0]['data'][$key]); + // $return_data[1]['line']['series'][0]['data'][$key] = $jump_time_long['h'].':'.$jump_time_long['m'].':'.$jump_time_long['s']; + } return $this->msg($return_data); }