function actionChat() { $userid = $this->userid; //管理员的userid $page = $this->get('page', 1); $limit = $this->get('limit', 20); $exArr = array('page' => $page, 'limit' => $limit, 'order' => 'id desc', 'fields' => 'id,userid,targetid friendid,content msg,ctime'); //lastime if (1) { $MMessage = $this->LoadApiModel('message'); $date = $this->get('date'); list($date_start, $date_end) = CTime::DeltaMonths(-1); // echo "$date_start, $date_end"; $date = $date ? $date : $date_start; $friendid = $this->get('id'); if ($friendid) { //我与指定好友的消息(也就是我发给别人的) $whArr = array('type' => 0, 'targetid in' => array($friendid, $userid), 'removed>' => -1); $messArr = $MMessage->getMessages(null, $whArr, $exArr); } else { //别人发给我的 $whArr = array('type' => 0, 'or' => array('userid' => $userid, 'targetid' => $userid), 'removed>' => -1); // $exArr['fields'] .= ',max(ctime) lastime'; // $exArr['group'] = 'userid,targetid'; $messArr = $MMessage->getLastMessages($userid, $page); // print_r($messArr); $messArr = array('data' => $messArr, 'total' => count($messArr)); } CFun::removeArrayNull($whArr); // print_r($whArr); // print_r($messArr); if (false !== $messArr) { if (isset($messArr['data'])) { $MUser = $this->LoadApiModelMedical('user'); $uid_fild = $friendid ? 'userid' : 'friendid'; $fid_arr = $this->getArrayColumn($messArr['data'], $uid_fild); $userArr = $MUser->getUsers($fid_arr, null, array('limit' => count($fid_arr), 'only_data' => true, 'fields' => 'id,username,idcard,mobile')); if ($friendid) { $messArr['data'] = $this->joinToArray($messArr['data'], $userArr, 'userid:id', 'user'); } else { $messArr['data'] = $this->joinToArray($messArr['data'], $userArr, 'friendid:id', 'user'); } } $this->response($messArr); } } $this->error('没有任何消息'); }