Exemplo n.º 1
0
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()
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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})