소스 검색

收费明细数据同步

lzm 3 년 전
부모
커밋
05ef6add04
1개의 변경된 파일44개의 추가작업 그리고 42개의 파일을 삭제
  1. 44 42
      sp-server/src/main/java/com/pj/api/pushfee/task/FeeDetailSyncTask.java

+ 44 - 42
sp-server/src/main/java/com/pj/api/pushfee/task/FeeDetailSyncTask.java

@@ -48,14 +48,14 @@ public class FeeDetailSyncTask {
     //默认开始时间
     private static final String START_TIME = "2022-04-27 00:00:00";
     //默认同步时间间隔
-    private static final Integer TIME_SPAN = 1728000000;
+    private static final Integer TIME_SPAN = 86400000;
     /**
      * 5分钟执行一次
      */
-    @Scheduled(fixedRate = 300000)
+    @Scheduled(fixedRate = 15000)
     public void send() {
 //        if(partConfig.isTestEnv()){
-//            log.info("pushfee_info: 测试环境不传输");
+//            log.info("pushfee_info: 测试环境不推送");
 //            return;
 //        }
         Date startTime;
@@ -73,53 +73,55 @@ public class FeeDetailSyncTask {
             timeSpan = TIME_SPAN;
         }
 
-        Date finishTime = DateUtil.endOfDay(new Date());
-        Date offsetTime = DateUtil.offsetMillisecond(startTime, timeSpan);
-        //如果当前时间与开始时间的间隔小于设定间隔,则不执行下面代码,保证推送的时间间隔为设定间隔
-        if(DateUtil.compare(finishTime, offsetTime) > 0){
-            finishTime = offsetTime;
-        }else{
-            log.info("pushfee_warning: 当前时间与开始时间的间隔小于设定间隔,本次任务不进行推送,开始时间为" +
-                    DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss"));
+        Date now = new Date();
+        Date finishTime = DateUtil.offsetMillisecond(startTime, timeSpan);
+        //如果当前时间小于推送结束时间,则不执行下面代码,保证推送的时间间隔为设定间隔
+        if(DateUtil.compare(now, finishTime) < 0){
+            log.info("pushfee_warn: 当前时间与开始时间的间隔小于设定间隔,本次任务不进行推送,开始时间为" +
+                    DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss")
+                    + ",结束时间为" + DateUtil.format(finishTime, "yyyy-MM-dd HH:mm:ss")
+                    + ",当前时间为" + DateUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
             return;
         }
+
         //构建数据
         List<TbFeeDetails> fdList = getfeeDetails(startTime, finishTime);
-        if(fdList.size() == 0){
-            log.info("pushfee_warning: "
+        if(fdList.size() > 0){
+            List<OdsOrderPayDetailDTO> opdList = convert(fdList);
+
+            //1. 本地,用对方的公钥加密
+            EncryptTools client = new EncryptTools("hd", f_remotePublicKeyBase6);
+
+            OrderPayDetailMessage detail = new OrderPayDetailMessage();
+            detail.setDate(DateUtil.format(new Date(), "yyyyMMdd"));
+            detail.setBatch(1);
+            detail.setList(opdList);
+            detail.setCount(opdList.size());
+
+            String encryptMessage = client.encryptMessage(detail);
+            log.info("pushfee_encryptMessage: " + encryptMessage);
+
+            //推送数据
+            String response = "{}";
+            try {
+                response = tools.http.HttpUtils.doPost(URL, encryptMessage);
+                log.info("pushfee_response: " + response);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            JSONObject jsonObject = JSONUtil.parseObj(response);
+            String code = jsonObject.getStr("code");
+            if(StrUtil.equals("200", code)){
+                RedisUtil.set("pushFeeStartTime", DateUtil.format(finishTime, "yyyy-MM-dd HH:mm:ss"));
+            }
+            log.info("pushfee_startTime changes: " + RedisUtil.get("pushFeeStartTime"));
+        }else {
+            log.info("pushfee_warn: "
                     + DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss") + "至"
                     + DateUtil.format(finishTime, "yyyy-MM-dd HH:mm:ss") + "范围内没有数据,本次任务不进行推送" );
-            return;
-        }
-        List<OdsOrderPayDetailDTO> opdList = convert(fdList);
-
-        //1. 本地,用对方的公钥加密
-        EncryptTools client = new EncryptTools("hd", f_remotePublicKeyBase6);
-
-        OrderPayDetailMessage detail = new OrderPayDetailMessage();
-        detail.setDate(DateUtil.format(new Date(), "yyyyMMdd"));
-        detail.setBatch(1);
-        detail.setList(opdList);
-        detail.setCount(opdList.size());
-
-        String encryptMessage = client.encryptMessage(detail);
-        log.info("pushfee_encryptMessage: " + encryptMessage);
-
-        //推送数据
-        String response = "";
-        try {
-            response = tools.http.HttpUtils.doPost(URL, encryptMessage);
-            log.info("pushfee_response: " + response);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        JSONObject jsonObject = JSONUtil.parseObj(response);
-        String code = jsonObject.getStr("code");
-        if(StrUtil.equals("200", code)){
             RedisUtil.set("pushFeeStartTime", DateUtil.format(finishTime, "yyyy-MM-dd HH:mm:ss"));
-            RedisUtil.set("pushFeeTimeSpan", timeSpan+"");
+            log.info("pushfee_startTime changes: " + RedisUtil.get("pushFeeStartTime"));
         }
-        log.info("pushfee_startTime: " + RedisUtil.get("pushFeeStartTime"));
     }
 
     private List<TbFeeDetails> getfeeDetails(Date startTime, Date finishTime) {