Kaynağa Gözat

2020-11-19

1.增量备份
2.同步数据
sl 5 yıl önce
ebeveyn
işleme
67045bb891

+ 15 - 9
src/main/java/com/uas/eis/serviceImpl/InsertServiceImpl.java

@@ -65,8 +65,8 @@ public class InsertServiceImpl implements InsertService {
 //        1.无淘宝自动抓取的 订单 ,则正常备份历史订单
 //          有淘宝自动抓取的 订单 ,则调用增量备份
         List<Trade> trades = new ArrayList<Trade>();
-        String sa_sourcetype = baseDao.queryForObject("select  sa_sourcetype from sale where sa_sourcetype ='淘宝自动抓取' ", String.class);
-        if (sa_sourcetype == null || sa_sourcetype == "") {
+        String sa_remark = baseDao.queryForObject("select distinct sa_remark from sale where sa_remark ='淘宝自动抓取' ", 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();  //正常备份接口
             req.setFields("tid,type,status,payment,orders,rx_audit_status,trades");
@@ -80,8 +80,8 @@ public class InsertServiceImpl implements InsertService {
             calendar.set(Calendar.SECOND, 59);
             Date endtime = calendar.getTime();
 
-//            req.setEndCreated(endtime);
-            req.setEndCreated(StringUtils.parseDateTime("2020-12-01 00:00:00"));
+            req.setEndCreated(endtime);
+//            req.setEndCreated(StringUtils.parseDateTime("2020-12-01 00:00:00"));
                 try {
             TradesSoldGetResponse rsp = client.execute(req, "61024291979328cd09f0ba138f79236d66bd313f3364cf148715824");
                     trades = rsp.getTrades();
@@ -125,19 +125,23 @@ public class InsertServiceImpl implements InsertService {
             if (trades ==null || trades.size() == 0) {
                 logger.info(this.getClass() + " 未录入淘宝订单");
             } else {
-                for (int i = 0; i < trades.size(); i++) {    //
+                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_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_sourcetype)" +
+                            ",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).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() + ","
@@ -147,12 +151,14 @@ public class InsertServiceImpl implements InsertService {
                     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);
-                        String INSERTSALEDETAILSql = "insert into saledetail(sd_id,sd_said,sd_prodcode,sd_detno,sd_qty,sd_price,sd_total" +
+                        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 + "," + k + "," + orders.get(j).getNumIid() + "," + orders.get(j).getNum() + "," + orders.get(j).getPrice() + " ," + orders.get(j).getTotalFee() +
+                                "  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);
                     }