Beispiel #1
0
 def __init__(self, **kwargs):
     self.sender_id = kwargs.pop('sender_id')
     self.receiver_id = kwargs.pop('receiver_id')
     self.content = kwargs.pop('content')
     self.time = todayfstr()
     self.introduction_time = todayfstr()
     self.view = kwargs.pop('view', 0)
     self.delete_id = kwargs.pop('delete_id', 0)
Beispiel #2
0
def message_type(user_id, system_message):
    user = User.query.filter(User.id == user_id).first()
    if type(system_message) is list:
        user.system_message_time = todayfstr()
        db.commit()
    else:
        if system_message:
            user.system_message_time = todayfstr()
            db.commit()
Beispiel #3
0
    def __init__(self, **kwargs):
        self.login_type = kwargs.pop('login_type')
        self.nick_name = kwargs.pop('nick_name')
        self.sign_up_date = todayfstr()
        self.login_name = kwargs.pop('login_name', None)

        password = kwargs.pop('password', None)
        if password is not None:
            self.password = generate_password(password)
        else:
            self.password = password

        self.open_id = kwargs.pop('open_id', None)
        self.system_message_time = kwargs.pop('system_message_time', todayfstr())  # string "2012-09-23 23:23:23"
        self.admin = kwargs.pop('admin', 0)
Beispiel #4
0
    def get():
        """
        参数,
           type: 详细类型
           user_id: 用户登录id
        """
        parser = reqparse.RequestParser()
        parser.add_argument('types', type=str, required=True, help=u'types选择信息类型,0:系统,1私信')
        parser.add_argument('user_id', type=str, required=True, help=u'user_id。用户登陆id')

        args = parser.parse_args()

        types = args['types']
        user_id = args['user_id']
        resp_suc = success_dic().dic
        resp_fail = fail_dic().dic
        resp_suc['sender_list'] = []

        system_message = traverse_system_message(user_id, resp_suc)
        direct_message = traverse_direct_message(user_id, resp_suc)
        if types == '0':
            user = User.query.filter(User.id == user_id).first()
            if type(system_message) is list:
                for system in system_message:
                    system_message_pickler(system, resp_suc)
                user.system_message_time = todayfstr()
                db.commit()
            else:
                if system_message:
                    system_message_pickler(system_message, resp_suc)
                    user.system_message_time = todayfstr()
                    db.commit()
        else:
            if type(direct_message) is list:
                traverse_messages_sender(direct_message, resp_suc)
            else:
                traverse_message_sender(direct_message, resp_suc)
        return resp_suc
Beispiel #5
0
 def __init__(self, user_id, pub_id, content, star=5):
     self.user_id = user_id
     self.pub_id = pub_id
     self.content = content
     self.time = todayfstr()
     self.star = star
Beispiel #6
0
 def __init__(self, **kwargs):
     self.user_id = kwargs.pop('user_id')
     self.pub_id = kwargs.pop('pub_id')
     self.time = todayfstr()
Beispiel #7
0
 def __init__(self, **kwargs):
     self.user_id = kwargs.pop('user_id')
     self.activity_id = kwargs.pop('activity_id')
     self.time = todayfstr()
Beispiel #8
0
 def __init__(self, sender_id, receiver_id, time=todayfstr()):
     self.sender_id = sender_id
     self.receiver_id = receiver_id
     self.time = time
Beispiel #9
0
 def __init__(self, **kwargs):
     self.receiver_id = kwargs.pop('receiver_id')
     self.sender_id = kwargs.pop('sender_id')
     self.time = todayfstr()
     self.words = kwargs.pop('words', None)
     self.gift_id = kwargs.pop('gift_id')
Beispiel #10
0
 def __init__(self, user_id, activity_id, content, star=5):
     self.user_id = user_id
     self.activity_id = activity_id
     self.content = content
     self.time = todayfstr()
     self.star = star
Beispiel #11
0
 def __init__(self, **kwargs):
     self.user_id = kwargs.pop('user_id')
     self.content = kwargs.pop('content')
     self.time = todayfstr()
Beispiel #12
0
 def __init__(self, user_id, pub_id, view_number=0):
     self.user_id = user_id
     self.pub_id = pub_id
     self.time = todayfstr()
     self.view_number = view_number
