コード例 #1
0
 def unreadListByFromId(self):
     try:
         # test msg_id
         # ObjectId("59dc380051159a123fe8a230")
         # msg_id = self.get_argument('id')
         # logger.debug("id: %s", msg_id)
         print self.user['_id']
         # to_id = "59ca0b46ca714306705996dc"
         to_id = self.user['_id']
         from_id = self.get_argument('from_id')
         m_id = self.get_argument('m_id')
         logger.debug('from_id: %s, m_id: %s', from_id, m_id)
         # if msg_id:
         #     query = {"to_id": to_id, "status": 0,
         #              "_id": {"$lt": ObjectId(msg_id)}}
         # else:
         #     query = {"to_id": to_id, "status": 0}
         query = {
             "to_id": to_id,
             "status": 0,
             "from_id": from_id,
             "msg_type": 2,
             "m_id": m_id
         }
         print query
         helper = ClassHelper('Message')
         cursor = helper.find(query)
         unread_list = []
         if cursor:
             for data in cursor:
                 logger.debug('data:%s', data)
                 unread_list.append(data)
         logger.debug(unread_list)
         # print unread_list.__len__()
         if unread_list:
             for unread_msg in unread_list:
                 unread_msg['id'] = unread_msg['_id']
                 unread_msg['create_at'] = long(
                     unread_msg['createAt'].strftime('%s')) * 1000
                 del unread_msg['_id']
                 if unread_msg.get('acl', None) is not None:
                     del unread_msg['acl']
                 del unread_msg['createAt']
                 del unread_msg['updateAt']
         result = {}
         result['errCode'] = 0
         result['unread_list'] = unread_list
         r = json.dumps(result, ensure_ascii=False)
         self.write(str(r))  # , cls=CJsonEncoder #格式化时间
     except Exception, e:
         logger.error(e)
         msg = traceback.format_exc()
         logger.error(msg)
         self.write(ERR_PARA.message)
コード例 #2
0
 def listByFromId(self):
     try:
         # test msg_id
         # ObjectId("59dc380051159a123fe8a230")
         message_id = self.get_argument('message_id', default=None)
         count = int(self.get_argument('count', default=100))
         logger.debug("count: %s", count)
         if count > 100:
             count = 100
         logger.debug("message_id: %s, count: %s", message_id, count)
         # print self.user['_id']
         to_id = self.user['_id']
         # to_id = '5a018adeca714319e603ca09'
         # to_id = '5a018adeca714319e603ca09'
         # to_id = '5a0188ccca714319e603c9e8'
         from_id = self.get_argument('from_id')
         m_id = self.get_argument('m_id')
         logger.debug('from_id: %s, m_id: %s', from_id, m_id)
         helper = ClassHelper('Message')
         unread_list = []
         if not message_id:
             query = {
                 'from_id': from_id,
                 'to_id': to_id,
                 'm_id': m_id,
                 'msg_type': 2,
                 'status': 0
             }
             logger.debug('unread query:%s', query)
             cursor = helper.find(query, limit=count, sort={"_id": -1})
             logger.debug('cursor when not message_id:%s', cursor)
             if cursor:
                 for data in cursor:
                     logger.debug('data:%s', data)
                     unread_list.append(data)
             logger.debug('real unread_list:%s', unread_list)
         if not unread_list:
             if message_id:
                 query = {
                     "$or": [{
                         "to_id": to_id,
                         "from_id": from_id
                     }, {
                         "to_id": from_id,
                         "from_id": to_id
                     }],
                     "msg_type":
                     2,
                     "m_id":
                     m_id,
                     "_id": {
                         "$lt": ObjectId(message_id)
                     }
                 }
             else:
                 query = {
                     "$or": [{
                         "to_id": to_id,
                         "from_id": from_id
                     }, {
                         "to_id": from_id,
                         "from_id": to_id
                     }],
                     "msg_type":
                     2,
                     "m_id":
                     m_id
                 }
             logger.debug('query: %s', query)
             cursor = helper.find(query, limit=count, sort={"_id": -1})
             if cursor:
                 for data in cursor:
                     logger.debug('data:%s', data)
                     unread_list.append(data)
             logger.debug('unread_list:%s', unread_list)
         if unread_list:
             unread_list.reverse()
             for unread_msg in unread_list:
                 unread_msg['id'] = unread_msg['_id']
                 unread_msg['create_at'] = long(
                     unread_msg['createAt'].strftime('%s')) * 1000
                 del unread_msg['_id']
                 if unread_msg.get('acl', None) is not None:
                     del unread_msg['acl']
                 del unread_msg['createAt']
                 del unread_msg['updateAt']
                 if unread_msg['from_id'] == to_id:
                     unread_msg['status'] = 1
         result = {}
         result['errCode'] = 0
         result['unread_list'] = unread_list
         r = json.dumps(result, ensure_ascii=False)
         self.write(str(r))  # , cls=CJsonEncoder #格式化时间
     except Exception, e:
         logger.error(e)
         msg = traceback.format_exc()
         logger.error(msg)
         self.write(ERR_PARA.message)
コード例 #3
0
 def listByFromId(self):
     try:
         # test msg_id
         # ObjectId("59dc380051159a123fe8a230")
         message_id = self.get_argument('message_id', default=None)
         count = int(self.get_argument('count', default=20))
         logger.debug("count: %s", count)
         if count > 50:
             count = 50
         logger.debug("message_id: %s, count: %s", message_id, count)
         # print self.user['_id']
         # to_id = "59ca0b46ca714306705996dc"
         to_id = self.user['_id']
         from_id = self.get_argument('from_id')
         m_id = self.get_argument('m_id')
         logger.debug('from_id: %s, m_id: %s', from_id, m_id)
         if message_id:
             # query = {"to_id": to_id, "status": 0,
             #          "_id": {"$lt": ObjectId(msg_id)}}
             query = {
                 "$or": [{
                     "to_id": to_id,
                     "from_id": from_id
                 }, {
                     "to_id": from_id,
                     "from_id": to_id
                 }],
                 "status":
                 0,
                 "msg_type":
                 2,
                 "m_id":
                 m_id,
                 "_id": {
                     "$lt": ObjectId(message_id)
                 }
             }
         else:
             query = {
                 "$or": [{
                     "to_id": to_id,
                     "from_id": from_id
                 }, {
                     "to_id": from_id,
                     "from_id": to_id
                 }],
                 "status":
                 0,
                 "msg_type":
                 2,
                 "m_id":
                 m_id
             }
         logger.debug('query: %s', query)
         helper = ClassHelper('Message')
         unread_list = helper.find(query, limit=count)
         logger.debug(unread_list)
         print unread_list.__len__()
         if unread_list:
             for unread_msg in unread_list:
                 unread_msg['id'] = unread_msg['_id']
                 unread_msg['create_at'] = long(
                     unread_msg['createAt'].strftime('%s')) * 1000
                 del unread_msg['_id']
                 if unread_msg.get('acl', None) is not None:
                     del unread_msg['acl']
                 del unread_msg['createAt']
                 del unread_msg['updateAt']
         result = {}
         result['errCode'] = 0
         result['unread_list'] = unread_list
         self.write(json.dumps(
             result, ensure_ascii=False))  # , cls=CJsonEncoder #格式化时间
     except Exception, e:
         logger.error(e)
         msg = traceback.format_exc()
         logger.error(msg)
         self.write(ERR_PARA.message)