|
|
@@ -13,6 +13,7 @@ import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.apache.log4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
@@ -59,13 +60,16 @@ public class InsertServiceImpl implements InsertService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+// @Scheduled(cron = "0 0 0/1 * * ?")
|
|
|
public void getAllDate() {
|
|
|
|
|
|
// 1.无淘宝自动抓取的 订单 ,则正常备份历史订单
|
|
|
// 有淘宝自动抓取的 订单 ,则调用增量备份
|
|
|
List<Trade> trades = new ArrayList<Trade>();
|
|
|
String sa_remark = baseDao.queryForObject("select distinct sa_remark from sale where sa_remark ='淘宝自动抓取' ", String.class);
|
|
|
+ String session_Key = baseDao.queryForObject(" select tb_code from ( select row_number() over( order by tb_date desc ) xuhao , tb_code from tbauthorization ) where xuhao=1 ", String.class);
|
|
|
if (sa_remark == null || sa_remark == "") {
|
|
|
TaobaoClient client = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest", "31921866", "7121c52d4c9970ba08bf09e2f525acd0");
|
|
|
TradesSoldGetRequest req = new TradesSoldGetRequest(); //正常备份接口
|
|
|
@@ -82,12 +86,12 @@ public class InsertServiceImpl implements InsertService {
|
|
|
|
|
|
req.setEndCreated(endtime);
|
|
|
// req.setEndCreated(StringUtils.parseDateTime("2020-12-01 00:00:00"));
|
|
|
- try {
|
|
|
- TradesSoldGetResponse rsp = client.execute(req, "61024291979328cd09f0ba138f79236d66bd313f3364cf148715824");
|
|
|
- trades = rsp.getTrades();
|
|
|
- } catch (Exception e) {
|
|
|
- logger.info(this.getClass() + "淘宝未响应并返回订单数据");
|
|
|
- }
|
|
|
+ try {
|
|
|
+ TradesSoldGetResponse rsp = client.execute(req, session_Key);
|
|
|
+ trades = rsp.getTrades();
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info(this.getClass() + "淘宝未响应并返回订单数据");
|
|
|
+ }
|
|
|
|
|
|
} else {
|
|
|
TaobaoClient client2 = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest", "31921866", "7121c52d4c9970ba08bf09e2f525acd0");
|
|
|
@@ -112,7 +116,7 @@ public class InsertServiceImpl implements InsertService {
|
|
|
|
|
|
req2.setEndModified(endtime);
|
|
|
try {
|
|
|
- TradesSoldIncrementGetResponse rsp2 = client2.execute(req2, "61024291979328cd09f0ba138f79236d66bd313f3364cf148715824");
|
|
|
+ TradesSoldIncrementGetResponse rsp2 = client2.execute(req2, session_Key);
|
|
|
trades = rsp2.getTrades();
|
|
|
} catch (Exception e) {
|
|
|
logger.info(this.getClass() + "淘宝未响应并返回订单数据");
|
|
|
@@ -120,55 +124,58 @@ public class InsertServiceImpl implements InsertService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- List<String> insertSqlsList = new ArrayList<String>();
|
|
|
-
|
|
|
- if (trades ==null || trades.size() == 0) {
|
|
|
- logger.info(this.getClass() + " 未录入淘宝订单");
|
|
|
- } else {
|
|
|
- int L=0; //SDID 不能重复,得自增1次
|
|
|
- for (int i = 0; i < trades.size(); i++) {
|
|
|
+ List<String> insertSqlsList = new ArrayList<String>();
|
|
|
|
|
|
+ if (trades ==null || trades.size() == 0) {
|
|
|
+ logger.info(this.getClass() + " 未录入淘宝订单 ");
|
|
|
+ } else {
|
|
|
+ int L=0; //SDID 不能重复,得自增1次
|
|
|
+ for (int i = 0; i < trades.size(); i++) {
|
|
|
+
|
|
|
+ //
|
|
|
+ /* 插入淘宝订单ID sa_tradeid 字段 alter table sale add sa_tradeid number; */
|
|
|
+
|
|
|
+ Long said = baseDao.queryForObject("select sale_seq.nextval from dual", Long.class);
|
|
|
+ said = said + i ;
|
|
|
+ String sa_code = baseDao.sGetMaxNumber("Sale", 2);
|
|
|
+
|
|
|
+ String INSERTSALESql = "insert into sale(SA_TAOBAOID,sa_payments,sa_custname,sa_kind,sa_wwh_user,sa_need15,sa_id,sa_tradeid,sa_code,sa_date,sa_recorder,sa_recorddate,sa_currency,sa_rate" +
|
|
|
+ ",sa_apcustname,sa_shcustname,sa_toplace" +
|
|
|
+ ",sa_transport,sa_seller,sa_updatedate" +
|
|
|
+ ",sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total" +
|
|
|
+ ",sa_recamount,sa_plandelivery,sa_printstatuscode,sa_remark)" +
|
|
|
+ " SELECT "+ trades.get(i).getTid() + " , '现结','HLK淘宝','国内标准销售订单'," + trades.get(i).getReceiverName() + "," + trades.get(i).getReceiverPhone() + "," + said + "," + trades.get(i).getTid() + "," + sa_code
|
|
|
+ + " ," + trades.get(i).getCreated() + "," + trades.get(i).getBuyerNick() + ",sysdate,'RMB','1',"
|
|
|
+ + trades.get(i).getReceiverName() + "," + trades.get(i).getBuyerNick() + "," + trades.get(i).getReceiverState() + " || " + trades.get(i).getReceiverAddress() + ","
|
|
|
+ + trades.get(i).getShippingType() + "," + trades.get(i).getO2oGuideName() + "," + trades.get(i).getModified()
|
|
|
+ + "," + trades.get(i).getEndTime() + ",'entering','已审核'," + trades.get(i).getPostFee() + "," + trades.get(i).getPayment() + ","
|
|
|
+ + trades.get(i).getTotalFee() + "," + trades.get(i).getConsignTime() + ",'unprint','淘宝自动抓取' FROM DUAL " +
|
|
|
+ " WHERE NOT EXISTS ( select sa_id from sale WHERE SA_iD=" + said + " ) AND NOT EXISTS ( select SA_TAOBAOID from sale WHERE SA_TAOBAOID=" + trades.get(i).getTid() + " ) ";
|
|
|
+ insertSqlsList.add(INSERTSALESql);
|
|
|
+
|
|
|
+ List<Order> orders = trades.get(i).getOrders();
|
|
|
+ for (int j = 0; j < orders.size(); j++) {
|
|
|
+ int k = j + 1;
|
|
|
+ L++;
|
|
|
+ //sd_enddate ,sd_senddate ,to_date(' "+orders.get(j).getEndTime()+ "','yyyy-MM-dd hh24:mi:ss'),to_date('" +orders.get(j).getConsignTime()+"','yyyy-MM-dd hh24:mi:ss'),
|
|
|
//
|
|
|
- /* 插入淘宝订单ID sa_tradeid 字段 alter table sale add sa_tradeid number; */
|
|
|
-
|
|
|
- Long said = baseDao.queryForObject("select sale_seq.nextval from dual", Long.class);
|
|
|
- said = said + i ;
|
|
|
- String sa_code = baseDao.sGetMaxNumber("Sale", 2);
|
|
|
-
|
|
|
- String INSERTSALESql = "insert into sale(sa_payments,sa_custname,sa_kind,sa_wwh_user,sa_need15,sa_id,sa_tradeid,sa_code,sa_date,sa_recorder,sa_recorddate,sa_currency,sa_rate" +
|
|
|
- ",sa_apcustname,sa_shcustname,sa_toplace" +
|
|
|
- ",sa_transport,sa_seller,sa_updatedate" +
|
|
|
- ",sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total" +
|
|
|
- ",sa_recamount,sa_plandelivery,sa_printstatuscode,sa_remark)" +
|
|
|
- " SELECT '现结','HLK淘宝','国内标准销售订单'," + trades.get(i).getReceiverName() + "," + trades.get(i).getReceiverPhone() + "," + said + "," + trades.get(i).getTid() + "," + sa_code
|
|
|
- + " ," + trades.get(i).getCreated() + "," + trades.get(i).getBuyerNick() + ",sysdate,'RMB','1',"
|
|
|
- + trades.get(i).getReceiverName() + "," + trades.get(i).getReceiverName() + "," + trades.get(i).getReceiverAddress() + ","
|
|
|
- + trades.get(i).getShippingType() + "," + trades.get(i).getO2oGuideName() + "," + trades.get(i).getModified()
|
|
|
- + "," + trades.get(i).getEndTime() + ",'entering','已审核'," + trades.get(i).getPostFee() + "," + trades.get(i).getPayment() + ","
|
|
|
- + trades.get(i).getTotalFee() + "," + trades.get(i).getConsignTime() + ",'unprint','淘宝自动抓取' FROM DUAL WHERE NOT EXISTS ( select sa_id from sale WHERE SA_iD=" + said + " )";
|
|
|
- insertSqlsList.add(INSERTSALESql);
|
|
|
-
|
|
|
- List<Order> orders = trades.get(i).getOrders();
|
|
|
- for (int j = 0; j < orders.size(); j++) {
|
|
|
- int k = j + 1;
|
|
|
- L++;
|
|
|
- //sd_enddate ,sd_senddate ,to_date(' "+orders.get(j).getEndTime()+ "','yyyy-MM-dd hh24:mi:ss'),to_date('" +orders.get(j).getConsignTime()+"','yyyy-MM-dd hh24:mi:ss'),
|
|
|
- //
|
|
|
- Long sdid = baseDao.queryForObject("select saledetail_seq.nextval from dual", Long.class);
|
|
|
- sdid = sdid +L;
|
|
|
- String INSERTSALEDETAILSql = "insert into saledetail(sd_id,sd_said,sd_code,sd_detno,sd_prodcode,sd_qty,sd_price,sd_total" +
|
|
|
- ",sd_statuscode,sd_status,sd_discount)" +
|
|
|
- " SELECT " + sdid + " ," + said + " ,' " + sdid + " '," + k + "," + orders.get(j).getNumIid() + "," + orders.get(j).getNum() + "," + orders.get(j).getPrice() + " ," + orders.get(j).getTotalFee() +
|
|
|
- ",'entering','已审核'," + orders.get(j).getDiscountFee() + " FROM DUAL WHERE NOT EXISTS ( select sd_id from saledetail WHERE sd_id=" + sdid + " )";
|
|
|
- insertSqlsList.add(INSERTSALEDETAILSql);
|
|
|
- }
|
|
|
-
|
|
|
+ Long sdid = baseDao.queryForObject("select saledetail_seq.nextval from dual", Long.class);
|
|
|
+ sdid = sdid +L;
|
|
|
+ String INSERTSALEDETAILSql = "insert into saledetail(sd_id,sd_said,sd_code,sd_detno,sd_prodcode,sd_qty,sd_price,sd_total" +
|
|
|
+ ",sd_statuscode,sd_status,sd_discount)" +
|
|
|
+ " SELECT " + sdid + " ," + said + " ,' " + sdid + " '," + k + "," + orders.get(j).getNumIid() + "," + orders.get(j).getNum() + "," + orders.get(j).getPrice() + " ," + orders.get(j).getTotalFee() +
|
|
|
+ ",'entering','已审核'," + orders.get(j).getDiscountFee() + " FROM DUAL WHERE NOT EXISTS ( select sd_id from saledetail " +
|
|
|
+ "WHERE sd_id=" + sdid + " ) AND NOT EXISTS ( select sd_id from sale left join saledetail on sa_id=sd_said " +
|
|
|
+ "WHERE SA_TAOBAOID = " + trades.get(i).getTid() + " and sd_detno = " + orders.get(j).getNumIid() +" ) ";
|
|
|
+ insertSqlsList.add(INSERTSALEDETAILSql);
|
|
|
}
|
|
|
- System.out.println(insertSqlsList);
|
|
|
- baseDao.execute(insertSqlsList);
|
|
|
- logger.info(this.getClass() + "插入销售明细成功");
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
+ System.out.println(insertSqlsList);
|
|
|
+ baseDao.execute(insertSqlsList);
|
|
|
+ logger.info(this.getClass() + "插入销售明细成功");
|
|
|
}
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
}
|