コード例 #1
0
    def post(self):
        params = {}
        resp = {}
        params = utils.decode_params(self.request)
        
        if KEY.ACCOUNT in params and KEY.PASSWORD in params and KEY.PHONE in params:
            if Session.Session.exists(params):
                '''if user not exists, return true'''
                if db.check_user_exist(params):
                    user_id = db.add_account(params)
                    if user_id > 0:
                        '''set the user phone number'''
                        db.update_user({KEY.ID: user_id, KEY.PHONE: params[KEY.PHONE]})
                        resp[KEY.STATUS] = 200
                        resp[KEY.ACCOUNT] = params[KEY.ACCOUNT]
                        resp[KEY.ID] = user_id
                        resp[KEY.SALT] = db.get_salt(params)
                        resp[KEY.CHAT_TOKEN] = db.get_chat_token(params)
                        bank_account_id = db.create_loving_bank(resp, 20, 0)
                        
                    else:
                        resp[KEY.STATUS] = 250
                else:
                    resp[KEY.STATUS] = 260
            else:
                resp[KEY.STATUS] = 270
        else:
            resp[KEY.STATUS] = 300

        self.write(json_encode(resp))
コード例 #2
0
    def get(self, idencode):
        #http://localhost:8000/account/userinfo/modify/email_verify/

        #获取email_id中的值 而且为最新的
        params = {}
        params[KEY.IDENCODE] = idencode

        params = db.get_verify_email_by_idencode(params)
        if params is None:
            return self.render("email-failed.html", email=None)

        verify_email_info = db.get_latest_verify_email(params)
        if verify_email_info is not None:

            #先把数据库里面的全部删除
            db.clear_verify_email_info(params)

            #时间戳 设置时间间隔为10分钟链接失效
            s = verify_email_info[KEY.TIME]

            emailTime = time.mktime(s.timetuple())
            nowTime = time.time()

            email = verify_email_info[KEY.EMAIL].replace("%40", "@")
            timeInterval = nowTime - emailTime
            if timeInterval > 120:
                return self.render("email-failed.html", email=email)
            else:
                success = db.update_user(params)
                if success:
                    return self.render("email-success.html")
                else:
                    return self.render("email-failed.html", email=email)

        return self.render("email-failed.html", email=None)
コード例 #3
0
    def get(self, idencode):

        
        params = {}
        params[KEY.IDENCODE] = idencode

        #先判段是是否有人确认过了
        verify_user_info = db.get_user_verify_info(params)
        if verify_user_info is None:
            return self.write('the link is fail')

        #没有的话 清除数据
        db.clear_verify_user_info(verify_user_info)

        #判段时间是否失效

        s = verify_user_info[KEY.TIME]
        emailTime = time.mktime(s.timetuple())
        nowTime = time.time()
        timeInterval = nowTime - emailTime

        verify_user_info[KEY.EMAIL] = verify_user_info[KEY.EMAIL].replace("%40", "@")
        if timeInterval > 86400:
            sendEmail.sendEmail([verify_user_info[KEY.EMAIL]], "认证失败消息", "您的实名认证失败,请重新认证")
            return self.write('the link is fail (The effective time has passed.)')
        else:
            verify_user_info[KEY.IS_VERIFY] = 1

            success = db.update_user(verify_user_info)
            if success:
                return self.write("success comfirm")
            else:
                sendEmail.sendEmail([verify_user_info[KEY.EMAIL]], "认证失败消息", "您的实名认证失败,请重新认证")
                return self.write("server error")
コード例 #4
0
    def post(self):
        params = {}
        resp = {KEY.STATUS: 500}
        params = utils.decode_params(self.request)
        if KEY.ID not in params or KEY.EVENT_ID not in params or KEY.USER_ID not in params or KEY.VALUE not in params:
            self.write(json_encode(resp))
            return

        '''trans the term's type'''
        params[KEY.ID] = int(params[KEY.ID])
        params[KEY.EVENT_ID] = int(params[KEY.EVENT_ID])
        params[KEY.USER_ID] = int(params[KEY.USER_ID])
        params[KEY.VALUE] = float(params[KEY.VALUE])
        
        flag = db.evaluate_user(params)
        if flag:
            '''we can import here, use some algorithm to incease the helper's reputation'''
            user = db.get_user_information({KEY.ID: params[KEY.USER_ID]})
            if user is not None:
                reputation = user[KEY.REPUTATION]
                params[KEY.VALUE] = reputation*(1 - VALUE.RATE) + VALUE.RATE*params[KEY.VALUE]
                if db.update_user({KEY.ID: params[KEY.USER_ID], KEY.REPUTATION: params[KEY.VALUE]}):
                    resp[KEY.STATUS] = 200

        self.write(json_encode(resp))
