def run(uid, recommend_word, city, sex, sex_want, contact, age, tags): with dbconfig.Session() as session: user = session.query(User).filter(User.uid == uid) if user is None: return Res({}, errno=3, error='user not exists') ru = RecommendUser() ru.uid = uid ru.recommend_uid = BackEndEnvData.uid ru.recommend_word = recommend_word ru.city = city ru.sex = sex ru.sex_want = sex_want ru.contact = contact ru.age = age if isinstance(tags, list): ru.tags = '|'.join(tags) session.merge(ru) session.commit() event = Events() event.touid = uid event.param1 = uid event.param2 = BackEndEnvData.uid event.type = "recommend" event = session.merge(event) session.commit() AddEventNotify(event) return Res()
def run(gid,uid): if isinstance(uid,list)==False: uid=[uid] with dbconfig.Session() as session: group=session.query(Group).filter(Group.gid==gid).first() if group is None or (group.everyone_caninvite==0 and group.creator!=BackEndEnvData.uid): return Res(errno=2,error="not everyone can invaite and you are not creator") if group.creator!=uid: gm=session.query(GroupMember).filter(and_(GroupMember.gid==gid,GroupMember.uid==uid)).first() if gm is None: return Res(errno=2,error="you are not member") events=[] for u in uid: event=Events() event.touid=u event.type="group_invite" event.param1=gid event.param2=BackEndEnvData.uid event=session.merge(event) events.append(event) session.commit() for ev in events: AddEventNotify(ev) return Res()
def run(uid,type=0): if isinstance(uid,list)==False: uid=[uid] uids=[] for u in uid: if u!=BackEndEnvData.uid: uids.append(u) with dbconfig.Session() as session: eventpost=[] for id in uids: friend=FriendList() friend.uid=BackEndEnvData.uid friend.friendid=id friend.type=type session.merge(friend) event=Events() event.touid=id event.param1=BackEndEnvData.uid event.type="add_friend" event=session.merge(event) eventpost.append(event) session.commit() for e in eventpost: AddEventNotify(e) return Res()
def run(active_code): actinfo=dbconfig.memclient.get(("active_code:%s"%active_code).encode('utf-8')) if actinfo is None: return Res({},3,"not active code") if actinfo['uid']==BackEndEnvData.uid: return Res({},3,"do not self active") with dbconfig.Session() as session: user=session.query(User).filter(User.uid==BackEndEnvData.uid).first() user.active_by=actinfo['uid'] user.active_level=actinfo['level'] user.active_time=datetime.datetime.now() user=session.merge(user) session.commit() #添加好友 friend=FriendList() friend.uid=BackEndEnvData.uid friend.friendid=user.active_by friend.type=2 friend1=session.merge(friend) friend=FriendList() friend.uid=user.active_by friend.friendid=BackEndEnvData.uid friend.type=2 friend2=session.merge(friend) session.commit() #发送通知 event=Events() event.touid=user.active_by event.param1=BackEndEnvData.uid event.type="add_friend" event1=session.merge(event) event=Events() event.touid=BackEndEnvData.uid event.param1=user.active_by event.type="add_friend" event2=session.merge(event) session.commit() AddEventNotify(event1) AddEventNotify(event2) return Res({'active_level':user.active_level,'active_by':user.active_by})