|
@@ -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) {
|