Browse Source

2020-11-24
1.增加 淘宝订单 ID ,去重处理。 SA_TAOBAOID alter table SALE add SA_TAOBAOID NUMBER;
2.增量备份
3.待测试存储日志文件

sl 5 years ago
parent
commit
2da69f17a6

+ 44 - 0
src/log4j.properties

@@ -0,0 +1,44 @@
+# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
+# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
+log4j.rootLogger=ERROR, stdout, logfile
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %p [%c]:%m%n
+
+log4j.appender.logfile=org.apache.log4j.RollingFileAppender
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.File=/var/log/uas.log
+log4j.appender.logfile.Threshold=ERROR
+# Keep three backup files.
+log4j.appender.logfile.MaxBackupIndex=3
+log4j.appender.logfile.MaxFileSize=5120KB
+# Pattern to output: date priority [category] - message
+log4j.appender.logfile.layout.ConversionPattern=%d %p [%c]:%m%n
+#log4j.logger.org.springframework.samples.petclinic.aspects=DEBUG
+
+log4j.logger.com.uas = ERROR
+#=========================================
+#=   spring framewokr log configuration  =
+#=========================================
+log4j.logger.org.springframework = ERROR
+
+##log for mobile
+log4j.logger.PushTask = INFO, pusherfile
+log4j.appender.pusherfile=org.apache.log4j.RollingFileAppender
+log4j.appender.pusherfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.pusherfile.layout.ConversionPattern=%d %p [%c]:%m%n
+log4j.appender.pusherfile.File=/var/log/pusher.log
+log4j.appender.pusherfile.Append=true
+log4j.appender.pusherfile.MaxFileSize=5120KB
+log4j.appender.pusherfile.MaxBackupIndex=3
+
+##log for task
+log4j.logger.SchedualTask = INFO, taskfile
+log4j.appender.taskfile=org.apache.log4j.RollingFileAppender
+log4j.appender.taskfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.taskfile.layout.ConversionPattern=%d %p [%c]:%m%n 
+log4j.appender.taskfile.File=/var/log/task.log
+log4j.appender.taskfile.Append=true
+log4j.appender.taskfile.MaxFileSize=5120KB
+log4j.appender.taskfile.MaxBackupIndex=3

+ 3 - 2
src/main/java/com/uas/eis/UasEisApplication.java

@@ -11,7 +11,8 @@ import com.uas.eis.core.support.TokenPropertiesListener;
 
 @SpringBootApplication
 @EnableCaching
-//@EnableScheduling		开启定时任务
+//开启定时任务
+//@EnableScheduling
 @Import({DynamicDataSourceRegister.class})
 public class UasEisApplication {
 	public static void main(String[] args) {
@@ -19,5 +20,5 @@ public class UasEisApplication {
 		application.addListeners(new TokenPropertiesListener("token.properties"));
 		application.run(args);
 	}
-	
+
 }

+ 60 - 53
src/main/java/com/uas/eis/serviceImpl/InsertServiceImpl.java

@@ -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() + "插入销售明细成功");
         }
 
+    }
+
 }