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