Esempio n. 1
0
 public function readDialog($dialogIds)
 {
     if (!is_array($dialogIds)) {
         $dialogIds = array($dialogIds);
     }
     Wind::import('WINDID:service.message.dm.WindidMessageDm');
     $ds = $this->_getMessageDs();
     foreach ($dialogIds as $id) {
         $dialog = $ds->getDialog($id);
         $ds->readDialogMessages($id);
         $dm = new WindidMessageDm();
         $dm->setUnreadCount(0);
         $ds->updateDialog($id, $dm);
         $this->_getMessageService()->resetUserMessages($dialog['to_uid']);
         $this->_getNotifyClient()->send('editMessageNum', $dialog['to_uid']);
     }
     return WindidError::SUCCESS;
 }
Esempio n. 2
0
 /**
  * 
  * 重新统计某会话的统计数
  * @param int $dialogId
  */
 public function resetDialogMessages($dialogId)
 {
     list($messages, $reads) = $this->_getMessageDs()->countDialogMessages($dialogId);
     $unreads = $reads > $messages ? 0 : $messages - $reads;
     if ($messages < 1) {
         return $this->_getMessageDs()->deleteDialog($dialogId);
     }
     $dm = new WindidMessageDm();
     $dm->setMessageCount($messages);
     $dm->setUnreadCount($unreads);
     return $this->_getMessageDs()->updateDialog($dialogId, $dm);
 }