本文介绍如何使用淘宝客API获取淘宝客订单 ,获取到订单后 ,将订单记录插入到 OenJWeb的淘宝客订单表 ,下面 是代码 :

package org.openjweb.core.taobao.service.impl;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.openjweb.core.entity.CommUser;
import org.openjweb.core.service.IDBSupportService;
import org.openjweb.core.service.ServiceLocator;
import org.springframework.security.context.SecurityContextHolder;
import org.openjweb.core.service.BaseMasterDetailService;
import org.openjweb.core.taobao.entity.TaobaoTbkOrder;
import org.openjweb.core.taobao.service.ITaobaoTbkOrderService;
import org.openjweb.core.util.StringUtil;

import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.domain.TaobaokeReportMember;
import com.taobao.api.request.TaobaokeReportGetRequest;
import com.taobao.api.response.TaobaokeReportGetResponse;

public class TaobaoTbkOrderServiceImpl extends BaseMasterDetailService
  implements ITaobaoTbkOrderService {
 private static final Logger logger = Logger
   .getLogger(TaobaoTbkOrderServiceImpl.class);

public void getTBKOrder(String url, String appkey, String secret,
   String date,   HttpServletRequest request)
   throws Exception
 {
  url = ServiceLocator.getSysConfigService().getStringValueByParmName("tbkUrl");
  appkey =  ServiceLocator.getSysConfigService().getStringValueByParmName("tbkAppkey");
  secret =  ServiceLocator.getSysConfigService().getStringValueByParmName("tbkSecret");  
     TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
  TaobaokeReportGetRequest req = new TaobaokeReportGetRequest();
  req.setFields("category_id,category_name,commission,commission_rate,item_num,item_title,num_iid,outer_code,pay_price,pay_time,real_pay_fee,seller_nick,shop_title,trade_id,trade_parent_id");
  req.setDate(date);
  
  logger.info("开始查询日期为:"+date+"的订单!");
  req.setPageSize(100L); // 每页返回结果数,默认是40条.最大每页100
  long pageNo = 1L;
  TaobaokeReportGetResponse response = null;
  IDBSupportService service = (IDBSupportService)ServiceLocator.getBean("IDBSupportService3");
  while(true)
  {
      //req.setPageNo(pageNo); // 当前页数.只能获取1-499页数据.
      response = client.execute(req);
      if(response!=null)
      {
       List<TaobaokeReportMember> orders = response.getTaobaokeReport().getTaobaokeReportMembers();
       if(orders==null||orders.size()==0)
       {
        logger.info("未找到订单,退出......");
        break;
       }
          //if (orders != null && orders.size() > 0) {
       for (int i = 0; i < orders.size(); i++)
       {
        TaobaokeReportMember order = orders.get(i);
        //查询系统中是否已经有此订单商品,如果有,跳过,如果没有,则插入一条新记录
        String proCode = String.valueOf(order.getNumIid());//商品ID
        String orderId = String.valueOf(order.getTradeId());//交易号,即定单
        int count = Integer.parseInt(service.findSingleValueByHql("select count(*) from TaobaoTbkOrder where orderNo='"+orderId+"' and proCode='"+proCode+"'").toString());
        if(count>0)continue;//已经有则不插入
        TaobaoTbkOrder orderEnt = new TaobaoTbkOrder();
        orderEnt.setRowId(StringUtil.getUUID());
        orderEnt.setCreateDt(StringUtil.getCurrentDateTime());
        orderEnt.setUpdateDt(orderEnt.getCreateDt());
        orderEnt.setCreateUid("admin");
        orderEnt.setUpdateUid("admin");
        orderEnt.setProCode(proCode);
        orderEnt.setOrderNo(orderId);
        logger.info("支付时间:"+order.getPayTime().toString());
        String dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") .format(order.getPayTime());
        orderEnt.setOrderDt(dt);//日期
        orderEnt.setStoreName(order.getSellerNick());//卖家昵称
        orderEnt.setStoreName2(order.getShopTitle());//店铺名称
        orderEnt.setYongjinRate(order.getCommissionRate());// 佣金比率
        orderEnt.setYongjinAmt(new Double(order.getCommission()));// 佣金金额
        orderEnt.setPurQty(new Double(String.valueOf(order.getItemNum())));// 购买数量
        orderEnt.setProName(order.getItemTitle());// 商品标题
        orderEnt.setUnitPrice(new Double(order.getPayPrice()));// 成交价格
        logger.info("实际成交额: ");
        logger.info(order.getRealPayFee());
        orderEnt.setOrderAmt(new Double(order.getRealPayFee()));//实际成交
        //orderEnt.setOrderStatus(order.get)
        //System.out.println(order.getCategoryId()); // 类目
        //System.out.println(order.getCategoryName());// 类目名称
        //System.out.println(order.getOuterCode());// 推广渠道
           //System.out.println(order.getPayTime()); // 支付时间 Sat Dec 22
     //System.out.println(order.getRealPayFee()); // 实际支付金额
        //System.out.println(order.getTradeParentId());// 淘宝父交易号
        service.saveOrUpdate(orderEnt);
       }
       pageNo++;
       req.setPageNo(pageNo);
      }
      else
      {
       logger.info("淘宝客获取订单,响应为空.....");
       throw new Exception ("淘宝客获取订单,响应为空.....");
       
       //break; //如果未获得相应,退出()
      }
  }

}
}

