Browse Source

[深爱]修改定时后去客商数据(没测试环境,只能正式调试)

zxl 1 year ago
parent
commit
a57f086a17

+ 8 - 0
src/main/java/com/uas/eis/service/Impl/STKServiceImpl.java

@@ -186,6 +186,14 @@ public class STKServiceImpl implements STKService {
         baseDao.execute(sqls);
         baseDao.execute(sqls);
     }
     }
 
 
+    /**
+     * 获取客商数据前,先删除客商信息(暂时)
+     * */
+    @Override
+    public void delete(){
+        baseDao.execute("delete from STK_CUSTVEND2");
+    }
+
 
 
     private Map<String, JSONArray> getData(HttpServletRequest request){
     private Map<String, JSONArray> getData(HttpServletRequest request){
         Map<String, JSONArray> map = new HashMap<>();
         Map<String, JSONArray> map = new HashMap<>();

+ 5 - 0
src/main/java/com/uas/eis/service/STKService.java

@@ -49,4 +49,9 @@ public interface STKService {
      * 获取客商信息
      * 获取客商信息
      * */
      * */
     void getCustvend(TravellingMerchantVo travellingMerchantVo , Boolean isdelete);
     void getCustvend(TravellingMerchantVo travellingMerchantVo , Boolean isdelete);
+
+    /**
+     * 删除客商数据信息
+     * */
+    void delete();
 }
 }

+ 47 - 1
src/main/java/com/uas/eis/task/STKTask.java

@@ -44,7 +44,7 @@ public class STKTask {
     @Autowired
     @Autowired
     private STKService stkService;
     private STKService stkService;
 
 
-    @Scheduled(cron = "0 55 22 * * ?")
+    /*@Scheduled(cron = "0 55 22 * * ?")
     public void getSellerOrders(){
     public void getSellerOrders(){
         log.info("开始获取深投控客商状态信息=========start=============");
         log.info("开始获取深投控客商状态信息=========start=============");
         Date date = new Date();
         Date date = new Date();
@@ -86,6 +86,52 @@ public class STKTask {
         }
         }
         log.info("定时任务获取深投控客商信息数据结果2:{}", JSONObject.toJSONString(travellingMerchantVo));
         log.info("定时任务获取深投控客商信息数据结果2:{}", JSONObject.toJSONString(travellingMerchantVo));
 
 
+        log.info("开始获取深投控客商状态信息,结束:"+((System.currentTimeMillis()-date.getTime())/1000));
+    }*/
+
+    @Scheduled(cron = "0 30 23 * * ?")
+    public void getSellerOrders(){
+        log.info("开始获取深投控客商状态信息=========start=============");
+        Date date = new Date();
+
+        QueryTravellingMerchantDto dto = new QueryTravellingMerchantDto();
+        dto.setCode(GET_TRAVELLING_MERCHANT);
+        dto.setPage(1);
+        dto.setSize(500);
+
+        //第一次删除STK_CUSTVEND的数据
+        stkService.delete();
+        //是否跳出循环
+        Boolean isBreak = true;
+        //是否发生异常
+        Boolean exception = false;
+        //异常跳过次数
+        Integer num = 0;
+        while(isBreak) {
+            log.info("while循环获取客商数据,查询参数:{}",JSONObject.toJSONString(dto));
+            TravellingMerchantVo travellingMerchantVo = new TravellingMerchantVo();
+            try{
+                travellingMerchantVo = requestSTKService.selectTravellingMerchantList(dto, COMPLEXITY_QUERY_URL);
+                //获取到客商数据,数据入库
+                stkService.getCustvend(travellingMerchantVo, false);
+            }catch (Exception e){
+                log.info("获取客商信息数据异常:{}",e.getMessage());
+                exception = true;
+                num = num +1;
+            }
+            if(num >=5){
+                break;
+            }
+            //判断没发生异常,且是最后一页条件判断==》没有下页编码,或者返回的数据量小于每次查询的每页数量
+            if (!exception && (null == travellingMerchantVo.getData().getHasNextPage()
+                    || dto.getSize() > travellingMerchantVo.getData().getEndRow())){
+                isBreak = false;
+            }
+            if(!exception){
+                dto.setPage(travellingMerchantVo.getData().getNextPage());
+            }
+            log.info("定时任务获取深投控客商信息数据结果2:{}", JSONObject.toJSONString(travellingMerchantVo));
+        }
         log.info("开始获取深投控客商状态信息,结束:"+((System.currentTimeMillis()-date.getTime())/1000));
         log.info("开始获取深投控客商状态信息,结束:"+((System.currentTimeMillis()-date.getTime())/1000));
     }
     }