コード例 #5
0
    def post(self):
        params = utils.decode_params(self.request)
        resp = {}
        if db.update_user(params):
            resp[KEY.STATUS] = 200
        else:
            resp[KEY.STATUS] = 500

        self.write(json_encode(resp))
コード例 #6
0
    def post(self):
        params = utils.decode_params(self.request)
        resp = {}
        if db.update_user(params):
            resp[KEY.STATUS] = 200
        else:
            resp[KEY.STATUS] = 500

        self.write(json_encode(resp))
コード例 #7
0
    def post(self):
        params = utils.decode_params(self.request)
        result = db.update_user(params)
        resp = {}
        if result:
            resp[KEY.STATUS] = STATUS.OK
            resp[KEY.ID] = params[KEY.ID]
        else:
            resp[KEY.STATUS] = STATUS.ERROR

        self.write(json_encode(resp))
コード例 #8
0
 def post(self):
   params = utils.decode_params(self.request)
   result = db.update_user(params)
   resp = {}
   if result:
     resp[KEY.STATUS] = STATUS.OK
     resp[KEY.ID] = params[KEY.ID]
   else:
     resp[KEY.STATUS] = STATUS.ERROR    
  
   self.write(json_encode(resp))
コード例 #9
0
    def post(self):
        params = utils.decode_params(self.request)
        resp = {}
        if KEY.PHONE in params and KEY.SMSCODE in params and KEY.TEMP_ID in params and KEY.ID in params:
            if Session.Session.confirm_by_flag(params):
                if db.update_user(params):
                    resp[KEY.STATUS] = 200
                else:
                    resp[KEY.STATUS] = 300
            else:
                resp[KEY.STATUS] = 400
        else:
            resp[KEY.STATUS] = 500

        self.write(json_encode(resp))
コード例 #10
0
    def post(self):
        params = utils.decode_params(self.request)
        resp = {}
        if KEY.PHONE in params and KEY.SMSCODE in params and KEY.TEMP_ID in params and KEY.ID in params:
            if Session.Session.confirm_by_flag(params):
                if db.update_user(params):
                    resp[KEY.STATUS] = 200
                else:
                    resp[KEY.STATUS] = 300;
            else:
                resp[KEY.STATUS] = 400
        else:
            resp[KEY.STATUS] = 500

        self.write(json_encode(resp))
コード例 #11
0
    def post(self):

        id = self.get_secure_cookie("id")
        resp = {}
        if self.get_secure_cookie("passwordVerify") != "yes":
            resp[KEY.STATUS] = 400
            
        else:
            params = utils.decode_params(self.request)

            resp[KEY.STATUS] = 500
            if KEY.ID in params and KEY.PHONE in params:
                
                params[KEY.ID] = int(params[KEY.ID])
                verify = db.update_user(params)
                if verify:

                    self.set_secure_cookie("passwordVerify", "no")

                    resp[KEY.STATUS] = 200
        
        return self.write(json_encode(resp))        
コード例 #12
0
    def post(self):

        id = self.get_secure_cookie("id")
        resp = {}
        if self.get_secure_cookie("passwordVerify") != "yes":
            resp[KEY.STATUS] = 400

        else:
            params = utils.decode_params(self.request)

            resp[KEY.STATUS] = 500
            if KEY.ID in params and KEY.PHONE in params:

                params[KEY.ID] = int(params[KEY.ID])
                verify = db.update_user(params)
                if verify:

                    self.set_secure_cookie("passwordVerify", "no")

                    resp[KEY.STATUS] = 200

        return self.write(json_encode(resp))
