From 3eb7477a402c73875ee1176f3fb6092269a8c495 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 29 十一月 2021 11:33:06 +0800
Subject: [PATCH] 优化欠费不推送问题
---
service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java | 190 +++++++++++++++++++++--------------------------
1 files changed, 85 insertions(+), 105 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 579672a..d052e6e 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,33 +2,32 @@
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.*;
-import com.java110.dto.owner.OwnerCarDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
+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.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;
import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.report.IReportFeeYearCollectionDetailInnerServiceSMO;
+import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.quartz.TaskSystemQuartz;
-import com.java110.utils.constant.ResponseConstant;
-import com.java110.utils.exception.TaskTemplateException;
+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;
-import java.math.BigDecimal;
-import java.util.Calendar;
-import java.util.Date;
import java.util.List;
-import java.util.Map;
/**
* @ClassName GenerateOwnerBillTemplate
@@ -40,6 +39,8 @@
**/
@Component
public class GenerateOweFeeTemplate extends TaskSystemQuartz {
+
+ public static final double DEFAULT_ROW = 200.0;
@Autowired
@@ -64,7 +65,16 @@
private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
@Autowired
+ private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
+
+ @Autowired
private IComputeFeeSMO computeFeeSMOImpl;
+
+ @Autowired
+ private ILogSystemErrorInnerServiceSMO logSystemErrorInnerServiceSMOImpl;
+
+ @Autowired
+ private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
@Override
protected void process(TaskDto taskDto) throws Exception {
@@ -88,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);
}
}
@@ -113,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 (feeDto == 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);
}
}
@@ -140,91 +175,36 @@
*/
private void generateFee(FeeDto feeDto, FeeConfigDto feeConfigDto) {
+ //鍒峰叆娆犺垂閲戦
computeFeeSMOImpl.computeEveryOweFee(feeDto);
//淇濆瓨鏁版嵁
-
-
-
- }
-
- /**
- * 鏌ヨ杞︿綅淇℃伅
- *
- * @param billOweFeeDto
- * @param feeDto
- */
- private void getParkingSpaceInfo(BillOweFeeDto billOweFeeDto, FeeDto feeDto) {
-
- OwnerCarDto ownerCarDto = new OwnerCarDto();
- ownerCarDto.setWithOwner(true);
- ownerCarDto.setCarId(feeDto.getPayerObjId());
- ownerCarDto.setCommunityId(feeDto.getCommunityId());
-
- List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
-
-
- if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
- //鎴垮眿鍙兘琚垹闄や簡
- billOweFeeDto.setOwnerId("1");
- billOweFeeDto.setOwnerName("鏈煡");
- billOweFeeDto.setOwnerTel("19999999999");
- return;
- }
-
- billOweFeeDto.setPayerObjName(ownerCarDtos.get(0).getCarNum());
- billOweFeeDto.setOwnerId(ownerCarDtos.get(0).getOwnerId());
- billOweFeeDto.setOwnerName(ownerCarDtos.get(0).getOwnerName());
- billOweFeeDto.setOwnerTel(ownerCarDtos.get(0).getLink());
- }
-
- /**
- * 鏌ヨ鎴垮眿淇℃伅
- *
- * @param billOweFeeDto
- * @param feeDto
- */
- private void getRoomInfo(BillOweFeeDto billOweFeeDto, FeeDto feeDto) {
- RoomDto roomDto = new RoomDto();
- roomDto.setRoomId(feeDto.getPayerObjId());
- roomDto.setCommunityId(feeDto.getCommunityId());
- List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
-
- if (roomDtos == null || roomDtos.size() < 1) {
- //鎴垮眿鍙兘琚垹闄や簡
- billOweFeeDto.setOweId("1");
- billOweFeeDto.setOwnerName("鏈煡");
- billOweFeeDto.setOwnerTel("19999999999");
- billOweFeeDto.setPayerObjName("鏈煡");
- return;
- }
-
- RoomDto tmpRoomDto = roomDtos.get(0);
- if (RoomDto.ROOM_TYPE_ROOM.equals(tmpRoomDto.getRoomType())) {
- billOweFeeDto.setPayerObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getUnitNum() + "鍗曞厓" + tmpRoomDto.getRoomNum() + "瀹�");
+ ReportOweFeePo reportOweFeePo = new ReportOweFeePo();
+ reportOweFeePo.setAmountOwed(feeDto.getFeePrice() + "");
+ reportOweFeePo.setCommunityId(feeDto.getCommunityId());
+ reportOweFeePo.setConfigId(feeConfigDto.getConfigId());
+ reportOweFeePo.setConfigName(feeConfigDto.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<ReportOweFeeDto> reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFees(reportOweFeeDto);
+ if (reportOweFeeDtos == null || reportOweFeeDtos.size() < 1) {
+ reportOweFeePo.setOweId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oweId));
+ reportOweFeeInnerServiceSMOImpl.saveReportOweFee(reportOweFeePo);
} else {
- billOweFeeDto.setPayerObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getRoomNum() + "瀹�");
+ reportOweFeePo.setOweId(reportOweFeeDtos.get(0).getOweId());
+ reportOweFeeInnerServiceSMOImpl.updateReportOweFee(reportOweFeePo);
}
-
- OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
- ownerRoomRelDto.setByOwnerInfo(true);
- ownerRoomRelDto.setRoomId(tmpRoomDto.getRoomId());
- List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-
- if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
- //鎴垮眿鍙兘琚垹闄や簡
- billOweFeeDto.setOweId("1");
- billOweFeeDto.setOwnerName("鏈煡");
- billOweFeeDto.setOwnerTel("19999999999");
- return;
- }
-
- billOweFeeDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
- billOweFeeDto.setOwnerName(ownerRoomRelDtos.get(0).getOwnerName());
- billOweFeeDto.setOwnerTel(ownerRoomRelDtos.get(0).getLink());
-
}
-
-
-
}
--
Gitblit v1.8.0