From 049aff8f70e038a177ec271ea02ab2dd4912c31d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 23 二月 2024 03:26:45 +0800
Subject: [PATCH] 优化代码
---
service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFloorFeeSummaryCmd.java | 144 +++++++++++++++++++++++-------------------------
1 files changed, 69 insertions(+), 75 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFloorFeeSummaryCmd.java b/service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFloorFeeSummaryCmd.java
index 5ed2f2a..0c4e6da 100644
--- a/service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFloorFeeSummaryCmd.java
+++ b/service-report/src/main/java/com/java110/report/cmd/reportFeeMonthStatistics/QueryReportFloorFeeSummaryCmd.java
@@ -5,6 +5,7 @@
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.Java110ThreadPoolFactory;
import com.java110.dto.floor.FloorDto;
import com.java110.dto.report.QueryStatisticsDto;
import com.java110.dto.report.ReportFloorFeeStatisticsDto;
@@ -13,6 +14,7 @@
import com.java110.report.statistics.IFloorFeeStatistics;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.ListUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +34,9 @@
@Autowired
private IFloorFeeStatistics floorFeeStatisticsImpl;
+
+ @Autowired
+ private IFeeStatistics feeStatisticsImpl;
@Autowired
private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
@@ -60,6 +65,10 @@
//todo 鏌ヨ妤兼爧
FloorDto floorDto = new FloorDto();
floorDto.setCommunityId(reqJson.getString("communityId"));
+ if(reqJson.containsKey("page")) {
+ floorDto.setPage(reqJson.getIntValue("page"));
+ floorDto.setRow(reqJson.getIntValue("row"));
+ }
List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
if (ListUtil.isNull(floorDtos)) {
@@ -67,45 +76,30 @@
return;
}
- List<String> floorIds = new ArrayList<>();
List<Map> datas = new ArrayList<>();
- Map<String,Object> dataInfo = null;
- for(FloorDto floorDto1:floorDtos){
- floorIds.add(floorDto1.getFloorId());
- dataInfo = new HashMap<>();
- dataInfo.put("floorId",floorDto1.getFloorId());
- dataInfo.put("floorName",floorDto1.getFloorName());
- dataInfo.put("floorNum",floorDto1.getFloorNum());
- datas.add(dataInfo);
+ Java110ThreadPoolFactory java110ThreadPoolFactory = null;
+ try {
+ java110ThreadPoolFactory = Java110ThreadPoolFactory.getInstance().createThreadPool(5);
+ for (FloorDto floorDto1 : floorDtos) {
+ queryStatisticsDto.setFloorId(floorDto1.getFloorId());
+ QueryStatisticsDto tmpQueryStatisticsDto = BeanConvertUtil.covertBean(queryStatisticsDto,QueryStatisticsDto.class);
+ java110ThreadPoolFactory.submit(() -> {
+ //todo 娆犺垂鎴锋暟
+ List<Map> floorDatas = feeStatisticsImpl.getFloorFeeSummary(tmpQueryStatisticsDto);
+ if (!ListUtil.isNull(floorDatas)) {
+ datas.add(floorDatas.get(0));
+ }
+ return datas;
+ });
+ }
+ java110ThreadPoolFactory.get();
+ } finally {
+ if (java110ThreadPoolFactory != null) {
+ java110ThreadPoolFactory.stop();
+ }
}
- queryStatisticsDto.setFloorIds(floorIds.toArray(new String[floorIds.size()]));
-
- //todo 娆犺垂鎴垮眿鏁� oweRoomCount
- List<ReportFloorFeeStatisticsDto> oweRoomCounts = floorFeeStatisticsImpl.getFloorOweRoomCount(queryStatisticsDto);
-
- //todo 鏀惰垂鎴垮眿鏁� feeRoomCount
- List<ReportFloorFeeStatisticsDto> feeRoomCounts = floorFeeStatisticsImpl.getFloorFeeRoomCount(queryStatisticsDto);
-
- //todo 瀹炴敹閲戦 receivedFee
- List<ReportFloorFeeStatisticsDto> receivedFees = floorFeeStatisticsImpl.getFloorReceivedFee(queryStatisticsDto);
-
- //todo 棰勬敹閲戦 preReceivedFee
- List<ReportFloorFeeStatisticsDto> preReceivedFees = floorFeeStatisticsImpl.getFloorPreReceivedFee(queryStatisticsDto);
-
- //todo 鍘嗗彶娆犺垂閲戦 hisOweFee
- List<ReportFloorFeeStatisticsDto> hisOweFees = floorFeeStatisticsImpl.getFloorHisOweFee(queryStatisticsDto);
-
- //todo 褰撴湡搴旀敹閲戦 curReceivableFee
- List<ReportFloorFeeStatisticsDto> curReceivableFees = floorFeeStatisticsImpl.getFloorCurReceivableFee(queryStatisticsDto);
-
- //todo 褰撴湡瀹炴敹閲戦 curReceivedFee
- List<ReportFloorFeeStatisticsDto> curReceivedFees = floorFeeStatisticsImpl.getFloorCurReceivedFee(queryStatisticsDto);
-
- //todo 娆犺垂杩藉洖 hisReceivedFee
- List<ReportFloorFeeStatisticsDto> hisReceivedFees = floorFeeStatisticsImpl.getFloorHisOweFee(queryStatisticsDto);
//todo 鎷兼帴鏁版嵁
- computeData(datas,oweRoomCounts,feeRoomCounts,receivedFees,preReceivedFees,hisOweFees,curReceivableFees,curReceivedFees,hisReceivedFees);
//List<Map> datas = feeStatisticsImpl.getFloorFeeSummary(queryStatisticsDto);
@@ -153,82 +147,82 @@
List<ReportFloorFeeStatisticsDto> curReceivedFees,
List<ReportFloorFeeStatisticsDto> hisReceivedFees) {
//todo 娆犺垂鎴垮眿鏁� oweRoomCount
- for(Map data :datas){
- data.put("oweRoomCount","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:oweRoomCounts){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("oweRoomCount",reportFloorFeeStatisticsDto.getOweRoomCount());
+ for (Map data : datas) {
+ data.put("oweRoomCount", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : oweRoomCounts) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("oweRoomCount", reportFloorFeeStatisticsDto.getOweRoomCount());
}
}
}
//todo 鏀惰垂鎴垮眿鏁� feeRoomCount
- for(Map data :datas){
- data.put("feeRoomCount","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:feeRoomCounts){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("feeRoomCount",reportFloorFeeStatisticsDto.getFeeRoomCount());
+ for (Map data : datas) {
+ data.put("feeRoomCount", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : feeRoomCounts) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("feeRoomCount", reportFloorFeeStatisticsDto.getFeeRoomCount());
}
}
}
//todo 瀹炴敹閲戦 receivedFee
- for(Map data :datas){
- data.put("receivedFee","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:receivedFees){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("receivedFee",reportFloorFeeStatisticsDto.getReceivedFee());
+ for (Map data : datas) {
+ data.put("receivedFee", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : receivedFees) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("receivedFee", reportFloorFeeStatisticsDto.getReceivedFee());
}
}
}
//todo 棰勬敹閲戦 preReceivedFee
- for(Map data :datas){
- data.put("preReceivedFee","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:preReceivedFees){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("preReceivedFee",reportFloorFeeStatisticsDto.getPreReceivedFee());
+ for (Map data : datas) {
+ data.put("preReceivedFee", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : preReceivedFees) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("preReceivedFee", reportFloorFeeStatisticsDto.getPreReceivedFee());
}
}
}
//todo 鍘嗗彶娆犺垂閲戦 hisOweFee
- for(Map data :datas){
- data.put("hisOweFee","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:hisOweFees){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("hisOweFee",reportFloorFeeStatisticsDto.getHisOweFee());
+ for (Map data : datas) {
+ data.put("hisOweFee", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : hisOweFees) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("hisOweFee", reportFloorFeeStatisticsDto.getHisOweFee());
}
}
}
//todo 褰撴湡搴旀敹閲戦 curReceivableFee
- for(Map data :datas){
- data.put("curReceivableFee","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:curReceivableFees){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("curReceivableFee",reportFloorFeeStatisticsDto.getCurReceivableFee());
+ for (Map data : datas) {
+ data.put("curReceivableFee", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : curReceivableFees) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("curReceivableFee", reportFloorFeeStatisticsDto.getCurReceivableFee());
}
}
}
//todo 褰撴湡瀹炴敹閲戦 curReceivedFee
- for(Map data :datas){
- data.put("curReceivedFee","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:curReceivedFees){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("curReceivedFee",reportFloorFeeStatisticsDto.getCurReceivedFee());
+ for (Map data : datas) {
+ data.put("curReceivedFee", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : curReceivedFees) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("curReceivedFee", reportFloorFeeStatisticsDto.getCurReceivedFee());
}
}
}
//todo 娆犺垂杩藉洖 hisReceivedFee
- for(Map data :datas){
- data.put("hisReceivedFee","0");
- for(ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto:hisReceivedFees){
- if(reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))){
- data.put("hisReceivedFee",reportFloorFeeStatisticsDto.getHisReceivedFee());
+ for (Map data : datas) {
+ data.put("hisReceivedFee", "0");
+ for (ReportFloorFeeStatisticsDto reportFloorFeeStatisticsDto : hisReceivedFees) {
+ if (reportFloorFeeStatisticsDto.getFloorId().equals(data.get("floorId"))) {
+ data.put("hisReceivedFee", reportFloorFeeStatisticsDto.getHisReceivedFee());
}
}
}
--
Gitblit v1.8.0