From c35becb8e98e0a1996a338a3e5547ee412dfe299 Mon Sep 17 00:00:00 2001
From: shiyj1101 <1098226878@qq.com>
Date: 星期三, 16 六月 2021 18:21:56 +0800
Subject: [PATCH] 完善查询账户提现
---
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java | 45 +++++++++++++++++++++++++++------------------
1 files changed, 27 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 45bdc27..6de3842
--- 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;
@@ -428,7 +433,9 @@
feeDto.setAmountOwed(price.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + "");
feeDto.setDeadlineTime(targetEndDate);
//鍔ㄦ�佽垂鐢�
- if ("4004".equals(computingFormula)) {
+ if ("4004".equals(computingFormula)
+ && FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())
+ ) {
feeDto.setAmountOwed(feeDto.getFeePrice() + "");
feeDto.setDeadlineTime(DateUtil.getCurrentDate());
}
@@ -574,7 +581,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