コード例 #1
0
ファイル: WindidMessageApi.php プロジェクト: fanqimeng/4tweb
 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;
 }
コード例 #2
0
ファイル: WindidMessage.php プロジェクト: fanqimeng/4tweb
 public function batchUpdateDialog($dialogIds, WindidMessageDm $dm)
 {
     if (($result = $dm->beforeUpdateDialog()) !== true) {
         return $result;
     }
     return $this->_getDialogDao()->batchUpdateDialog($dialogIds, $dm->getData(), $dm->getIncreaseData());
 }
コード例 #3
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);
 }