|
|
@@ -39,7 +39,7 @@ public class TaoBaoDownLoadTask {
|
|
|
/**
|
|
|
* 有效店铺
|
|
|
* */
|
|
|
- List<Map<String,Object>> shopList = baseDao.queryForList("SELECT TB_CODE,TB_LASTSYNCDATE from TBAUTHORIZATION ORDER BY TB_CODE ASC");
|
|
|
+ List<Map<String,Object>> shopList = baseDao.queryForList("SELECT TB_CODE,TB_LASTSYNCDATE,TB_OPENUID from TBAUTHORIZATION where validflag = 1 ORDER BY TB_CODE ASC");
|
|
|
logger.info("Start downLoad SaleOrder---");
|
|
|
TaobaoClient client = new DefaultTaobaoClient(taoBaoConfig.getServerUrl(), taoBaoConfig.getAppKey(), taoBaoConfig.getAppSecret());
|
|
|
TradesSoldGetRequest req = new TradesSoldGetRequest();
|
|
|
@@ -55,24 +55,32 @@ public class TaoBaoDownLoadTask {
|
|
|
",rt_omni_outer_sc_id,rt_omni_sc_id,modify_address,ti_modify_address_time,omni_jxs_outerid,propoint,brand_light_shop_source,special_refund_type"+
|
|
|
",extend_info,service_type,threepl_timing,is_o2o_passport,delivery_time,sign_time");
|
|
|
shopList.stream().forEach(shop -> {
|
|
|
+ String tbOpenuid = String.valueOf(shop.get("TB_OPENUID"));
|
|
|
List<String> executeSQLS = new ArrayList<>();
|
|
|
String sessionKey = String.valueOf(shop.get("TB_CODE"));
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
calendar.setTime(DateUtil.parse(String.valueOf(shop.get("TB_LASTSYNCDATE")),"yyyy-MM-dd HH:mm:ss"));
|
|
|
calendar.add(Calendar.DATE, -1);
|
|
|
- Date date = new Date();
|
|
|
+ //若超过三个月则结束日期= 上次对接时间+3个月
|
|
|
+ Calendar calendarEnd = Calendar.getInstance();
|
|
|
+ calendarEnd.setTime(DateUtil.parse(String.valueOf(shop.get("TB_LASTSYNCDATE")), "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ calendarEnd.add(Calendar.MONTH, 3);
|
|
|
+ Date endDate = new Date();
|
|
|
+ if (calendarEnd.getTime().getTime() < endDate.getTime()) {
|
|
|
+ endDate = calendarEnd.getTime();
|
|
|
+ }
|
|
|
req.setStartCreated(calendar.getTime());
|
|
|
- req.setEndCreated(date);
|
|
|
+ req.setEndCreated(endDate);
|
|
|
try {
|
|
|
TradesSoldGetResponse rsp = client.execute(req, sessionKey);
|
|
|
List<Trade> trades = rsp.getTrades();
|
|
|
logger.info("店铺获取单数"+trades.size());
|
|
|
for(Trade trade: trades){
|
|
|
- formatTrade(trade, sessionKey, executeSQLS);
|
|
|
+ formatTrade(trade, sessionKey,tbOpenuid, executeSQLS);
|
|
|
}
|
|
|
baseDao.execute(executeSQLS);
|
|
|
//更新当前店铺的最近更新时间
|
|
|
- baseDao.updateByCondition("TBAUTHORIZATION","TB_LASTSYNCDATE=to_date ( '" + DateUtil.format(date, DateUtil.FORMAT_YMD_HMS) + "','YYYY-MM-DD hh24:mi:ss') ","TB_CODE ='"+sessionKey+"'");
|
|
|
+ baseDao.updateByCondition("TBAUTHORIZATION","TB_LASTSYNCDATE=to_date ( '" + DateUtil.format(endDate, DateUtil.FORMAT_YMD_HMS) + "','YYYY-MM-DD hh24:mi:ss') ","TB_CODE ='"+sessionKey+"'");
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
logger.info("淘宝未响应并返回订单数据");
|
|
|
@@ -81,7 +89,7 @@ public class TaoBaoDownLoadTask {
|
|
|
//部分信息处理
|
|
|
baseDao.callProcedure("SP_UPDATE_SALEINFO");
|
|
|
}
|
|
|
- private void formatTrade(Trade trade ,String sessionKey, List<String> executeSqls){
|
|
|
+ private void formatTrade(Trade trade ,String sessionKey,String tbOpenuid, List<String> executeSqls){
|
|
|
String oaid=trade.getOaid();
|
|
|
String tid=trade.getTid().toString();
|
|
|
boolean isEXISTS = baseDao.checkIf("SALE", "SA_CODE='"+tid+"'");
|
|
|
@@ -129,13 +137,13 @@ public class TaoBaoDownLoadTask {
|
|
|
",sa_apcustname,sa_need9,sa_toplace" +
|
|
|
",sa_transport,sa_seller,sa_updatedate" +
|
|
|
",sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total" +
|
|
|
- ",sa_recamount,sa_recorddate,sa_printstatuscode,sa_remark)" +
|
|
|
+ ",sa_recamount,sa_recorddate,sa_printstatuscode,sa_remark,sa_tbopenuid)" +
|
|
|
" SELECT 1," + trade.getDiscountFee() + ",'" + trimNull(trade.getStatus()) + "',replace( nvl( '" + trimNull(trade.getSellerNick()) + " ' ,'静夜思solong'),' ',''), 'GN0008358','P001', " + trade.getTid() + " , '现结','HLK淘宝','国内标准销售订单', ' " + trimNull(name_oaid) + " ' , ' " + trimNull(receiver_mobile) + " ' , " + said + "," + trade.getTid() + "," + trade.getTid()
|
|
|
+ " , to_date ( '" + end_time + "' ,'YYYY-MM-DD hh24:mi:ss') , '管理员','RMB','1','"
|
|
|
+ trimNull(name_oaid) + "','" + trimNull(trade.getBuyerNick()) + "','" + address.replaceAll("'", "") + " ', ' "
|
|
|
+ trimNull(trade.getShippingType()) + " ', ' " + trimNull(trade.getO2oGuideName()) + " ', to_date ( '" + modified
|
|
|
+ "','YYYY-MM-DD hh24:mi:ss') , to_date ( '" + end_time + "','YYYY-MM-DD hh24:mi:ss') ,'ENTERING','在录入'," + trimNull(trade.getPostFee()) + "," + trimNull(trade.getPayment()) + ","
|
|
|
- + trimNull(trade.getPayment()) + " , to_date ( '" + consigntime + "','YYYY-MM-DD hh24:mi:ss') ,'unprint', '淘宝自动抓取' FROM DUAL " +
|
|
|
+ + trimNull(trade.getPayment()) + " , to_date ( '" + consigntime + "','YYYY-MM-DD hh24:mi:ss') ,'unprint', '淘宝自动抓取','"+tbOpenuid+"' FROM DUAL " +
|
|
|
" WHERE NOT EXISTS ( select 1 from sale WHERE SA_TAOBAOID=" + trade.getTid() + " ) ";
|
|
|
|
|
|
executeSqls.add(INSERTSALESql);
|