From 22d7512ecb341426ecaa5ac8d48d7aa2b37c1059 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 09 六月 2022 16:27:41 +0800
Subject: [PATCH] 优化代码
---
service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java | 72 ++++++++++++++++++++++++++---------
1 files changed, 53 insertions(+), 19 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java b/service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java
index 5f3ebf8..a860627 100644
--- a/service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java
@@ -2,16 +2,14 @@
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.BillOweFeeDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
-import com.java110.dto.owner.OwnerCarDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.dto.logSystemError.LogSystemErrorDto;
import com.java110.dto.reportOweFee.ReportOweFeeDto;
import com.java110.dto.task.TaskDto;
+import com.java110.intf.common.ILogSystemErrorInnerServiceSMO;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
@@ -21,9 +19,11 @@
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.quartz.TaskSystemQuartz;
+import com.java110.po.logSystemError.LogSystemErrorPo;
import com.java110.po.reportOweFee.ReportOweFeePo;
+import com.java110.service.smo.ISaveSystemErrorSMO;
import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.ExceptionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -39,6 +39,8 @@
**/
@Component
public class GenerateOweFeeTemplate extends TaskSystemQuartz {
+
+ public static final double DEFAULT_ROW = 200.0;
@Autowired
@@ -68,6 +70,12 @@
@Autowired
private IComputeFeeSMO computeFeeSMOImpl;
+ @Autowired
+ private ILogSystemErrorInnerServiceSMO logSystemErrorInnerServiceSMOImpl;
+
+ @Autowired
+ private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
+
@Override
protected void process(TaskDto taskDto) throws Exception {
@@ -90,15 +98,18 @@
//鏌ヨ璐圭敤椤�
FeeConfigDto feeConfigDto = new FeeConfigDto();
feeConfigDto.setCommunityId(communityDto.getCommunityId());
- if (StringUtil.isEmpty(feeConfigDto.getBillType())) {
- throw new IllegalArgumentException("閰嶇疆閿欒 鏈嬁鍒板睘鎬у��");
- }
+
List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
for (FeeConfigDto tmpFeeConfigDto : feeConfigDtos) {
try {
GenerateOweFeeByFeeConfig(taskDto, tmpFeeConfigDto);
} catch (Exception e) {
+ LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+ logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+ logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+ logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+ saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
logger.error("璐圭敤鍑鸿处澶辫触" + tmpFeeConfigDto.getConfigId(), e);
}
}
@@ -115,21 +126,43 @@
private void GenerateOweFeeByFeeConfig(TaskDto taskDto, FeeConfigDto feeConfigDto) throws Exception {
//褰撳墠璐圭敤椤规槸鍚�
-
FeeDto feeDto = new FeeDto();
feeDto.setConfigId(feeConfigDto.getConfigId());
feeDto.setCommunityId(feeConfigDto.getCommunityId());
- List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
- //娌℃湁鍏宠仈璐圭敤
- if (feeDto == null || feeDtos.size() < 1) {
- return;
- }
- for (FeeDto tmpFeeDto : feeDtos) {
+ //鍏堟煡璇㈡�绘暟
+ int count = feeInnerServiceSMOImpl.queryFeesCount(feeDto);
+
+ double record = Math.ceil(count / DEFAULT_ROW);
+
+ for (int page = 1; page <= record; page++) {
try {
- generateFee(tmpFeeDto, feeConfigDto);
+ feeDto.setPage(page);
+ feeDto.setRow(new Double(DEFAULT_ROW).intValue());
+ List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+ //娌℃湁鍏宠仈璐圭敤
+ if (feeDtos == null || feeDtos.size() < 1) {
+ continue;
+ }
+ for (FeeDto tmpFeeDto : feeDtos) {
+ try {
+ generateFee(tmpFeeDto, feeConfigDto);
+ } catch (Exception e) {
+ LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+ logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+ logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+ logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+ saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+ logger.error("鐢熸垚璐圭敤澶辫触", e);
+ }
+ }
} catch (Exception e) {
- logger.error("鐢熸垚璐圭敤澶辫触", e);
+ LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+ logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+ logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+ logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+ saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+ logger.error("璐圭敤鍑鸿处澶辫触" + feeConfigDto.getConfigId(), e);
}
}
@@ -142,6 +175,7 @@
*/
private void generateFee(FeeDto feeDto, FeeConfigDto feeConfigDto) {
+ //鍒峰叆娆犺垂閲戦
computeFeeSMOImpl.computeEveryOweFee(feeDto);
//淇濆瓨鏁版嵁
@@ -158,13 +192,13 @@
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(feeDto.getPayerObjName());
+ 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<ReportOweFeeDto> reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportOweFees(reportOweFeeDto);
+ List<ReportOweFeeDto> reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFees(reportOweFeeDto);
if (reportOweFeeDtos == null || reportOweFeeDtos.size() < 1) {
reportOweFeePo.setOweId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oweId));
reportOweFeeInnerServiceSMOImpl.saveReportOweFee(reportOweFeePo);
--
Gitblit v1.8.0