<?phperror_reporting(0);abstract class Controller { protected $registry; protected $user_db = 1; protected $case_db = 2; protected $say_db = 5; protected $hshs_db = 7; protected $live_db = 6; protected $user_key = 'usergeo'; protected $case_key = 'casegeo'; protected $say_key = 'saysomegeo'; protected $hshs_key = 'hshsgeo'; protected $live_key = 'livegeo'; protected $userCustomer = 'userCustomer'; protected $caseCustomer = 'caseCustomer'; protected $sayCustomer = 'sayCustomer'; protected $hshsCustomer = 'hshsCustomer'; protected $liveCustomer = 'liveCustomer'; public function __construct($registry) { $this->registry = $registry; $this->load->model('json/account'); $this->load->model('log/access'); $this->load->model('log/myerror'); $request_url = $_SERVER['REQUEST_URI']; $str = http_build_query($_REQUEST); if(!$_REQUEST['customer_id'] && !$_REQUEST['telephone']) { $_REQUEST['customer_id'] = $_SERVER['REMOTE_ADDR']; } else if(!$_REQUEST['customer_id'] && $_REQUEST['telephone']) { $_REQUEST['customer_id'] = $_REQUEST['telephone']; } $this->model_log_access->add($_REQUEST['customer_id'], $_REQUEST['token'],$request_url,$str); } public function __get($key) { return $this->registry->get($key); } public function __set($key, $value) { $this->registry->set($key, $value); } public function exit( $json ) { $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } public function must_params($data) { $return = true; foreach($data as $val) { if(empty($this->request->post[$val])) { $return = false; break; } } return $return; } public function _construct($data) { foreach($data as $val) { if(empty($this->request->post[$val])) { return array('code'=>206,'message'=>'参数错误!'); break; } } if(!$this->customer->checkExpire()) { return array('code'=>201,'message'=>'未登录!'); } $customerId = $this->model_json_account->getIdByToken($this->request->post['token']); if($customerId != $this->request->post['customer_id']){ return array('code'=>206,'message'=>'参数错误!'); } return true; } public function _constructNoLogin($data) { $this->load->model('json/account'); foreach($data as $val) { if(empty($this->request->post[$val])) { return array('code'=>206,'message'=>'参数错误!'); break; } } return true; } public function return_output($data,$type = 'JSON') { if(empty($type)) $type = 'JSON'; if(strtoupper($type)=='JSON') { header('Content-Type: application/json'); exit(json_encode($data)); }elseif(strtoupper($type)=='XML'){ header('Content-Type:text/xml; charset=utf-8'); exit(xml_encode($data)); }elseif(strtoupper($type)=='EVAL'){ header('Content-Type:text/html; charset=utf-8'); exit($data); }else{ } } protected function formatCustomerNew($rVal,$req_post,$customerId) { $user_info = $this->model_json_account->getCustomerInfoAs($rVal['customer_id']); $rVal['nick_name'] = $user_info['nick_name']; $rVal['head_pic'] = $user_info['head_pic']; $rVal['online_status'] = $user_info['online_status']; $rVal['sex'] = $user_info['sex']; $rVal['heartbeat'] = $user_info['heartbeat']; $rVal['in_level'] = '1'; $rVal['cate_icon'] = $this->model_json_account->getCateIcon($rVal['customer_id']); $role_icons = $this->model_json_account->getRoleIcon($rVal['customer_id']); $rVal = array_merge($rVal,$role_icons); $whe = array('type'=>3,'item_id'=>$rVal['customer_id'],'customer_id'=>$customerId); $is_attention = $this->model_attention_attention->checkIsAttention($whe); $rVal['is_attention'] = $is_attention ? '1' : '0'; $customer_ids = array($rVal['customer_id'],$customerId); $whe = array('type'=>3,'customer_ids'=>$customer_ids); $is_about = $this->model_appointment_appointment->checkIsAppointmentCustomer($whe); $rVal['is_about'] = $is_about ? '1' : '0'; $rVal['about_num'] = $this->model_appointment_appointment->appointmentCou($rVal['customer_id']); $is_collect = $this->model_json_collect->isCollect($customerId,$rVal['customer_id'],1); $rVal['is_collect'] = $is_collect ? '1' : '0'; $isWishCheckPointWill = $this->model_wishcheck_wishcheck->isWishCheckPointWill($rVal['customer_id'],$customerId,3); $wishCheckPointWillNum = $this->model_wishcheck_wishcheck->wishCheckPointWillNum($customerId); $rVal = array_merge($rVal,$isWishCheckPointWill,$wishCheckPointWillNum); $data = $this->model_subject_sayshow->get($rVal['customer_id'],5); if($data) { $rVal['remark'] = $data['abstract']; } else { $rVal['remark'] = ''; } $ctime = time() - rand(86400,8640000); $rVal['ctime'] = date('Y.m.d',$ctime); $rVal['upcatname'] = '容通人'; $rVal['role_str'] = '咖啡园技能人'; $rVal['cate_name'] = '云南保山梯田咖啡园'; $rVal['position'] = '咖啡园种植匠人'; $rVal['affect_num'] = (string)rand(5550,6000); $lnglat = $this->model_map_lnglat->getOften($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'co_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->userCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['often_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); $online_time = formatOnlineTime($rVal['heartbeat']); $rVal = array_merge($rVal,$online_time); $lnglat = $this->model_map_lnglat->getLocal($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'cl_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->userCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['local_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); if($rVal['dist']) { $rVal['distance_num'] = $rVal['dist']; } else { $rVal['distance_num'] = $distance_num; } $rVal['lng'] = $lnglat['lng']; $rVal['lat'] = $lnglat['lat']; $rVal['address'] = $lnglat['address']; $rVal['id'] = $rVal['customer_id']; unset($rVal['heartbeat']); return $rVal; } protected function formatCaseNew($rVal,$req_post,$customerId) { $user_info = $this->model_json_account->getCustomerInfoAs($rVal['customer_id']); if(!$user_info['customer_id']) { return ''; } $rVal['nick_name'] = $user_info['nick_name']; $rVal['head_pic'] = $user_info['head_pic']; $rVal['online_status'] = $user_info['online_status']; $rVal['sex'] = $user_info['sex']; $rVal['heartbeat'] = $user_info['heartbeat']; $rVal['in_level'] = '1'; $rVal['cate_icon'] = $this->model_json_account->getCateIcon($rVal['customer_id']); $role_icons = $this->model_json_account->getRoleIcon($rVal['customer_id']); $rVal = array_merge($rVal,$role_icons); $whe = array('type'=>4,'item_id'=>$rVal['id'],'customer_id'=>$customerId); $is_attention = $this->model_attention_attention->checkIsAttention($whe); $rVal['is_attention'] = $is_attention ? '1' : '0'; $customer_ids = array($rVal['id'],$customerId); $whe = array('type'=>5,'customer_ids'=>$customer_ids); $is_about = $this->model_appointment_appointment->checkIsAppointmentCustomer($whe); $rVal['is_about'] = $is_about ? '1' : '0'; $rVal['about_num'] = $this->model_appointment_appointment->appointmentCou($rVal['customer_id']); $is_collect = $this->model_json_collect->isCollect($customerId,$rVal['id'],7); $rVal['is_collect'] = $is_collect ? '1' : '0'; $isWishCheckPointWill = $this->model_wishcheck_wishcheck->isWishCheckPointWill($rVal['id'],$customerId,5); $wishCheckPointWillNum = $this->model_wishcheck_wishcheck->wishCheckPointWillNum($customerId); $rVal = array_merge($rVal,$isWishCheckPointWill,$wishCheckPointWillNum); $data = $this->model_subject_sayshow->get($rVal['customer_id'],4); if($data) { $rVal['remark'] = $data['abstract']; } else { $rVal['remark'] = ''; } $rVal['timestring'] = date('Y.m.d',$rVal['ctime']); $lnglat = $this->model_map_lnglat->getOften($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'co_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->caseCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['often_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); $online_time = formatOnlineTime($rVal['heartbeat']); $rVal = array_merge($rVal,$online_time); $lnglat = $this->model_map_lnglat->getLocal($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'cl_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->caseCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['local_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); if($rVal['dist']) { $rVal['distance_num'] = $rVal['dist']; } else { $rVal['distance_num'] = $distance_num; } $rVal['lng'] = $lnglat['lng']; $rVal['lat'] = $lnglat['lat']; $rVal['address'] = $lnglat['address']; $sayInfo = $this->model_subject_say->getCaseSay($rVal['customer_id']); if(is_array($sayInfo)) { $sayInfo['type'] = '5'; } $rVal['say_info'] = $sayInfo; $hshsInfo = $this->model_subject_hshs->getCaseHshs($rVal['customer_id']); if(is_array($hshsInfo)) { $hshsInfo['has_video'] = $this->model_subject_hshs->hasVideo($hshsInfo['id']); $hshsInfo['type'] = '7'; } $rVal['hshs_info'] = $hshsInfo; $liveInfo = $this->model_qcloud_live->getCaseLive($rVal['customer_id']); if(is_array($liveInfo)) { $liveInfo['id'] = $liveInfo['live_id']; $liveInfo['type'] = '6'; } $rVal['live_info'] = $liveInfo; unset($rVal['heartbeat']); return $rVal; } protected function formatHshsNew($rVal,$req_post,$customerId) { $user_info = $this->model_json_account->getCustomerInfoAs($rVal['customer_id']); $rVal['head_pic'] = $user_info['head_pic']; $rVal['nick_name'] = $user_info['nick_name']; $rVal['sex'] = $user_info['sex']; $rVal['heartbeat'] = $user_info['heartbeat']; $rVal['timestring'] = date('Y-m-d H:i',$rVal['add_time']); $rVal['content_desc'] = $this->model_subject_hshs->hshsContentString($rVal['id']); if($rVal['case_id']) { $rVal['case_name'] = $this->model_case_case->getNameByCaseId($rVal['case_id']); } else { $rVal['case_name'] = ''; } $rVal['have_type_name'] = $rVal['have_type'] == 1 ? '特色篇' : '商业篇'; if($rVal['cate_id']) { $rVal['cate_name'] = $this->model_category_category->getFieldById($rVal['cate_id'],'name'); } else { $rVal['cate_name'] = ''; } $rVal['investment_name'] = $this->model_subject_hshs->investmentTypename($rVal['investment']); $rVal['in_level'] = '1'; $rVal['online_status'] = $user_info['online_status']; $rVal['cate_icon'] = $this->model_json_account->getCateIcon($rVal['customer_id']); $role_icons = $this->model_json_account->getRoleIcon($rVal['customer_id']); $rVal = array_merge($rVal,$role_icons); $rVal['about_num'] = $this->model_appointment_appointment->appointmentCou($rVal['customer_id']); $whe = array('type'=>2,'from_id'=>$rVal['id'],'customer_id'=>$customerId); $is_about = $this->model_appointment_appointment->checkIsAppointment($whe); $rVal['is_about'] = $is_about ? '1' : '0'; $whe = array('type'=>2,'item_id'=>$rVal['id'],'customer_id'=>$customerId); $is_attention = $this->model_attention_attention->checkIsAttention($whe); $rVal['is_attention'] = $is_attention ? '1' : '0'; $is_collect = $this->model_json_collect->isCollect($customerId,$rVal['id'],3); $rVal['is_collect'] = $is_collect ? '1' : '0'; $rVal['is_zan'] = $this->model_zan_hshs->checkIsZan($rVal['id'],$customerId); $rVal['is_condemn'] = $this->model_comment_hshs->isCondemn($customerId,$rVal['id']); $rVal['is_praise'] = $this->model_comment_hshs->isPraise($customerId,$rVal['id']); $rVal['is_neutral'] = $this->model_comment_hshs->isNeutral($customerId,$rVal['id']); $rVal['has_video'] = $this->model_subject_hshs->hasVideo($rVal['id']); $isWishCheckPointWill = $this->model_wishcheck_wishcheck->isWishCheckPointWill($rVal['customer_id'],$customerId,2); $wishCheckPointWillNum = $this->model_wishcheck_wishcheck->wishCheckPointWillNum($customerId); $rVal = array_merge($rVal,$isWishCheckPointWill,$wishCheckPointWillNum); $lnglat = $this->model_map_lnglat->getOften($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'co_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDIST($this->hshsCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['often_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); $online_time = formatOnlineTime($rVal['heartbeat']); $rVal = array_merge($rVal,$online_time); $lnglat = $this->model_map_lnglat->getLocal($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'hc_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->hshsCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['local_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); if($rVal['dist']) { $rVal['distance_num'] = $rVal['dist']; } else { $rVal['distance_num'] = $distance_num; } return $rVal; } protected function formatSaysomeNew($rVal,$req_post,$customerId) { $user_info = $this->model_json_account->getCustomerInfoAs($rVal['customer_id']); $rVal['head_pic'] = $user_info['head_pic']; $rVal['nick_name'] = $user_info['nick_name']; $rVal['sex'] = $user_info['sex']; $rVal['heartbeat'] = $user_info['heartbeat']; $rVal['timestring'] = date('Y-m-d H:i',$rVal['addtime']); $rVal['in_level'] = '1'; $rVal['online_status'] = $user_info['online_status']; $rVal['cate_icon'] = $this->model_json_account->getCateIcon($rVal['customer_id']); $role_icons = $this->model_json_account->getRoleIcon($rVal['customer_id']); $rVal = array_merge($rVal,$role_icons); $rVal['about_num'] = $this->model_appointment_appointment->appointmentCou($rVal['customer_id']); $whe = array('type'=>1,'from_id'=>$rVal['id'],'customer_id'=>$customerId); $is_about = $this->model_appointment_appointment->checkIsAppointment($whe); $rVal['is_about'] = $is_about ? '1' : '0'; $whe = array('type'=>1,'item_id'=>$rVal['id'],'customer_id'=>$customerId); $is_attention = $this->model_attention_attention->checkIsAttention($whe); $rVal['is_attention'] = $is_attention ? '1' : '0'; $is_collect = $this->model_json_collect->isCollect($customerId,$rVal['id'],4); $rVal['is_collect'] = $is_collect ? '1' : '0'; $rVal['is_zan'] = $this->model_zan_say->checkIsZan($rVal['id'],$customerId); $isWishCheckPointWill = $this->model_wishcheck_wishcheck->isWishCheckPointWill($rVal['customer_id'],$customerId,1); $wishCheckPointWillNum = $this->model_wishcheck_wishcheck->wishCheckPointWillNum($customerId); $rVal = array_merge($rVal,$isWishCheckPointWill,$wishCheckPointWillNum); $lnglat = $this->model_map_lnglat->getOften($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'co_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->sayCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['often_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); $online_time = formatOnlineTime($rVal['heartbeat']); $rVal = array_merge($rVal,$online_time); $lnglat = $this->model_map_lnglat->getLocal($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'sc_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->sayCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['local_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); if($rVal['dist']) { $rVal['distance_num'] = $rVal['dist']; } else { $rVal['distance_num'] = $distance_num; } return $rVal; } protected function formatLiveNew($rVal,$req_post,$customerId) { $user_info = $this->model_json_account->getCustomerInfoAs($rVal['customer_id']); $rVal['head_pic'] = $user_info['head_pic']; $rVal['nick_name'] = $user_info['nick_name']; $rVal['sex'] = $user_info['sex']; $rVal['heartbeat'] = $user_info['heartbeat']; switch($rVal['status']) { case 0: $rVal['status_name'] = '未开始'; $diff_time = $rVal['play_time'] - time(); $rVal['diff_time'] = (string)$diff_time; break; case 1: $rVal['status_name'] = '直播中'; $rVal['diff_time'] = ''; break; default: $rVal['status_name'] = '看录播'; $rVal['diff_time'] = ''; break; } $rVal['timestring'] = date('Y-m-d H:i',$rVal['create_time']); $rVal['cate_name'] = $this->model_category_category->getFieldById($rVal['cate_id'],'name'); $rVal['type_name'] = $this->model_category_category->getFieldById($rVal['type_id'],'name'); $rVal['fans_num'] = $this->model_attention_attention->getNum($rVal['customer_id'],$rVal['live_id']); $rVal['in_level'] = '1'; $rVal['online_status'] = $user_info['online_status']; $rVal['cate_icon'] = $this->model_json_account->getCateIcon($rVal['customer_id']); $role_icons = $this->model_json_account->getRoleIcon($rVal['customer_id']); $rVal = array_merge($rVal,$role_icons); $rVal['about_num'] = $this->model_appointment_appointment->appointmentCou($rVal['customer_id']); $whe = array('type'=>4,'from_id'=>$rVal['live_id'],'customer_id'=>$customerId); $is_about = $this->model_appointment_appointment->checkIsAppointment($whe); $rVal['is_about'] = $is_about ? '1' : '0'; $whe = array('type'=>5,'item_id'=>$rVal['live_id'],'customer_id'=>$customerId); $is_attention = $this->model_attention_attention->checkIsAttention($whe); $rVal['is_attention'] = $is_attention ? '1' : '0'; $is_collect = $this->model_json_collect->isCollect($customerId,$rVal['live_id'],6); $rVal['is_collect'] = $is_collect ? '1' : '0'; $rVal['is_zan'] = $this->model_zan_live->checkIsZan($rVal['live_id'],$customerId); $isWishCheckPointWill = $this->model_wishcheck_wishcheck->isWishCheckPointWill($rVal['customer_id'],$customerId,3); $wishCheckPointWillNum = $this->model_wishcheck_wishcheck->wishCheckPointWillNum($customerId); $rVal = array_merge($rVal,$isWishCheckPointWill,$wishCheckPointWillNum); $lnglat = $this->model_map_lnglat->getOften($rVal['customer_id']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'co_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->liveCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['often_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); $online_time = formatOnlineTime($rVal['heartbeat']); $rVal = array_merge($rVal,$online_time); $rVal['trades'] = array(); $lnglat = $this->model_map_lnglat->getLocal($rVal['customer_id']); $rVal['local_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address']); if($req_post['lng'] && $req_post['lat'] && $lnglat['lng'] && $lnglat['lat']) { $member_name1 = 'c_' . $customerId; $member_name2 = 'lc_' . $rVal['customer_id']; $member1 = array('member_name'=>$member_name1,'lng'=>$req_post['lng'],'lat'=>$req_post['lat']); $member2 = array('member_name'=>$member_name2,'lng'=>$lnglat['lng'],'lat'=>$lnglat['lat']); $distance_num = $this->redisMemberDistNew($this->liveCustomer,$member1,$member2); } else { $distance_num = ''; } $rVal['often_lng_lat'] = array('lng'=>$lnglat['lng'],'lat'=>$lnglat['lat'],'address'=>$lnglat['address'],'distance_num'=>$distance_num); if($rVal['dist']) { $rVal['distance_num'] = $rVal['dist']; } else { $rVal['distance_num'] = $distance_num; } $rVal['id'] = $rVal['live_id']; unset($rVal['create_time']); unset($rVal['trade_id']); unset($rVal['type_id']); unset($rVal['cate_id']); return $rVal; } protected function redisMemberDistNew($distKey,$mem1,$mem2) { $members = array($mem1,$mem2); $this->redis->geozadd($distKey,$members); $dist = $this->redis->get_geomemberdist($distKey,$mem1['member_name'],$mem2['member_name']); return format_dist($dist); }}