From 3835848b28f3cf605aa1fbda443024ee11740493 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 10 五月 2021 11:54:14 +0800
Subject: [PATCH] 优化代码
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 43 +++++++++++++++++++++++++------------------
1 files changed, 25 insertions(+), 18 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
old mode 100644
new mode 100755
index 018feec..658c9b7
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -184,29 +184,34 @@
//鏌ヨ璐圭敤淇℃伅arrearsEndTime
List<RoomDto> tmpRoomDtos = new ArrayList<>();
List<RoomDto> tempRooms = new ArrayList<>();
- int threadNum = 20;
- for (int roomIndex = 0; roomIndex < roomDtos.size(); roomIndex++) {
- tempRooms.add(roomDtos.get(roomIndex));
- if (roomIndex % threadNum == 0 && roomIndex != 0) {
- tmpRoomDtos.addAll(doGetTmpRoomDto(tempRooms, feeDto, threadNum));
- tempRooms = new ArrayList();
+ int threadNum = Java110ThreadPoolFactory.JAVA110_DEFAULT_THREAD_NUM;
+
+ tempRooms.addAll(doGetTmpRoomDto(roomDtos, feeDto, threadNum));
+ for(RoomDto tmpRoomDto:tempRooms){
+ if(tmpRoomDto == null){
+ continue;
}
- }
- if (tempRooms.size() > 0) {
- tmpRoomDtos.addAll(doGetTmpRoomDto(tempRooms, feeDto, tempRooms.size()));
+ tmpRoomDtos.add(tmpRoomDto);
}
return ResultVo.createResponseEntity(tmpRoomDtos);
}
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) {
@@ -216,7 +221,7 @@
tmpFeeDto.setState(FeeDto.STATE_DOING);
tmpFeeDto.setPayerObjId(tmpRoomDto.getRoomId());
tmpFeeDto.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
- List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+ List<FeeDto> feeDtos = feeInnerServiceSMOImpl.querySimpleFees(tmpFeeDto);
if (feeDtos == null || feeDtos.size() < 1) {
return null;
@@ -225,7 +230,7 @@
List<FeeDto> tmpFeeDtos = new ArrayList<>();
for (FeeDto tempFeeDto : feeDtos) {
- computeFeeSMOImpl.computeEveryOweFee(tempFeeDto);//璁$畻娆犺垂閲戦
+ computeFeeSMOImpl.computeEveryOweFee(tempFeeDto, tmpRoomDto);//璁$畻娆犺垂閲戦
//濡傛灉閲戦涓�0 灏辨帓闄�
if (tempFeeDto.getFeePrice() > 0 && tempFeeDto.getEndTime().getTime() <= DateUtil.getCurrentDate().getTime()) {
tmpFeeDtos.add(tempFeeDto);
@@ -574,7 +579,9 @@
return targetEndDateAndOweMonth;
}
if (FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())) {
- if (!StringUtil.isEmpty(feeDto.getCurDegrees())) {
+ if(feeDto.getDeadlineTime() != null){
+ targetEndDate = feeDto.getDeadlineTime();
+ }else if(!StringUtil.isEmpty(feeDto.getCurDegrees())) {
targetEndDate = feeDto.getCurReadingTime();
} else if (feeDto.getImportFeeEndTime() == null) {
targetEndDate = feeDto.getConfigEndTime();
--
Gitblit v1.8.0