class Sap::Customer
Public Class Methods
new(source)
click to toggle source
对象初始化方法(初始化来源) @note 对象初始化方法(初始化来源) @param source [string]
# File lib/resource/sap/customer.rb, line 9 def initialize(source) @source = source end
Public Instance Methods
convert_to_sap_customer(order)
click to toggle source
# File lib/resource/sap/customer.rb, line 77 def convert_to_sap_customer(order) sap_customer = yhash sap_customer.customerType = 'INDIVIDUAL_CUSTOMER' sap_customer.stage = 'CUSTOMER' sap_customer.status = 'ACTIVE' sap_customer.marketingStatus = 'UNKNOWN' sap_customer.firstName = order.try(:consignee_name) # sap_customer.firstName = 'zxy' sap_customer.mobile = order.try(:consignee_phone) sap_customer.phone = order.try(:consignee_phone) sap_customer end
find(id)
click to toggle source
通过接口获得单个数据 @note 通过接口获得单个数据 @param id [Integer] 数据id
# File lib/resource/sap/customer.rb, line 24 def find(id) a = get(query(id)) # Rails.logger.info "a的class#{a.present?}" end
list()
click to toggle source
通过接口获得一堆数据 @note 通过接口获得一堆数据 @param source [string] 来源 @param request_name
[string] 请求资源名
# File lib/resource/sap/customer.rb, line 17 def list get(query) end
query(params = nil, id = nil)
click to toggle source
# File lib/resource/sap/customer.rb, line 41 def query(params = nil, id = nil) # Rails.logger.info "#{params.class}" # 第一个判断是用于find(id)这种情况,第二个是针对update的情况 request_names = if params.class == Fixnum # Rails.logger.info "走的是第一个" "#{request_name}/#{params}?expand=*&" elsif id.class == Fixnum # Rails.logger.info "走的是第二个" "#{request_name}/#{id}?expand=*&" elsif params.class == String # Rails.logger.info "走的是第三个" "#{request_name}?expand=*&filter=(mobile+eq+'#{params}')&" else # Rails.logger.info "走的是第四个" "#{request_name}?expand=*&" end post_params = { source: @source, request_name: request_names } # p "params是#{params}" # p "id是#{id}" if params.class != Fixnum && params.class != String && params.present? post_params.merge!(customer: convert_to_sap_customer(params)) # p "post_params#{post_params}" end # Rails.logger.info "++++++++#{convert_to_sap_order(params)}" # if params[:user_id].present? # post_params.merge!(order: convert_to_sap_order(params)) # Rails.logger.info "post_params#{post_params}" # end post_params.merge(id: id) if id.class == Fixnum # p "当前参数#{post_params}" post_params end
request_name()
click to toggle source
获取请求路径的请求名 @note 获取请求路径的请求名
# File lib/resource/sap/customer.rb, line 37 def request_name 'Customers' end
upload(customer_order)
click to toggle source
将客户数据从云店家上传到sap @param customer_order [Order]
# File lib/resource/sap/customer.rb, line 31 def upload(customer_order) customer_id = post(query(customer_order)) end