コード例 #13
0
    def get(self, idencode):

        params = {}
        params[KEY.IDENCODE] = idencode

        #先判段是是否有人确认过了
        verify_user_info = db.get_user_verify_info(params)
        if verify_user_info is None:
            return self.write('the link is fail')

        #没有的话 清除数据
        db.clear_verify_user_info(verify_user_info)

        #判段时间是否失效

        s = verify_user_info[KEY.TIME]
        emailTime = time.mktime(s.timetuple())
        nowTime = time.time()
        timeInterval = nowTime - emailTime

        verify_user_info[KEY.EMAIL] = verify_user_info[KEY.EMAIL].replace(
            "%40", "@")
        if timeInterval > 86400:
            sendEmail.sendEmail([verify_user_info[KEY.EMAIL]], "认证失败消息",
                                "您的实名认证失败,请重新认证")
            return self.write(
                'the link is fail (The effective time has passed.)')
        else:
            verify_user_info[KEY.IS_VERIFY] = 1

            success = db.update_user(verify_user_info)
            if success:
                return self.write("success comfirm")
            else:
                sendEmail.sendEmail([verify_user_info[KEY.EMAIL]], "认证失败消息",
                                    "您的实名认证失败,请重新认证")
                return self.write("server error")
コード例 #14
0
    def get(self, idencode):
        #http://localhost:8000/account/userinfo/modify/email_verify/

        #获取email_id中的值 而且为最新的
        params = {}
        params[KEY.IDENCODE] = idencode

        params = db.get_verify_email_by_idencode(params)
        if params is None:
            return self.render("email-failed.html", email = None)


        verify_email_info = db.get_latest_verify_email(params)
        if verify_email_info is not None:   

            #先把数据库里面的全部删除
            db.clear_verify_email_info(params)

            #时间戳 设置时间间隔为10分钟链接失效
            s = verify_email_info[KEY.TIME]

            emailTime = time.mktime(s.timetuple())
            nowTime = time.time()

            email = verify_email_info[KEY.EMAIL].replace("%40", "@")
            timeInterval = nowTime - emailTime
            if timeInterval > 86400:
                return self.render("email-failed.html", email = email)
            else:
                success = db.update_user(params)
                if success:
                    return self.render("email-success.html")
                else:
                    return self.render("email-failed.html", email = email)

        return self.render("email-failed.html", email = None)
コード例 #15
0
async def process_age(message: types.Message):
    db.update_user(message.from_user.id, 'age', message.text)
    await message.answer(hbold('Ваш возраст успешно изменён!'),
                         parse_mode=ParseMode.HTML)
    await EditProfile.editing.set()
コード例 #16
0
async def process_name(message: types.Message):
    db.update_user(message.from_user.id, 'name', message.text)
    await message.answer(hbold('Ваше имя успешно изменено!'),
                         parse_mode=ParseMode.HTML)
    await EditProfile.editing.set()
コード例 #17
0
async def process_city(message: types.Message):
    new_city_id = db.get_city_id(message.text)
    db.update_user(message.from_user.id, 'city', new_city_id)
    await message.answer(hbold('Ваш город успешно изменён!'),
                         parse_mode=ParseMode.HTML)
    await EditProfile.editing.set()
コード例 #18
0
async def process_photo(message: types.Message):
    db.update_user(message.from_user.id, 'photo', message.photo[-1].file_id)
    await message.answer(hbold('Ваше фото успешно сохранено!'),
                         parse_mode=ParseMode.HTML)
    await EditProfile.editing.set()
コード例 #19
0
async def process_about(message: types.Message):
    db.update_user(message.from_user.id, 'about', message.text)
    await message.answer(hbold('Информация о вас успешно сохранена!'),
                         parse_mode=ParseMode.HTML)
    await EditProfile.editing.set()
コード例 #20
0
async def process_occupation(message: types.Message):
    db.update_user(message.from_user.id, 'occupation', message.text)
    await message.answer(hbold('Ваш род занятий успешно изменён!'),
                         parse_mode=ParseMode.HTML)
    await EditProfile.editing.set()