module Yrpc class Response module Code # 添加模型常量国际化方法 # include Dictionary::Module::I18n ################################################################################ # # 20000 成功 # ################################################################################ SUCCESS = '20000' ################################################################################ # # 3xxxx 数据相关 # ################################################################################ # 用户绑定第三方账户 # 第三方账户已绑定其它用户 PROVIDER_BIND_ANOTHER_USER = '30010' ################################################################################ # # 4xxxx 业务相关 # ################################################################################ # 非法请求 INVALID_REQUEST = '40300' # 终端密钥错误 INVALID_TERMINAL_SESSION_KEY = '40301' # 用户密钥错误 INVALID_USER_SESSION_KEY = '40302' # 超出请求限制数 EXCEED_REQUEST_LIMIT = '40303' # 版本号不适配 NOT_COMPATIBLE_REVISION = '40304' # 访问令牌过期 ACCESS_TOKEN_EXPIRED = '40305' ################################################################################ # # 5xxxx 系统相关 # ################################################################################ # 未知错误(通常在捕捉异常后使用) ERROR = '50000' # 请求参数缺失 # Todo: 移动到数据相关 MISS_REQUEST_PARAMS = '50001' # 数据处理错误 # Todo: 移动到数据相关 DATA_PROCESS_ERROR = '51000' # 数据缺失错误 # Todo: 移动到数据相关 DATA_MISS_ERROR = '51001' ORDER_PAYMENT_COMPLETED = '55000' NEED_LOGIN = '40100' ERROR_VALIDATE_CODE = '40200' # 全部 # ALL = get_all_constants.map { |constant| constant.to_s.downcase } end def initialize(operation, execution_time = nil) @operation = operation @message = operation.execute @metadata = operation.metadata @trailing_metadata = operation.trailing_metadata @deadline = operation.deadline @cancelled = operation.cancelled? @execution_time = execution_time || 0.0 end def message @message ||= @operation.execute end def status @message ||= @operation.execute @message&.status end end end