From d75df3633742564296e8dae307ba59b96c701cd8 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 28 Apr 2021 17:36:02 +0800
Subject: [PATCH] 包裹报表导出超时问题解决,feign调用的时间设置是5s,可以单独对当前接口设置超时时间,修改每次获取第三方接口数据数量,由100条修改为1000条
---
blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java | 8 ----
blade-ops/blade-report/src/main/resources/application.yml | 9 ++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/feign/ReportFeign.java | 17 ++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java | 1
blade-service/blade-jfpts/src/test/com/arsn/test/ReportParcelTest.java | 44 ++++++++++++++++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java | 6 +-
blade-service/blade-jfpts/src/main/resources/application-dev.yml | 1
7 files changed, 75 insertions(+), 11 deletions(-)
diff --git a/blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java b/blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java
index 7b6c850..7e75e53 100644
--- a/blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java
+++ b/blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java
@@ -153,14 +153,6 @@
//将map转换为json对象
String body = JSON.toJSONString(map);
if (null!=beanName){
-// List<ParcelExcel> parcelExcels = new ArrayList<>();
-// ParcelExcel parcelExcel = new ParcelExcel();
-// parcelExcel.setCheckMachineCode("ceshi");
-// parcelExcel.setCheckMachineName("ceshi");
-// parcelExcel.setCheckMachinePosition("ceshi");
-// parcelExcel.setImgUrl("ceshi");
-// parcelExcel.setDecisioDiagramResultDetails("ceshi");
-// parcelExcels.add(parcelExcel);
List<ParcelExcel> parcelList = reportClient.getParcelList(body);
return parcelList;
}
diff --git a/blade-ops/blade-report/src/main/resources/application.yml b/blade-ops/blade-report/src/main/resources/application.yml
index d31c89e..35d9291 100644
--- a/blade-ops/blade-report/src/main/resources/application.yml
+++ b/blade-ops/blade-report/src/main/resources/application.yml
@@ -9,3 +9,12 @@
provider:
prefix: blade-
+#单独对report模块下的getParcelList 方法进行超时时间设置 格式为 feignClient调用的接口名#方法名(参数类型(String/int)如果为对象则直接填写对象类名)
+#hystrix:
+# command:
+# ReportClient#getParcelList(String):
+# execution:
+# isolation:
+# thread:
+# timeoutInMilliseconds: 10000
+
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/feign/ReportFeign.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/feign/ReportFeign.java
index cb4660d..ebd565a 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/feign/ReportFeign.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/feign/ReportFeign.java
@@ -12,6 +12,8 @@
import org.springblade.jfpt.parcel.service.ParcelService;
import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -195,6 +197,21 @@
ConditionVo conditionVo = getConditionVo(map);
//查询数据并返回数据
List<ParcelExcel> parcelExcels = parcelService.exportParcel(conditionVo);
+// List<ParcelExcel> parcelExcels = new ArrayList<>();
+// ParcelExcel parcelExcel = new ParcelExcel();
+// parcelExcel.setCheckMachineCode("ceshi");
+// parcelExcel.setCheckMachineName("ceshi");
+// parcelExcel.setCheckMachinePosition("ceshi");
+// parcelExcel.setImgUrl("ceshi");
+// parcelExcel.setDecisioDiagramResultDetails("ceshi");
+// parcelExcels.add(parcelExcel);
+// try {
+// int time = 9000;
+// System.out.println("休眠时间 = " + time);
+// Thread.sleep(time);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
return parcelExcels;
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
index 5f89e58..0dd5ee5 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -44,6 +44,7 @@
@Autowired
private org.springblade.jfpt.Netty.service.nettyService nettyService;
+
@Autowired
private IMessageService messageService;
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
index da4f6ab..b164fcd 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
@@ -687,16 +687,16 @@
List<List<ParcelExcel>> parcelExcelList = new ArrayList<>();
//设置页码数
conditionVo.setCurrentPage(1);
- conditionVo.setPageSize(100);
+ conditionVo.setPageSize(1000);
//获取数据
Map<String,Object> result =(Map<String,Object>)getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result");
if (null!=result) {
String data = result.get("data").toString();
List<ParcelExcel> dataList = JsonUtils.jsonToList(data, ParcelExcel.class);
parcelExcelList.add(dataList);
- //取第一次获取到的数据总数,每次取100条,多于100分批次取
+ //取第一次获取到的数据总数,每次取1000条,多于1000分批次取
int totalSize = Integer.parseInt(result.get("totalSize").toString());
- int i = totalSize/100+1;
+ int i = totalSize/1000+1;
if (i>1){
for (int j=1;j<i;j++) {
conditionVo.setCurrentPage(j+1);
diff --git a/blade-service/blade-jfpts/src/main/resources/application-dev.yml b/blade-service/blade-jfpts/src/main/resources/application-dev.yml
index 5afec29..e60da75 100644
--- a/blade-service/blade-jfpts/src/main/resources/application-dev.yml
+++ b/blade-service/blade-jfpts/src/main/resources/application-dev.yml
@@ -8,6 +8,7 @@
url: jdbc:mysql://36.134.81.48:3306/jfpt?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true
username: root
password: jfpt123
+
oss:
enabled: true
name: minio
diff --git a/blade-service/blade-jfpts/src/test/com/arsn/test/ReportParcelTest.java b/blade-service/blade-jfpts/src/test/com/arsn/test/ReportParcelTest.java
new file mode 100644
index 0000000..699086b
--- /dev/null
+++ b/blade-service/blade-jfpts/src/test/com/arsn/test/ReportParcelTest.java
@@ -0,0 +1,44 @@
+package com.arsn.test;
+
+
+import lombok.AllArgsConstructor;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springblade.common.entity.ParcelExcel;
+import org.springblade.jfpt.JfptApplication;
+import org.springblade.jfpt.parcel.service.ParcelService;
+import org.springblade.jfpt.parcel.service.impl.ParcelServiceImpl;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+import static java.time.LocalDate.now;
+
+/**
+ * 包裹导出数据单元测试
+ */
+
+//@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
+//@RunWith(SpringRunner.class)
+//@SpringBootTest(classes = JfptApplication.class)
+public class ReportParcelTest {
+
+// @Autowired
+// private ParcelService parcelService = new ParcelServiceImpl();
+//
+// @Test
+// public void testGetParcelList(){
+// ConditionVo conditionVo1 = new ConditionVo();
+// conditionVo1.setStartTime("2021-04-01 00:00:00");
+// conditionVo1.setEndTime("2021-05-01 00:00:00");
+// System.out.println("startTime = " + now());
+// List<ParcelExcel> parcelExcels = parcelService.exportParcel(conditionVo1);
+// System.out.println("endTime = " + now());
+// }
+
+}
--
Gitblit v1.9.3