托众导购网 淘宝客订单API获取订单代码

本文介绍如何利用淘宝客API获取订单,并将订单信息整合到特定系统中。通过Java代码示例展示了从请求构建、执行到结果处理的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍如何使用淘宝客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 注册 用户 ,此网站商品为淘宝商品 ,购物给集分宝,推荐会员购物后也可给集分宝。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值