java110
2021-01-14 2d8afdcf439cb0f9d252d2fa41b51770f02b4371
优化代码
2个文件已修改
46 ■■■■ 已修改文件
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportFeeManualCollectionSMOImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -200,13 +200,20 @@
    }
    private List<RoomDto> doGetTmpRoomDto(List<RoomDto> roomDtos, FeeDto feeDto, int threadNum) {
        Java110ThreadPoolFactory java110ThreadPoolFactory = Java110ThreadPoolFactory.getInstance().createThreadPool(threadNum);
        for (RoomDto roomDto1 : roomDtos) {
            java110ThreadPoolFactory.submit(() -> {
                return getTmpRoomDtos(roomDto1, feeDto);
            });
        Java110ThreadPoolFactory java110ThreadPoolFactory = null;
        try {
            java110ThreadPoolFactory = Java110ThreadPoolFactory.getInstance().createThreadPool(threadNum);
            for (RoomDto roomDto1 : roomDtos) {
                java110ThreadPoolFactory.submit(() -> {
                    return getTmpRoomDtos(roomDto1, feeDto);
                });
            }
            return java110ThreadPoolFactory.get();
        }finally {
            if(java110ThreadPoolFactory != null){
                java110ThreadPoolFactory.stop();
            }
        }
        return java110ThreadPoolFactory.get();
    }
    private RoomDto getTmpRoomDtos(RoomDto tmpRoomDto, FeeDto feeDto) {
service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportFeeManualCollectionSMOImpl.java
@@ -5,13 +5,18 @@
import com.alibaba.fastjson.parser.Feature;
import com.java110.core.component.BaseComponentSMO;
import com.java110.core.context.IPageData;
import com.java110.core.factory.Java110ThreadPoolFactory;
import com.java110.entity.component.ComponentValidateResult;
import com.java110.front.smo.assetExport.IExportFeeManualCollectionSMO;
import com.java110.utils.constant.ServiceConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.Money2ChineseUtil;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
@@ -28,6 +33,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
/**
 * @ClassName AssetImportSmoImpl
@@ -318,4 +324,23 @@
    public void setRestTemplate(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }
    public static void main(String[] args) {
        Java110ThreadPoolFactory<String> pool =Java110ThreadPoolFactory.getInstance().createThreadPool(20);
        for (int i = 20; i > 0; i--) {
            Integer data = i;
            pool.submit(() -> {
//这个地方可以写一个函数,参数可以从外层传入
                System.out.println("网络操作开始" + data);
                Thread.sleep(data * 1000);
                System.out.println("网络操作结束" + data);
                return data+"";
            });
        }
        List<String> users = pool.get();
        for (String u : users) {
            System.out.println(u);
        }
        pool.stop();
    }
}