From fe667a39c8a4e713b86c5d8b5d57ab42421190e6 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 03 七月 2023 01:23:01 +0800
Subject: [PATCH] 优化后端代理
---
service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java | 141 ++++++++++++++++++++++++++++++++++++-----------
1 files changed, 108 insertions(+), 33 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java b/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java
index 11d5ea7..0a1e3da 100644
--- a/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/smo/impl/GeneratorOweFeeInnerServiceSMOImpl.java
@@ -1,53 +1,37 @@
package com.java110.report.smo.impl;
-import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.smo.IComputeFeeSMO;
-import com.java110.dto.RoomDto;
+import com.java110.dto.community.CommunityDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
-import com.java110.dto.logSystemError.LogSystemErrorDto;
-import com.java110.dto.report.ReportCarDto;
-import com.java110.dto.report.ReportFeeDetailDto;
+import com.java110.dto.log.LogSystemErrorDto;
import com.java110.dto.report.ReportFeeDto;
-import com.java110.dto.report.ReportRoomDto;
-import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
-import com.java110.dto.reportFeeYearCollection.ReportFeeYearCollectionDto;
-import com.java110.dto.reportFeeYearCollectionDetail.ReportFeeYearCollectionDetailDto;
-import com.java110.dto.reportOweFee.ReportOweFeeDto;
-import com.java110.dto.task.TaskDto;
-import com.java110.intf.report.IGeneratorFeeYearStatisticsInnerServiceSMO;
+import com.java110.dto.reportFee.ReportOweFeeDto;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
import com.java110.intf.report.IGeneratorOweFeeInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
-import com.java110.po.logSystemError.LogSystemErrorPo;
-import com.java110.po.reportFeeMonthStatistics.ReportFeeMonthStatisticsPo;
-import com.java110.po.reportFeeYearCollection.ReportFeeYearCollectionPo;
-import com.java110.po.reportFeeYearCollectionDetail.ReportFeeYearCollectionDetailPo;
-import com.java110.po.reportOweFee.ReportOweFeePo;
+import com.java110.po.log.LogSystemErrorPo;
+import com.java110.po.reportFee.ReportFeeMonthStatisticsPo;
+import com.java110.po.reportFee.ReportOweFeePo;
import com.java110.report.dao.IReportCommunityServiceDao;
import com.java110.report.dao.IReportFeeServiceDao;
import com.java110.report.dao.IReportFeeYearCollectionDetailServiceDao;
import com.java110.report.dao.IReportFeeYearCollectionServiceDao;
import com.java110.report.dao.IReportOweFeeServiceDao;
import com.java110.service.smo.ISaveSystemErrorSMO;
-import com.java110.utils.cache.CommonCache;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.ExceptionUtil;
-import com.java110.utils.util.ListUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
-import java.math.BigDecimal;
-import java.text.ParseException;
-import java.util.Calendar;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -94,12 +78,29 @@
@Autowired
private IReportOweFeeServiceDao reportOweFeeServiceDaoImpl;
+ @Autowired
+ private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
+
@Override
public int generatorOweData(@RequestBody ReportFeeMonthStatisticsPo reportFeeMonthStatisticsPo) {
- doGeneratorData(reportFeeMonthStatisticsPo);
+ CommunityDto communityDto = new CommunityDto();
+
+// List<CommunityDto> communityDtos = BeanConvertUtil.covertBeanList(
+// reportCommunityServiceDaoImpl.getCommunitys(BeanConvertUtil.beanCovertMap(communityDto)), CommunityDto.class);
+
+ List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+
+ for (CommunityDto tmpCommunityDto : communityDtos) {
+ reportFeeMonthStatisticsPo.setCommunityId(tmpCommunityDto.getCommunityId());
+ doGeneratorData(reportFeeMonthStatisticsPo);
+ }
return 0;
}
+
@Async
private void doGeneratorData(ReportFeeMonthStatisticsPo reportFeeMonthStatisticsPo) {
@@ -107,11 +108,15 @@
Assert.hasLength(communityId, "鏈寘鍚皬鍖轰俊鎭�");
+ //
+ feeDataFiltering(communityId);
+
//鏌ヨ璐圭敤椤�
FeeConfigDto feeConfigDto = new FeeConfigDto();
feeConfigDto.setCommunityId(communityId);
- List<FeeConfigDto> feeConfigDtos = reportFeeServiceDaoImpl.getFeeConfigs(feeConfigDto);
+ List<FeeConfigDto> feeConfigDtos = BeanConvertUtil.covertBeanList(reportFeeServiceDaoImpl.getFeeConfigs(
+ BeanConvertUtil.beanCovertMap(feeConfigDto)), FeeConfigDto.class);
for (FeeConfigDto tmpFeeConfigDto : feeConfigDtos) {
try {
@@ -128,6 +133,33 @@
}
+ private void feeDataFiltering(String communityId) {
+
+ Map reportFeeDto = new HashMap();
+ reportFeeDto.put("communityId", communityId);
+ List<Map> feeDtos = reportOweFeeServiceDaoImpl.queryInvalidOweFee(reportFeeDto);
+
+ List<String> feeIds = new ArrayList<>();
+ for (Map feeDto : feeDtos) {
+ if (!feeDto.containsKey("feeId") || StringUtil.isNullOrNone(feeDto.get("feeId"))) {
+ continue;
+ }
+
+ feeIds.add(feeDto.get("feeId").toString());
+
+ if (feeIds.size() >= 50) {
+ reportFeeDto.put("feeIds", feeIds);
+ reportOweFeeServiceDaoImpl.deleteInvalidFee(reportFeeDto);
+ feeIds = new ArrayList<>();
+ }
+ }
+ reportFeeDto.put("feeIds", feeIds);
+ if (feeIds.size() > 0) {
+ reportOweFeeServiceDaoImpl.deleteInvalidFee(reportFeeDto);
+ }
+ }
+
+
/**
* 鎸夎垂鐢ㄩ」鏉ュ嚭璐�
*
@@ -143,7 +175,7 @@
List<ReportFeeDto> feeDtos = reportFeeServiceDaoImpl.getFees(feeDto);
//娌℃湁鍏宠仈璐圭敤
- if (feeDto == null || feeDtos.size() < 1) {
+ if (feeDtos == null || feeDtos.size() < 1) {
return;
}
for (ReportFeeDto tmpFeeDto : feeDtos) {
@@ -168,13 +200,19 @@
*/
private void generateFee(ReportFeeDto reportFeeDto, FeeConfigDto feeConfigDto) {
- FeeDto feeDto = BeanConvertUtil.covertBean(reportFeeDto,FeeDto.class);
+ FeeDto feeDto = BeanConvertUtil.covertBean(reportFeeDto, FeeDto.class);
+
+ FeeAttrDto feeAttrDto = new FeeAttrDto();
+ feeAttrDto.setFeeId(feeDto.getFeeId());
+ List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
+
+ feeDto.setFeeAttrDtos(feeAttrDtos);
//鍒峰叆娆犺垂閲戦
computeFeeSMOImpl.computeEveryOweFee(feeDto);
//淇濆瓨鏁版嵁
ReportOweFeePo reportOweFeePo = new ReportOweFeePo();
- reportOweFeePo.setAmountOwed(feeDto.getFeePrice() + "");
+ reportOweFeePo.setAmountOwed(feeDto.getFeeTotalPrice() + "");
reportOweFeePo.setCommunityId(feeDto.getCommunityId());
reportOweFeePo.setConfigId(feeConfigDto.getConfigId());
reportOweFeePo.setConfigName(feeConfigDto.getFeeName());
@@ -202,4 +240,41 @@
}
}
+ @Override
+ public int computeOweFee(@RequestBody FeeDto feeDto) {
+ //鍒峰叆娆犺垂閲戦
+ computeFeeSMOImpl.computeEveryOweFee(feeDto);
+
+ //淇濆瓨鏁版嵁
+ ReportOweFeePo reportOweFeePo = new ReportOweFeePo();
+ reportOweFeePo.setAmountOwed(feeDto.getFeeTotalPrice() + "");
+ reportOweFeePo.setCommunityId(feeDto.getCommunityId());
+ reportOweFeePo.setConfigId(feeDto.getConfigId());
+ reportOweFeePo.setConfigName(feeDto.getFeeName());
+ reportOweFeePo.setDeadlineTime(DateUtil.getFormatTimeString(feeDto.getDeadlineTime(), DateUtil.DATE_FORMATE_STRING_A));
+ reportOweFeePo.setEndTime(DateUtil.getFormatTimeString(feeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+ reportOweFeePo.setFeeId(feeDto.getFeeId());
+ reportOweFeePo.setFeeName(feeDto.getFeeName());
+ reportOweFeePo.setOwnerId(FeeAttrDto.getFeeAttrValue(feeDto, FeeAttrDto.SPEC_CD_OWNER_ID));
+ reportOweFeePo.setOwnerName(FeeAttrDto.getFeeAttrValue(feeDto, FeeAttrDto.SPEC_CD_OWNER_NAME));
+ reportOweFeePo.setOwnerTel(FeeAttrDto.getFeeAttrValue(feeDto, FeeAttrDto.SPEC_CD_OWNER_LINK));
+ reportOweFeePo.setPayerObjId(feeDto.getPayerObjId());
+ reportOweFeePo.setPayerObjName(computeFeeSMOImpl.getFeeObjName(feeDto));
+ reportOweFeePo.setPayerObjType(feeDto.getPayerObjType());
+ reportOweFeePo.setUpdateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto();
+ reportOweFeeDto.setFeeId(feeDto.getFeeId());
+ reportOweFeeDto.setPayerObjId(feeDto.getPayerObjId());
+ List<Map> reportOweFeeDtos = reportOweFeeServiceDaoImpl.queryReportAllOweFees(BeanConvertUtil.beanCovertMap(reportOweFeeDto));
+ if (reportOweFeeDtos == null || reportOweFeeDtos.size() < 1) {
+ reportOweFeePo.setOweId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oweId));
+ reportOweFeeServiceDaoImpl.saveReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeePo));
+ } else {
+ reportOweFeePo.setOweId(reportOweFeeDtos.get(0).get("oweId").toString());
+ reportOweFeeServiceDaoImpl.updateReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeePo));
+ }
+ return 1;
+ }
+
+
}
--
Gitblit v1.8.0