Trade 数据结构
名称 | 类型 | 是否隐私 | 描述 |
---|---|---|---|
seller_nick | String | Y | |
buyer_nick | String | Y | |
title | String | Y | |
type | String | Y | |
refund_status | String | Y | |
created | Date | Y | |
iid | String | Y | |
price | String | Y | |
pic_path | String | Y | |
num | int | Y | |
tid | String | Y | |
buyer_message | String | Y | |
sid | String | Y | |
shipping_type | String | Y | |
alipay_no | String | Y | |
payment | String | Y | |
discount_fee | String | Y | |
adjust_fee | String | Y | |
snapshot_url | String | Y | |
status | String | Y | |
seller_rate | Boolean | Y | |
buyer_rate | Boolean | Y | |
buyer_memo | String | Y | |
seller_memo | String | Y | |
pay_time | Date | Y | |
end_time | Date | Y | |
modified | Date | Y | |
buyer_obtain_point_fee | String | Y | |
point_fee | String | Y | |
real_point_fee | String | Y | |
total_fee | String | Y | |
post_fee | String | Y | |
buyer_alipay_no | String | Y | |
receiver_name | String | Y | |
receiver_state | String | Y | |
receiver_city | String | Y | |
receiver_district | String | Y | |
receiver_address | String | Y | |
receiver_zip | String | Y | |
receiver_mobile | String | Y | |
receiver_phone | String | Y | |
consign_time | Date | Y | |
buyer_email | String | Y | |
commission_fee | String | Y | |
seller_alipay_no | String | Y | |
seller_mobile | String | Y | |
seller_phone | String | Y | |
seller_name | String | Y | |
seller_email | String | Y | |
available_confirm_fee | String | Y | |
has_postFee | String | Y | |
received_payment | String | Y | |
cod_fee | String | Y | |
timeout_action_time | Date | Y | |
orders | Order[] | Y | |
sku_id | String | Y | |
sku_properties_name | String | Y | |
item_meal_name | String | Y | |
outer_iid | String | Y | |
outer_sku_id | String | Y |
TaobaokeShop 数据结构
名称 | 类型 | 是否隐私 | 描述 |
---|---|---|---|
user_id | String | N | |
shop_title | String | N | |
click_url | String | N | |
shop_commission.rate | String | N |
TaobaokeReportMember 数据结构
名称 | 类型 | 是否隐私 | 描述 |
---|---|---|---|
app_key | String | Y | |
outer_code | String | Y | |
trade_id | Long | Y | |
pay_time | Date | Y | |
pay_price | Double | Y | |
auction_id | Long | Y | |
auction_title | String | Y | |
auction_number | Long | Y | |
category_id | Long | Y | |
category_name | String | Y | |
shop_title | String | Y | |
discount | Double | Y | |
taoke_amount | Double | Y |
如何使用淘宝客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; //如果未获得相应,退出()
}
}
}
}