def post(self):
        user_type = _USER_TYPE_INVEST

        if check_use_source(_USE_SOURCE_TYPE_1):
            argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
                must_keys=[
                    'user_id', 'pay_password', 'login_password', 'vcode',
                    'register_by'
                ],
                api_type=user_type,
                request_type=_REQUEST_TYPE_LOGIN,
                check_form_token=True)

            user_id = argument_dict['user_id']
            pay_password = argument_dict['pay_password']
            login_password = argument_dict['login_password']
            vcode = argument_dict['vcode']
            register_by = argument_dict['register_by']

            # 1.0 检查验证码有效性
            vcode_service = VcodeService(aes_share_key=aes_share_key,
                                         aes_nonce=aes_nonce)
            vcode_service.check_vcode(vcode,
                                      _VCODE_SET_PAY_PD,
                                      user_id,
                                      user_type=user_type,
                                      register_by=register_by)

            r = UserBaseService(aes_share_key=aes_share_key, aes_nonce=aes_nonce). \
                set_pay_password(user_id, login_password, pay_password, user_type=user_type)
            return r, aes_share_key, aes_nonce
        else:
            self.return_error(10004)
    def post(self):
        user_type = _USER_TYPE_INVEST

        if check_use_source(_USE_SOURCE_TYPE_1):
            argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
                must_keys=['user_id', 'email', 'vcode'],
                api_type=user_type,
                request_type=_REQUEST_TYPE_LOGIN,
                check_form_token=True)

            user_id = argument_dict['user_id']
            email = argument_dict['email']
            vcode = argument_dict['vcode']

            register_by = _REGISTER_SET_EMAIL

            vcode_service = VcodeService(aes_share_key=aes_share_key,
                                         aes_nonce=aes_nonce)
            vcode_service.check_vcode(
                vcode,
                _VCODE_SET_EMAIL,
                user_id,
                user_type=user_type,
                register_by=register_by,
            )

            r = UserBaseService(aes_share_key=aes_share_key, aes_nonce=aes_nonce). \
                set_email(user_id, email, user_type=user_type)
            return r, aes_share_key, aes_nonce
        else:
            self.return_error(10004)
    def post(self):
        """
        用户注册
        :return:
        """
        # 1.0 获取注册参数
        user_type = _USER_TYPE_BORROW

        argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
            must_keys=[
                'user_mobile', 'vcode', 'password', 'register_signature'
            ],
            check_token=False,
            invariable_key=True,
            api_type=user_type,
            request_type=_REQUEST_TYPE_REGISTER)
        user_mobile = argument_dict['user_mobile']
        vcode = argument_dict['vcode']
        password = argument_dict['password']
        register_signature = argument_dict['register_signature']

        vcode_service = VcodeService(aes_share_key=aes_share_key,
                                     aes_nonce=aes_nonce)
        # 2.0 校验touken
        vcode_service.check_register_signature(register_signature)

        # 3.0 检查验证码有效性
        vcode_service.check_vcode(vcode,
                                  _VCODE_REGISTER,
                                  user_mobile,
                                  user_type=user_type)

        user_service = UserBaseService(aes_share_key=aes_share_key,
                                       aes_nonce=aes_nonce)
        # 4.0 处理用户注册逻辑
        result = user_service.register(user_mobile,
                                       password,
                                       0,
                                       user_type=user_type)

        if ('status' not in result) or result['status'] != "true":
            return result, aes_share_key, aes_nonce

        # 5.0 注册后直接登录
        login_result = user_service.login(user_mobile, password, user_type)
        result = dict(result, **login_result)
        return result, aes_share_key, aes_nonce
