예제 #1
0
    def post(self):
        try:
            telephone = self.get_argument('telephone')
            verify_type = int(self.get_argument('verify_type'))
        except MissingArgumentError:
            return self.error(MISSING_PARAMS)

        if not verify_telephone(telephone):
            return self.error(PHONE_NOT_RIGHT)

        if verify_type == REGISTER_VERIFY_CODE_TYPE and User.exists_user_by_telephone(telephone):
            return self.error(EXIST_USER_TELEPHONE)

        verify_code = Verify.gen_verify_code()
        try:
            Verify.add_verify_code(verify_type, telephone, verify_code)
            if not settings.DEBUG:
                send_register_verify_code_sms.delay(telephone, verify_code)
            return self.render({
                'status': 0,
                'data': {
                    'telephone': telephone,
                    'verify_code': str(verify_code),
                }
            })
        except Exception as e:
            logger.warning(u'获取注册验证码失败。Error:[%s]' % e)
            return self.error(SYSTEM_ERROR)
예제 #2
0
    def post(self, *args, **kwargs):
        try:
            telephone = self.get_argument('telephone')
            password = self.get_argument('password')
            verify_code = self.get_argument('verify_code')
        except MissingArgumentError:
            return self.error(MISSING_PARAMS)

        if not verify_telephone(telephone):
            return self.error(PHONE_NOT_RIGHT)

        # 检测是否有相同手机号的用户
        exist_user_telephone = User.exists_user_by_telephone(telephone)
        if exist_user_telephone:
            return self.error(EXIST_USER_TELEPHONE)

        # 检测验证码是否正确
        if str(verify_code) != str(Verify.get_verify_code(REGISTER_VERIFY_CODE_TYPE, telephone)):
            return self.error(MISMATCHED_VERIFY_CODE)

        password = encrypt_password(password)
        try:
            user_id = User.add(telephone, password)
            user_amount = User.get_user_count()
            account = Account.add(user_id, 0.00)
            # UserIntegral.add(user_id, 0)
            # if user_amount <= 500:
            #     account.add_balance(10.00)
            #     PresentedBalance.add(user_id, 10.00, PRESENT_BEFORE_500)
            #
            # if int(telephone) in NEICE_TELEPHONES:
            #     account.add_balance(10.00)
            #     PresentedBalance.add(user_id, 10.00, PRESENT_NEICE)

            access_token = gen_access_token(user_id)
            UserAuth.add(user_id, access_token)
            user = User.get(user_id)
            rst = {
                'status': 0,
                'data': {
                    'user': user.jsonify(),
                    'access_token': access_token,
                },
            }

            return self.render(rst)
        except Exception as e:
            logger.error(u'添加用户失败。Error:%s', e)
            return self.error(SYSTEM_ERROR)