南昌市物联网技防平台-后台
包裹报表导出超时问题解决,feign调用的时间设置是5s,可以单独对当前接口设置超时时间,修改每次获取第三方接口数据数量,由100条修改为1000条
6 files modified
1 files added
86 ■■■■ changed files
blade-ops/blade-report/src/main/java/org/springblade/report/service/impl/ReportFileServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
blade-ops/blade-report/src/main/resources/application.yml 9 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/feign/ReportFeign.java 17 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java 1 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java 6 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/resources/application-dev.yml 1 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/test/com/arsn/test/ReportParcelTest.java 44 ●●●●● patch | view | raw | blame | history
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;
        }
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
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;
    }
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;
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);
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
blade-service/blade-jfpts/src/test/com/arsn/test/ReportParcelTest.java
New file
@@ -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());
//    }
}