本人最近已实现了一个淘宝导购网站 ,欢迎大家访问 http://www.tuozhong.com 注册 用户 ,此网站商品为淘宝商品 ,购物给集分宝,推荐会员购物后也可给集分宝。

托众导购网 淘宝客订单API获取订单代码相关推荐

  1. 外卖cps淘宝客订单API获取订单代码

    直到看到了一个好友分享到外卖 CPS,觉得这是一个机会,不仅任何地方都可以做,而且门槛相对较低. 外卖cps淘宝客订单API获取订单代码 外卖cps带分销返利源码 源代码地址 http://www.m ...

  2. c#.net淘宝客基础api练手日记

    下载地址: 最新淘宝客C#.NET基础API代码和SDK https://download.csdn.net/download/cplvfx/10643458 淘宝客基础api练手日记 第一步:SDK ...

  3. 淘宝客订单API获取订单代码

    Trade 数据结构 名称 类型 是否隐私 描述 seller_nick String Y 卖家昵称 buyer_nick String Y 买家昵称 title String Y 商品标题 type ...

  4. 淘宝客的 API 接口 http://www.dahuariji.com/post/42.html

    淘宝客API接口 接口信息 URL:http://m.showcoo.net/collection_tbk.htm 支持格式:json http请求方式:GET DEMO: 传递参数  名称  类型 ...

  5. 淘宝客之 API调用实例讲解

    第一步 获取全部推广商品实体 需要使用类 ITopClient TOP客户端类 View Code 1 using Top.Api.Request; 2 3   namespace Top.Api 4 ...

  6. 淘宝订单API获取订单代码说明

    点击免费测试 Trade 数据结构 名称 类型 是否隐私 描述 seller_nick String Y 卖家昵称 buyer_nick String Y 买家昵称 title String Y 商品 ...

  7. 淘宝天猫开放平台店铺商品发布(新)-淘宝店铺发布API接口流程代码对接说明

    淘宝天猫开放平台店铺商品发布(新)-淘宝店铺发布API接口,天猫店铺发布API接口,oAuth2.0店铺发布接口,店铺商品API接口,店铺商品接口发布API接口流程代码对接说明: 公共参数 名称 类型 ...

  8. 淘宝开放平台API - 获取单笔交易的详细信息

    淘宝开放平台(Taobao Open Platform)是基于淘宝各类电子商务业务的开放平台,提供外部合作伙伴参与服务淘宝用户的各类原材料,如业务API.账号体系.数据推送,奇门网关等.它是大淘宝电子 ...

  9. 淘宝商品详情API|获取宝贝SKU、主图、评价等API接口

    很多电商系统,如返利系统.ERP.OMS软件等,需要通过商品API接口获取商品详情信息,来满足业务场景需要.具体包括:商品的标题.价格.SKU.主图.评价等维度信息. 重点优化了抓取速度.及抓取稳定性 ...

最新文章

  1. Python中线程Timeout的使用
  2. 面向自动驾驶领域的3D点云目标检测方法汇总!(单模态+多模态/数据+代码)
  3. 记录解决二次编码问题
  4. android 行布局选择器,『自定义View实战』—— 银行种类选择器
  5. js foreach 跳出循环_VUE.js
  6. 今日头条电脑版官方版_雷霆拯救电脑版-雷霆拯救pc版下载v4.0.9 官方版
  7. 力扣100. 相同的树(JavaScript)
  8. 只能发邮件不能接受_《GTA5》R星发邮件问候玩家会发生什么?以下操作一个也别碰...
  9. Chapter 4 Invitations——10
  10. jmeter如何看tps_jmeter性能测试疑难杂症解决思路
  11. 凯撒密码c语言实现代码,小写字母后移三位,大写字母前移二位,如abCD转换为DEab,其他字符默认不转换
  12. C++游戏编程教程(一)
  13. 【Ubuntu 休眠】设置合上笔记本盖子不休眠的方法
  14. 安装kafka+golang操作kafka
  15. linux安装jdk1.8
  16. matlab 直方图
  17. 关于laravel中如何在where中使用in这回事
  18. 最全的阿里面试经验(一)
  19. 艾克姆 蓝牙nRF52832上册-学习笔记
  20. ubuntu14.04编译ijkplayer备忘

热门文章

  1. 超实用的jQuery分页插件
  2. 数据库系统概论必背知识
  3. 安全之花如何盛开在华为云空间的每个角落?
  4. Python3.X subprocess、os.system/os.popen/os.spawn*、commands:与系统进行交互,如测试时常用的adb命令
  5. 设计模式之一——从魔兽争霸的兵种和技能看策略模式
  6. C#模态对话框和非模态对话框
  7. PTT否认CoinTiger被冤枉:贼喊捉贼!
  8. 企业自身发展变革数字化转型需求,为企业自身及各方带来价值
  9. JAVA毕设项目美容院管理系统(java+VUE+Mybatis+Maven+Mysql)
  10. 大连托福考试百家国际托福口语中的语音语调常见问题及案例分析