Пример #4
0
    def post(self):
        argument_dict = self.get_argument_dict(check_token=False)

        user_mobile = argument_dict['user_mobile']
        vcode = argument_dict['vcode']
        type = argument_dict['type']

        vcode_service = VcodeService()
        result = vcode_service.check_vcode(user_mobile, int(type), vcode)
        return {"status": result}
    def post(self):
        """
        用户注册
        :return:
        """
        # 1.0 获取注册参数
        user_type = _USER_TYPE_INVEST

        if check_use_source(_USE_SOURCE_TYPE_1):
            argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
                must_keys=[
                    'user_mobile', 'vcode', 'password', 'source',
                    'register_by', 'mobile_country_code'
                ],
                check_token=False,
                invariable_key=True,
                api_type=user_type,
                check_form_token=True,
                request_type=_REQUEST_TYPE_REGISTER)
            user_mobile = argument_dict['user_mobile']
            vcode = argument_dict['vcode']
            password = argument_dict['password']
            source = argument_dict['source']
            register_by = argument_dict['register_by']
            mobile_country_code = argument_dict['mobile_country_code']
            # 新需求取消用户名注册的方式
            # user_name = argument_dict['user_name']
            user_name = None

            vcode_service = VcodeService(aes_share_key=aes_share_key,
                                         aes_nonce=aes_nonce)

            # 3.0 检查验证码有效性
            vcode_service.check_vcode(vcode,
                                      _VCODE_REGISTER,
                                      user_mobile,
                                      user_type=user_type,
                                      register_by=register_by)

            user_service = UserBaseService(aes_share_key=aes_share_key,
                                           aes_nonce=aes_nonce)
            # 4.0 处理用户注册逻辑
            result = user_service.register_by_type(
                user_mobile,
                password,
                user_type=user_type,
                source=source,
                db_user_name=user_name,
                register_by=register_by,
                mobile_country_code=mobile_country_code,
                change_key_nonce=True)

            if ('status' not in result) or result['status'] != "true":
                return result, aes_share_key, aes_nonce

            # 6.0 注册后直接登录
            login_result = user_service.login_by_type(
                user_mobile,
                password,
                user_type,
                source=source,
                register_by=register_by,
                mobile_country_code=mobile_country_code)
            result = dict(result, **login_result)
        else:
            argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
                must_keys=['user_mobile', 'vcode', 'password'],
                check_token=False,
                invariable_key=True,
                api_type=user_type,
                request_type=_REQUEST_TYPE_REGISTER)
            user_mobile = argument_dict['user_mobile']
            vcode = argument_dict['vcode']
            password = argument_dict['password']

            vcode_service = VcodeService(aes_share_key=aes_share_key,
                                         aes_nonce=aes_nonce)

            # 3.0 检查验证码有效性
            vcode_service.check_vcode(vcode,
                                      _VCODE_REGISTER,
                                      user_mobile,
                                      user_type=user_type)

            user_service = UserBaseService(aes_share_key=aes_share_key,
                                           aes_nonce=aes_nonce)
            # 4.0 处理用户注册逻辑
            result = user_service.register(user_mobile,
                                           password,
                                           0,
                                           user_type=user_type)

            if ('status' not in result) or result['status'] != "true":
                return result, aes_share_key, aes_nonce

            # 5.0 账户表中生成用户账户
            transfer_url = get_transfer_to_platform_path(
                "invest", "generate_account")
            account_response_dict = transfer_to_platform(transfer_url,
                                                         data={
                                                             "user_id":
                                                             result['user_id'],
                                                             "user_mobile":
                                                             user_mobile
                                                         })

            if ("code" not in account_response_dict) or ("data" not in account_response_dict) or \
                    ('status' not in account_response_dict["data"]) or account_response_dict["data"]['status'] != "true":
                return account_response_dict, aes_share_key, aes_nonce
            user_service.register_on(user_mobile)

            # 6.0 注册后直接登录
            login_result = user_service.login(user_mobile, password, user_type)
            result = dict(result, **login_result)
        return result, aes_share_key, aes_nonce
    def post(self):
        user_type = _USER_TYPE_INVEST
        if check_use_source(_USE_SOURCE_TYPE_1):
            argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
                must_keys=[
                    'user_mobile', 'vcode', 'password', 'mobile_country_code',
                    'register_by'
                ],
                check_token=False,
                api_type=user_type,
                invariable_key=False,
                request_type=_REQUEST_TYPE_REGISTER,
                check_form_token=True)

            user_mobile = argument_dict['user_mobile']
            vcode = argument_dict['vcode']
            password = argument_dict['password']
            mobile_country_code = argument_dict['mobile_country_code']
            register_by = argument_dict['register_by']

            if register_by not in [
                    _RESET_PWD_MOBILE,
                    _RESET_PWD_EMAIL,
            ]:
                self.return_error(30223)

            vcode_service = VcodeService(aes_share_key=aes_share_key,
                                         aes_nonce=aes_nonce)
            vcode_service.check_vcode(vcode,
                                      _VCODE_RESETPD,
                                      user_mobile,
                                      user_type=user_type,
                                      register_by=register_by)

            r = UserBaseService(
                aes_share_key=aes_share_key,
                aes_nonce=aes_nonce).reset_login_password_by_type(
                    user_mobile,
                    password,
                    user_type=user_type,
                    register_by=register_by,
                    mobile_country_code=mobile_country_code,
                )
        else:
            argument_dict, aes_share_key, aes_nonce = self.get_argument_dict(
                must_keys=['user_mobile', 'vcode', 'password'],
                check_token=False,
                api_type=user_type,
                invariable_key=False,
                request_type=_REQUEST_TYPE_REGISTER)

            user_mobile = argument_dict['user_mobile']
            vcode = argument_dict['vcode']
            password = argument_dict['password']

            vcode_service = VcodeService(aes_share_key=aes_share_key,
                                         aes_nonce=aes_nonce)
            vcode_service.check_vcode(vcode,
                                      _VCODE_RESETPD,
                                      user_mobile,
                                      user_type=user_type)

            r = UserBaseService(aes_share_key=aes_share_key, aes_nonce=aes_nonce).\
                reset_login_password(user_mobile, password, user_type=user_type)

        return r, aes_share_key, aes_nonce