Example #1
0
    def post(self, *args, **kwargs):
        """上传图片"""
        current_user_id = self.current_user.get('user_id')

        user_id = self.get_argument('user_id', None)
        status = self.get_argument('status', None)
        authorized = self.get_argument('authorized', None)
        remark = self.get_argument('remark', '')

        member = Member.Q.filter(Member.id == user_id).first()
        if member is None:
            return self.error('用户不存在')

        params = {
            'user_id': user_id,
            'utc_updated_at': Func.utc_now(),
            'authorized_user_id': current_user_id,
        }
        if status is not None:
            params['status'] = status
        if authorized is not None:
            params['authorized'] = authorized
            params['remark'] = remark
            if member.authorized:
                return self.error('已经实名认证')

        MemberCertification.Q.filter(
            MemberCertification.user_id == user_id).update(params)
        MemberCertification.session.commit()

        return self.success()
Example #2
0
    def login_success(user, handler):
        # 设置登录用户cookie信息
        handler.set_curent_user(user)

        user_id = user.id
        login_count = user.login_count if user.login_count else 0
        params = {
            'login_count': login_count + 1,
            'utc_last_login_at': Func.utc_now(),
            'last_login_ip': handler.request.remote_ip,
        }
        User.Q.filter(User.id==user_id).update(params)

        params = {
            'id': 0,
            'user_id': user.id,
            'client': 'web',
            'ip': handler.request.remote_ip,
        }
        log = UserLoginLog(**params)
        UserLoginLog.session.add(log)
        UserLoginLog.session.commit()
        return True
Example #3
0
    def login_success(member, handler, client='web'):
        # 设置登录用户cookiex信息
        handler.set_curent_user(member)

        user_id = member.id
        login_count = member.login_count if member.login_count else 0
        params = {
            'login_count': login_count + 1,
            'utc_last_login_at': Func.utc_now(),
            'last_login_ip': handler.request.remote_ip,
        }
        Member.Q.filter(Member.id == user_id).update(params)

        # 写登录日志
        params2 = {
            'user_id': user_id,
            'client': client,
            'ip': handler.request.remote_ip,
        }
        log = MemberLoginLog(**params2)
        MemberLoginLog.session.add(log)

        MemberLoginLog.session.commit()
Example #4
0
    def put(self, *args, **kwargs):
        user_id = self.current_user.get('id')
        username = self.get_argument('username', None)
        email = self.get_argument('email', None)
        mobile = self.get_argument('mobile', None)
        sex = self.get_argument('sex', None)
        sign = self.get_argument('sign', None)
        avatar = self.get_argument('avatar', None)
        file_md5 = self.get_argument('file_md5', None)

        params = {}

        if username:
            params['username'] = username
            count = Member.Q.filter(Member.id != user_id).filter(
                Member.username == username).count()
            if count > 0:
                return self.error('用户名已被占用')

        if mobile:
            params['mobile'] = mobile
            count = Member.Q.filter(Member.id != user_id).filter(
                Member.mobile == mobile).count()
            if count > 0:
                return self.error('电话号码已被占用')
        if email:
            params['email'] = email
            count = Member.Q.filter(Member.id != user_id).filter(
                Member.email == email).count()
            if count > 0:
                return self.error('Email已被占用')

        if sex:
            params['sex'] = sex
        if sign is not None:
            params['sign'] = sign

        if avatar and file_md5:
            params['avatar'] = avatar
            member = Member.Q.filter(Member.id == user_id).first()

            if avatar != member.avatar:
                Attach.remove_avatar(user_id, member.avatar)

            query = "REPLACE INTO `sys_attach_related` (`file_md5`, `related_table`, `related_id`, `ip`, `utc_created_at`) VALUES ('%s', '%s', '%d', '%s', '%s')" % (
                file_md5,
                'member',
                user_id,
                self.request.remote_ip,
                str(Func.utc_now())[0:-6],
            )
            # print('query ', query )
            Member.session.execute(query)
        Member.Q.filter(Member.id == user_id).update(params)
        Member.session.commit()

        # 设置登录用户cookie信息
        member = Member.Q.filter(Member.id == user_id).first()
        self.set_curent_user(member)

        return self.success()