def init_community(self): # result = self.m_c.insert_one({'name':'yinshuai'}).inserted_id self.m_c.insert_one({ 'gid': 7, 'comm_name': '劲松跑团', 'create_time': PublicFunc.get_current_stamp() }) self.m_c.insert_one({ 'gid': 7, 'comm_name': '18里店跑团', 'create_time': PublicFunc.get_current_stamp() })
def add_following(self, uid, fuid): """ 添加自己关注的人 input param: uid:用户id fuid: 关注的人的id """ uid = int(uid) fuid = int(fuid) following_info = self.m_c.find_one({ 'uid': uid, 'status': 0 }, { '_id': 0, 'following_list': 1 }) if not following_info or len( following_info['following_list']) < self.following_save_num: self.m_c.update({ 'uid': uid, 'status': 0 }, { "$inc": { "following_num": 1 }, "$push": { "following_list": { 'uid': fuid, 'time': PublicFunc.get_current_stamp() } } }, True) else: following_list = following_info['following_list'] following_list.insert(0, { 'uid': fuid, 'time': PublicFunc.get_current_stamp() }) following_list = following_list[0:self.following_save_num] self.m_c.update({ 'uid': uid, 'status': 0 }, { "$inc": { "following_num": 1 }, "$set": { "following_list": following_list } }) return True
def get_interact(self, comm_id, page): """直接根据团队id获取这个互动 这块还是先查到这条数据的id 再查找多条数据""" # return [rows for rows in self.m_c.find({search_key:int(id)})] page = int(page) per_page = 10 interact_info = self.m_c.find({ 'comm_id': comm_id }, { 'content': 1, 'time': 1, '_id': 0, 'uid': 1 }).skip(per_page * page).limit(per_page).sort([('time', -1)]) interact_list = [] current_time = PublicFunc.get_current_stamp() index = page * per_page for info in interact_info: index += 1 info['time'] = PublicFunc.time_format_span(info['time'], current_time) info['index'] = index if not info['uid']: info['avatar'] = 'http://101.200.214.68/Uploads/head.png' info['nickname'] = '游客' else: user_info = UsersModel.get_instance().get_import_user_info( info['uid'], ['avatar', 'username']) info['avatar'] = user_info['avatar'] info['nickname'] = user_info['username'] del info['uid'] interact_list.append(info) return interact_list
def following_man(self, uid, fuid): """ function: 关注他人,或者取消对他人的关注 input param: uid 关注者 fuid 被关注的人的id """ uid = int(uid) fuid = int(fuid) count = self.m_c.find({'uid': uid, 'fuid': fuid, 'status': 0}).count() if count: self.m_c.update({ 'uid': uid, 'fuid': fuid, 'status': 0 }, {"$set": { 'status': 1 }}) return 'cancel_success' else: self.m_c.insert({ 'uid': uid, 'fuid': fuid, 'status': 0, 'time': PublicFunc.get_current_stamp() }) return 'follow_success'
def get_post_info(self,uid,post_id): """ 获取说说详情 """ post_info = PostModel().get_post_info(post_id) post_info['post_id'] = str(post_info['_id']) current_time = PublicFunc.get_current_stamp() post_info['time'] = PublicFunc.time_format_span(post_info['time'],current_time) del post_info['_id'] user_info = UsersModel().get_import_user_info(post_info['uid'],['avatar','nickname'])#获取发说说的人的信息 post_info['avatar'] = user_info['avatar'] post_info['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name comm_list = post_info['comm_list'] for comm in comm_list: comm['time'] = PublicFunc.time_format_span(comm['time'],current_time) comm_user_info = UsersModel().get_import_user_info(comm['uid'],['avatar','nickname'])#获取评论说说的人的信息 comm['avatar'] = comm_user_info['avatar'] comm['nickname'] = comm_user_info['nickname'] if comm_user_info['nickname'] else options.default_nick_name love_list = post_info['love_list'] for lover in love_list: lover_info = UsersModel().get_import_user_info(lover['uid'],['avatar','nickname'])#获取评论说说的人的信息 lover['avatar'] = lover_info['avatar'] # post_info['pic_list'] = [options.ipnet + pic for pic in post_info['pic_list']] # post_info['pic_list'] = [{'ori_pic':options.ipnet + pic,'thumb_pic':options.ipnet+options.post_thumb_save_path+'t'+pic[-17:]} for pic in post_info['pic_list']] post_info['pic_list'] = [{'ori_pic':options.ipnet + pic,'thumb_pic':options.ipnet+pic} for pic in post_info['pic_list']] #man has love? post_info['has_love'] = 1 if PostLoveModel().judge_post_love(uid,post_info['post_id']) else 0 if int(post_info['uid']) == int(uid): post_info['has_follow'] = '' else:post_info['has_follow'] = '已关注' if FollowModel().get_follow_status(uid,post_info['uid']) else '关注' # post['has_follow'] = '已关注' if FollowModel().get_follow_status(uid,post['uid']) else '关注' return post_info
def get_note_comm(self,note_id,page): """ function: 获取帖子的评论 input param: note_id: 帖子id page 分页 return xxx """ comm_num = NoteModel().get_note_comm_num(note_id) page = int(page) comm_per_page = int(options.note_comm_per_page) level = comm_num - page*comm_per_page note_comm_list = NoteComModel().get_note_comm(note_id,page) current_time = PublicFunc.get_current_stamp() for comm in note_comm_list: comm['comm_id'] = str(comm['_id']) user_info = UsersModel().get_import_user_info(comm['uid'],['avatar','nickname']) comm['avatar'] = user_info['avatar'] comm['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name comm['level'] = level level -= 1 comm['time'] = PublicFunc.time_format_span(comm['time'],current_time) del comm['_id'] del comm['note_id'] return note_comm_list
def get_post_list(self,uid,page): """ function: 获取互动列表 """ post_list = PostModel().get_post_list(page) current_time = PublicFunc.get_current_stamp() for post in post_list: post['post_id'] = str(post['_id']) post['have_love'] = 1 if PostLoveModel().judge_post_love(uid,post['_id']) else 0 del post['_id'] # post['pic_list'] = [{'ori_pic':options.ipnet + pic,'thumb_pic':options.ipnet+options.post_thumb_save_path+'t'+pic[-17:]} for pic in post['pic_list']] post['pic_list'] = [{'ori_pic':options.ipnet + pic,'thumb_pic':options.ipnet+pic} for pic in post['pic_list']] post['time'] = PublicFunc.time_format_span(post['time'],current_time) user_info = UsersModel().get_import_user_info(post['uid'],['avatar','nickname']) # qz = user_info['avatar'][:4] post['avatar'] = user_info['avatar'] post['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name post['self_post'] = 0 if post['uid'] == int(uid): post['has_follow'] = '' post['self_post'] = 1 else: post['has_follow'] = '已关注' if FollowModel().get_follow_status(uid,post['uid']) else '关注' return post_list
def write_group_invite(self, uid, group_id): if self.insert_into_db({ 'group_id': group_id, 'uid': uid, 'invitetime': PublicFunc.get_current_stamp() }): return True
def add_user_to_group(self, uid, group_id): self.insert_into_db({ 'group_id': group_id, 'uid': uid, 'attendtime': PublicFunc.get_current_stamp() }) GroupModel.get_instance().change_group_mem_num(group_id, 1)
def add_mem_to_group(self, uid, group_id, is_leader=0): return True if self.insert_into_db( { 'is_leader': is_leader, 'group_id': group_id, 'uid': uid, 'attendtime': PublicFunc.get_current_stamp() }) else False
def get_note_info(self,note_id): """获取帖子信息""" note_info = self.m_c.find_one({"_id":ObjectId(note_id),'status':0}) note_info['time'] = PublicFunc.time_format_span(note_info['time'],PublicFunc.get_current_stamp()) note_info['note_id'] = str(note_info['_id']) note_info['is_up'] = 1 if note_info['up'] else 0 del note_info['_id'] del note_info['status'] return note_info
def get_user_note(self,uid,page): """获取我的帖子列表""" uid = int(uid) note_list = NoteModel().get_user_note(uid,page) current_time = PublicFunc.get_current_stamp() for note in note_list: note['note_id'] = str(note['_id']) del note['_id'] note['time'] = PublicFunc.time_format_span(note['time'],current_time) return note_list
def get_following_list(self,uid,page): """获取我所关注的人的列表""" following_list = self.followmodel.get_following_list(uid,page) current_time = PublicFunc.get_current_stamp() for f in following_list: f['time'] = PublicFunc.time_format_span(f['time'],current_time) user_info = UsersModel().get_import_user_info(f['fuid'],['avatar','nickname']) f['avatar'] = user_info['avatar'] f['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name return following_list
def get_status_name(self, gstarttime, gendtime, gacceptstart, gacceptend): """ 根据时间参数获取赛事状态 gstatusid 0 game start 1 sign start 2 sign not start 3 sign end 4 game end """ current_time = PublicFunc.get_current_stamp() if current_time > int(gendtime): return 4, "赛事结束" elif current_time > int(gstarttime): return 0, "赛事开始" elif current_time > int(gacceptend): return 3, "报名结束" elif current_time > int(gacceptstart): return 1, "接受报名" else: return 2, "报名未开始"
def add_interact(self, uid, content, comm_id): """用户提交互动信息,uid可以为0 ,为0的时候表示游客""" uid = int(uid) c_t = PublicFunc.get_current_stamp() data_write = { 'uid': uid, 'content': content, 'comm_id': comm_id, 'time': c_t } return self.m_c.insert(data_write)
def save_trace(self, uid, logitude, latitude): current_time = PublicFunc.get_current_stamp() current_date = PublicFunc.get_current_datetime() result = self.insert_into_db({ 'uid': uid, 'logitude': logitude, 'latitude': latitude, 'timestamp': current_time, 'date_time': current_date }) return
def get_status_name(self,gstarttime,gendtime,gacceptstart,gacceptend): """ 根据时间参数获取赛事状态 gstatusid 0 game start 1 sign start 2 sign not start 3 sign end 4 game end """ current_time = PublicFunc.get_current_stamp() if current_time > int(gendtime):return 4,"赛事结束" elif current_time > int(gstarttime): return 0,"赛事开始" elif current_time > int(gacceptend): return 3,"报名结束" elif current_time > int(gacceptstart): return 1,"接受报名" else: return 2,"报名未开始"
def get_lover_list(self,post_id,page): """ 获取说说喜欢用户列表""" lover_list = PostLoveModel().get_lover_list(post_id,page) current_time = PublicFunc.get_current_stamp() for lover in lover_list: del lover['_id'] del lover['post_id'] lover['time'] = PublicFunc.time_format_span(lover['time'],current_time) user_info = UsersModel().get_import_user_info(lover['uid'],['avatar','nickname']) lover['avatar'] = user_info['avatar'] lover['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name return lover_list
def get_follower_list(self, uid, page): """获取粉丝列表""" follower_list = self.followmodel.get_follower_list(uid, page) current_time = PublicFunc.get_current_stamp() for f in follower_list: f['time'] = PublicFunc.time_format_span(f['time'], current_time) user_info = UsersModel().get_import_user_info( f['uid'], ['avatar', 'nickname']) f['avatar'] = user_info['avatar'] f['nickname'] = user_info['nickname'] if user_info[ 'nickname'] else options.default_nick_name return follower_list
def get_comm_list(self,post_id,page): """ get the comment list of the user post """ current_time = PublicFunc.get_current_stamp() comm_list = PostComModel().get_comm_list(post_id,page) for comm in comm_list: comm['time'] = PublicFunc.time_format_span(comm['time'],current_time) user_info = UsersModel().get_import_user_info(comm['uid'],['avatar','nickname']) comm['avatar'] = user_info['avatar'] comm['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name return comm_list
def make_comment(self, note_id, uid, comm_content): """给帖子做评论""" current_time = PublicFunc.get_current_stamp() com_dict = { 'note_id': note_id, 'uid': uid, 'comm_content': comm_content, 'time': current_time, 'status': 0, 'agree_num': 0 } return str(self.m_c.insert(com_dict))
def get_reward_list(self,page): page = int(page) per_page = 30 reward_list = self.find_data(['description','timestamp','id','uid'],get_some=(page*5,per_page)) #aaaaaaa current_time = PublicFunc.get_current_stamp() for index,reward in enumerate(reward_list): user_info = UsersModel.get_instance().get_import_user_info(reward['uid'],['avatar','nickname']) reward_list[index]['nickname'] = '小跑男' if not user_info['nickname'] else user_info['nickname'] reward_list[index]['avatar'] = user_info['avatar'] reward_list[index]['time'] = PublicFunc.time_format_span(str(reward['timestamp'])[:-3],current_time) del reward_list[index]['timestamp'] return reward_list
def attend_community(self,uid,comm_id): """ function: 加入跑团 author: yinshuai input param: uid:用户id comm_id: 跑团主键id return_param: True or except """ uid = int(uid) member_dict = {'uid':uid,'attend_time':PublicFunc.get_current_stamp()} self.m_c.update({'_id':ObjectId(comm_id)},{'$inc':{"member_num":1},'$addToSet':{'comm_member':member_dict}}) return True
def get_user_post(self,uid,page,perpage): """获取用户的朋友圈""" post_list = PostModel().get_user_post(uid,page,perpage) current_time = PublicFunc.get_current_stamp() is_today = 1 # 默认是今天 for post in post_list: post['post_id'] = str(post['_id']) del post['_id'] if not PublicFunc.get_date_today() == PublicFunc.stamp_to_Ymd(post['time']):is_today = 0 post['is_today'] = is_today date_info = PublicFunc.get_date_info(post['time'],['day','month']) # post['pic_list'] = [{'ori_pic':options.ipnet + pic,'thumb_pic':options.ipnet+options.post_thumb_save_path+'t'+pic[-17:]} for pic in post['pic_list']] post['pic_list'] = [{'ori_pic':options.ipnet + pic,'thumb_pic':options.ipnet+pic} for pic in post['pic_list']] post['day'] = date_info['day'] post['month'] = date_info['month'] return post_list
def get_reward_list(self, page): page = int(page) per_page = 30 reward_list = self.find_data(['description', 'timestamp', 'id', 'uid'], get_some=(page * 5, per_page)) #aaaaaaa current_time = PublicFunc.get_current_stamp() for index, reward in enumerate(reward_list): user_info = UsersModel.get_instance().get_import_user_info( reward['uid'], ['avatar', 'nickname']) reward_list[index]['nickname'] = '小跑男' if not user_info[ 'nickname'] else user_info['nickname'] reward_list[index]['avatar'] = user_info['avatar'] reward_list[index]['time'] = PublicFunc.time_format_span( str(reward['timestamp'])[:-3], current_time) del reward_list[index]['timestamp'] return reward_list
def follow_other(self, uid, fuid): """ 仅仅关注他人 """ uid = int(uid) fuid = int(fuid) count = self.m_c.find({'uid': uid, 'fuid': fuid, 'status': 0}).count() if not count: self.m_c.insert({ 'uid': uid, 'fuid': fuid, 'status': 0, 'time': PublicFunc.get_current_stamp() }) return True #关注成功 else: return False #之前已经关注过了
def add_following(self,uid,fuid): """ 添加自己关注的人 input param: uid:用户id fuid: 关注的人的id """ uid = int(uid) fuid = int(fuid) following_info = self.m_c.find_one({'uid':uid,'status':0},{'_id':0,'following_list':1}) if not following_info or len(following_info['following_list']) < self.following_save_num: self.m_c.update({'uid':uid,'status':0},{"$inc":{"following_num":1},"$push":{"following_list":{'uid':fuid,'time':PublicFunc.get_current_stamp()}}},True) else: following_list = following_info['following_list'] following_list.insert(0,{'uid':fuid,'time':PublicFunc.get_current_stamp()}) following_list = following_list[0:self.following_save_num] self.m_c.update({'uid':uid,'status':0},{"$inc":{"following_num":1},"$set":{"following_list":following_list}}) return True
def get_note_list(self,code,page): """ function:获取帖子列表 置顶的排在前面,第二顺序为发布时间,时间越晚越靠前 """ note_per_page = int(options.note_per_page) page = int(page) if code: note_list = list(self.m_c.find({'status':0,'code':code},{'content':0,'status':0}).sort([('up',-1),('time',-1)]).skip(note_per_page*page).limit(note_per_page)) else: note_list = list(self.m_c.find({'status':0},{'content':0,'status':0}).sort([('up',-1),('time',-1)]).skip(note_per_page*page).limit(note_per_page)) current_time = PublicFunc.get_current_stamp() for note in note_list: note['time'] = PublicFunc.time_format_span(note['time'],current_time) user_info = UsersModel.get_instance().get_import_user_info(note['uid'],['nickname','avatar']) note['avatar'] = user_info['avatar'] note['nickname'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name note['is_up'] = 1 if int(note['up']) else 0 del note['up'] note['note_id'] = str(note['_id']) del note['_id'] return note_list
def get_interact(self,comm_id,page): """直接根据团队id获取这个互动 这块还是先查到这条数据的id 再查找多条数据""" # return [rows for rows in self.m_c.find({search_key:int(id)})] page = int(page) per_page = 10 interact_info = self.m_c.find({'comm_id':comm_id},{'content':1,'time':1,'_id':0,'uid':1}).skip(per_page*page).limit(per_page).sort([('time',-1)]) interact_list = [] current_time = PublicFunc.get_current_stamp() index = page * per_page for info in interact_info: index += 1 info['time'] = PublicFunc.time_format_span(info['time'],current_time) info['index'] = index if not info['uid']: info['avatar'] = 'http://101.200.214.68/Uploads/head.png' info['nickname'] = '游客' else: user_info = UsersModel.get_instance().get_import_user_info(info['uid'],['avatar','username']) info['avatar'] = user_info['avatar'] info['nickname'] = user_info['username'] del info['uid'] interact_list.append(info) return interact_list
def attend_community(self, uid, comm_id): """ function: 加入跑团 author: yinshuai input param: uid:用户id comm_id: 跑团主键id return_param: True or except """ uid = int(uid) member_dict = { 'uid': uid, 'attend_time': PublicFunc.get_current_stamp() } self.m_c.update({'_id': ObjectId(comm_id)}, { '$inc': { "member_num": 1 }, '$addToSet': { 'comm_member': member_dict } }) return True
def get_note_info(self,note_id): """ function: 获取帖子信息 这里在获取帖子的评论的时候,默认获取首页数据 input param: note_id 帖子id """ note_basic_info = NoteModel().get_note_info(ObjectId(note_id))#获取帖子基本信息 note_user_info = UsersModel().get_import_user_info(note_basic_info['uid'],['avatar','nickname'])#获取发帖人信息 note_basic_info['avatar'] = note_user_info['avatar'] note_basic_info['nickname'] = note_user_info['nickname'] note_comm_list = NoteComModel().get_note_comm(note_id,0)#获取评论信息 note_comm_num = note_basic_info['com_num'] current_time = PublicFunc.get_current_stamp() for comm in note_comm_list: comm['comm_id'] = str(comm['_id']) user_info = UsersModel().get_import_user_info(comm['uid'],['avatar','nickname']) comm['avatar'] = user_info['avatar'] comm['nicknamefr'] = user_info['nickname'] if user_info['nickname'] else options.default_nick_name comm['level'] = note_comm_num comm['time'] = PublicFunc.time_format_span(comm['time'],current_time) note_comm_num -= 1 del comm['_id'] del comm['note_id'] return note_basic_info,note_comm_list
def add_user_to_group(self,uid,group_id): self.insert_into_db({'group_id':group_id,'uid':uid,'attendtime':PublicFunc.get_current_stamp()}) GroupModel.get_instance().change_group_mem_num(group_id,1)
def make_comment(self,note_id,uid,comm_content): """给帖子做评论""" current_time = PublicFunc.get_current_stamp() com_dict = {'note_id':note_id,'uid':uid,'comm_content':comm_content,'time':current_time,'status':0,'agree_num':0} return str(self.m_c.insert(com_dict))
def save_trace(self,uid,logitude,latitude): current_time = PublicFunc.get_current_stamp() current_date = PublicFunc.get_current_datetime() result = self.insert_into_db({'uid':uid,'logitude':logitude,'latitude':latitude,'timestamp':current_time,'date_time':current_date}) return
def test(self): return PublicFunc.get_current_stamp()
def release_note(self,uid,title,content,code): """ 发布帖子""" uid = int(uid) note_id = self.m_c.insert({'uid':uid,'title':title,'code':code,'content':content,'time':PublicFunc.get_current_stamp(),'special':0,'up':0,'look_num':0,'com_num':0,'status':0}) return str(note_id)
def init_community(self): # result = self.m_c.insert_one({'name':'yinshuai'}).inserted_id self.m_c.insert_one({'gid':7,'comm_name':'劲松跑团','create_time':PublicFunc.get_current_stamp()}) self.m_c.insert_one({'gid':7,'comm_name':'18里店跑团','create_time':PublicFunc.get_current_stamp()})
def write_group_invite(self,uid,group_id): if self.insert_into_db({'group_id':group_id,'uid':uid,'invitetime':PublicFunc.get_current_stamp()}): return True
def add_mem_to_group(self,uid,group_id,is_leader=0): return True if self.insert_into_db({'is_leader':is_leader,'group_id':group_id,'uid':uid,'attendtime':PublicFunc.get_current_stamp()}) else False
def add_interact(self,uid,content,comm_id): """用户提交互动信息,uid可以为0 ,为0的时候表示游客""" uid = int(uid) c_t = PublicFunc.get_current_stamp() data_write = {'uid':uid,'content':content,'comm_id':comm_id,'time':c_t} return self.m_c.insert(data_write)
def test(self): return PublicFunc.get_current_stamp()