@joshsulin
2015-09-07T06:02:57.000000Z
字数 1947
阅读 552
公司zhe800
tao800_fire 项目共提供了 3 个接口为U站服务.
#u站商品图片链接上传接口def taobao_image_urlsdeals = Redis.current.lrange('redis_taobao_deal_id',100*(params[:page].to_i - 1),100* params[:page].to_i - 1)if deals.present?items = Deal.select('id,image').where(id: deals)elseitems = Deal.select('deals.id,deals.image').joins(:deal_info).not_expired.where("deal_infos.taobao_image_url = ''").order('deals.updated_at DESC').page(params[:page]).per(100)endresult = {}items.each do |item|result["deal-#{item.id}"] = item.image_url(:normal) if item.image_url(:normal).present?endrender :json => {:result => result}end
把 taobao deal id 放在 redis里面,是由 http://redmine.tuan800-inc.com/issues/90922 这个工单审核的。
#u站品牌图片链接上传接口def taobao_brand_image_urlsbrands = Brand.where("(`uz_logo_small_image_url` = '' AND logo_image <> '') OR(`uz_logo_normal_image_url` = '' AND logo_image <> '') OR(`uz_banner_image_url` = '' AND banner_image <> '')").order('updated_at DESC')items = brands.page(params[:page]).per(100)result = {}items.each do |item|result["brand-#{item.id}-logo_small_image"] = item.logo_image_url(:small) if item.logo_image_url(:small).present?result["brand-#{item.id}-logo_normal_image"] = item.logo_image_url(:normal) if item.logo_image_url(:normal).present?result["brand-#{item.id}-banner_image"] = item.banner_image_url if item.banner_image_url.present?endrender :json => {:result => result}end
这段代码逻辑也不用说了,一看就明白了
def update_taobao_image_urlsJSON.parse(params[:result]).each do |key,image_url|key = key.split("-")if key[0].to_s == 'deal'info = DealInfo.find_by_deal_id(key[1].to_i)info.update_attributes(:taobao_image_url => image_url)elseattribute = "uz_#{key[2]}_url=".to_symbrand = Brand.find_by_id(key[1].to_i)brand.send(attribute, image_url)brand.save(:validate => false)endendrender :text => ""end
这段代码一看就能明白的