Beispiel #13
0
 def __init__(self, **kwargs):
     self.content = kwargs.pop('content')
     self.time = todayfstr()
     self.view = 0
Beispiel #14
0
 def __init__(self, user_id, pub_id):
     self.user_id = user_id
     self.pub_id = pub_id
     self.time = todayfstr()
Beispiel #15
0
 def __init__(self, sender_id, receiver_id, content, view=0):
     self.sender_id = sender_id
     self.receiver_id = receiver_id
     self.content = content
     self.time = todayfstr()
     self.view = view
Beispiel #16
0
    def post(user_id):
        parser = reqparse.RequestParser()
        parser.add_argument('login_type', type=int, required=True, help=u'登陆必须需要login_type')
        parser.add_argument('password', type=str, required=False)
        parser.add_argument('open_id', type=str, required=False)
        parser.add_argument('new_password', type=str, required=False)
        parser.add_argument('login_name', type=str, required=False)
        parser.add_argument('nick_name', type=str, required=False)
        parser.add_argument('system_message_time', type=int, required=False)
        parser.add_argument('mobile', type=str, required=False)
        parser.add_argument('tel', type=str, required=False)
        parser.add_argument('real_name', type=str, required=False)
        parser.add_argument('sex', type=int, required=False)
        parser.add_argument('birthday_type', type=int, required=False)
        parser.add_argument('birthday', type=str, required=False)
        parser.add_argument('intro', type=str, required=False)
        parser.add_argument('signature', type=str, required=False)
        parser.add_argument('ethnicity_id', type=str, required=False)
        parser.add_argument('company', type=str, required=False)
        parser.add_argument('job', type=str, required=False)
        parser.add_argument('email', type=str, required=False)
        parser.add_argument('province_id', type=str, required=False)
        parser.add_argument('city_id', type=str, required=False)
        parser.add_argument('county_id', type=str, required=False)
        parser.add_argument('street', type=str, required=False)
        parser.add_argument('head_picture', type=werkzeug.datastructures.FileStorage, location='files')
        args = parser.parse_args()

        login_type = args.get('login_type')
        password = args.get('password', None)
        open_id = args.get('open_id', None)
        new_password = args.get('new_password', None)
        login_name = args.get('login_name', None)
        nick_name = args.get('nick_name', None)
        system_message_time = args.get('system_message_time', None)
        mobile = args.get('mobile', None)
        tel = args.get('tel', None)
        real_name = args.get('real_name', None)
        sex = args.get('sex', None)
        birthday_type = args.get('birthday_type', None)
        birthday = args.get('birthday', None)
        intro = args.get('intro', None)
        signature = args.get('signature', None)
        ethnicity_id = args.get('ethnicity_id', None)
        company = args.get('company', None)
        job = args.get('job', None)
        email = args.get('email', None)
        province_id = args.get('province_id', None)
        city_id = args.get('city_id', None)
        county_id = args.get('county_id', None)
        street = args.get('street', None)
        head_picture = args.get('head_picture', None)

        err = {'status': 1}

        if login_type == 0:
            if not password:
                err['message'] = '注册用户获取和改变个人资料需要密码'
                return err
            user = User.query.filter(User.id == user_id).first()
            if not user.check_password(password):
                err['message'] = '密码错误'
                return err
            user_info = UserInfoDb.query.filter(UserInfoDb.user_id == user_id).first()
            if login_name:
                if User.query.filter(User.login_name == login_name).count():
                    err['message'] = 'login_name已存在'
                    return err
            if nick_name:
                if User.query.filter(User.nick_name == nick_name).count():
                    err['message'] = 'nick_name已存在'
                    return err
            if head_picture:
                if not allowed_file_extension(head_picture.stream.filename, HEAD_PICTURE_ALLOWED_EXTENSION):
                    err['message'] = '图片的格式不支持,png jpg jpeg gif支持'
                    return err
                old_head_picture = user_info.base_path + user_info.rel_path + '/' + user_info.pic_name
                user_info.upload_name = head_picture.stream.filename
                user_info.base_path = HEAD_PICTURE_BASE_PATH
                user_info.rel_path = HEAD_PICTURE_UPLOAD_FOLDER
                user_info.pic_name = time_file_name(secure_filename(head_picture.stream.filename), sign=user_id)
                head_picture.save(os.path.join(user_info.base_path+user_info.rel_path+'/', user_info.pic_name))
                try:
                    os.remove(old_head_picture)
                except:
                    pass
            if login_name:
                user.login_name = login_name
            if nick_name:
                user.nick_name = nick_name
            if new_password:
                user.change_password(password, new_password)
            if system_message_time:  # 1
                if not user.system_message_time:
                    user.system_message_time = todayfstr()
            else:
                user.system_message_time = None
            if mobile:
                user_info.mobile = mobile
            if tel:
                user_info.tel = tel
            if real_name:
                user_info.real_name = real_name
            if sex:
                user_info.sex = sex
            if birthday_type:
                user_info.birthday_type = birthday_type
            if birthday:
                user_info.birthday = birthday
            if intro:
                user_info.intro = intro
            if signature:
                user_info.signature = signature
            if ethnicity_id:
                user_info.ethnicity_id = ethnicity_id
            if company:
                user_info.company = company
            if job:
                user_info.job = job
            if email:
                user_info.email = email
            if province_id:
                user_info.province_id = province_id
            if city_id:
                user_info.city_id = city_id
            if county_id:
                user_info.county_id = county_id
            if street:
                user_info.street = street

            db.add(user)
            db.add(user_info)
            db.commit()
            user = User.query.filter(User.id == user_id).first()
            user_info = UserInfoDb.query.filter(UserInfoDb.user_id == user_id).first()

            return {'user': pickler.flatten(user), 'user_info': pickler.flatten(user_info), 'status': 0}

        if login_type == 1 or login_type == 2:
            if not open_id:
                err['message'] = '第三方登录用户必须需要open_id'
                return err
            user = User.query.filter(User.id == user_id).first()
            user_info = UserInfoDb.query.filter(UserInfoDb.user_id == user_id).first()
            if nick_name:
                if User.query.filter(User.nick_name == nick_name).count():
                    err['message'] = 'nick_name已存在'
                    return err
            if head_picture:
                if not allowed_file_extension(head_picture.stream.filename, HEAD_PICTURE_ALLOWED_EXTENSION):
                    err['message'] = '图片的格式不支持,png jpg jpeg gif支持'
                    return err
                old_head_picture = user_info.base_path + user_info.rel_path + '/' + user_info.pic_name
                user_info.upload_name = head_picture.stream.filename
                user_info.base_path = HEAD_PICTURE_BASE_PATH
                user_info.rel_path = HEAD_PICTURE_UPLOAD_FOLDER
                user_info.pic_name = time_file_name(secure_filename(head_picture.stream.filename), sign=user_id)
                head_picture.save(os.path.join(user_info.base_path+user_info.rel_path+'/', user_info.pic_name))
                try:
                    os.remove(old_head_picture)
                except:
                    pass
            if nick_name:
                user.nick_name = nick_name
            if system_message_time:  # 1
                if not user.system_message_time:
                    user.system_message_time = todayfstr()
            else:
                user.system_message_time = None
            if mobile:
                user_info.mobile = mobile
            if tel:
                user_info.tel = tel
            if real_name:
                user_info.real_name = real_name
            if sex:
                user_info.sex = sex
            if birthday_type:
                user_info.birthday_type = birthday_type
            if birthday:
                user_info.birthday = birthday
            if intro:
                user_info.intro = intro
            if signature:
                user_info.signature = signature
            if ethnicity_id:
                user_info.ethnicity_id = ethnicity_id
            if company:
                user_info.company = company
            if job:
                user_info.job = job
            if email:
                user_info.email = email
            if province_id:
                user_info.province_id = province_id
            if city_id:
                user_info.city_id = city_id
            if county_id:
                user_info.county_id = county_id
            if street:
                user_info.street = street

            db.add(user)
            db.add(user_info)
            db.commit()
            user = User.query.filter(User.id == user_id).first()
            user_info = UserInfoDb.query.filter(UserInfoDb.user_id == user_id).first()

            return {'user': pickler.flatten(user), 'user_info': pickler.flatten(user_info), 'status': 0}