From 8954429263a75e3c7d19db20a60370fca005f2bd Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 08 八月 2023 15:44:49 +0800
Subject: [PATCH] 优化代码
---
service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java | 80 ++++++++++++++++++++++++++-------------
1 files changed, 53 insertions(+), 27 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
index aae95e9..9110a10 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
@@ -3,16 +3,16 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.RoomDto;
-import com.java110.dto.contractRoom.ContractRoomDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.contract.ContractRoomDto;
import com.java110.dto.fee.FeeAttrDto;
-import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
-import com.java110.dto.meterWater.ImportExportMeterWaterDto;
-import com.java110.dto.meterWater.MeterWaterDto;
+import com.java110.dto.meter.ImportExportMeterWaterDto;
+import com.java110.dto.meter.MeterWaterDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.dto.parking.ParkingSpaceDto;
import com.java110.fee.bmo.meterWater.IQueryPreMeterWater;
+import com.java110.fee.feeMonth.IPayFeeMonth;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
@@ -22,14 +22,14 @@
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeePo;
-import com.java110.po.meterWater.MeterWaterPo;
+import com.java110.po.meter.MeterWaterPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@@ -66,6 +66,8 @@
@Autowired
private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+ @Autowired
+ private IPayFeeMonth payFeeMonthImpl;
@Override
public ResponseEntity<String> query(MeterWaterDto meterWaterDto, String roomNum) {
@@ -118,6 +120,8 @@
String configId = reqJson.getString("configId");
String userId = reqJson.getString("userId");
String feeTypeCd = reqJson.getString("feeTypeCd");
+ String batchId = reqJson.getString("batchId");
+ String meterType = reqJson.getString("meterType");
JSONArray importMeteWaterFees = reqJson.getJSONArray("importMeteWaterFees");
JSONObject meteWaterJson = null;
ImportExportMeterWaterDto importExportMeterWaterDto = null;
@@ -138,7 +142,9 @@
feeTypeCd,
fees,
meterWaterPos,
- feeAttrPos
+ feeAttrPos,
+ batchId,
+ meterType
);
}
@@ -152,14 +158,23 @@
feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
}
+
meterWaterInnerServiceSMOImpl.saveMeterWaters(meterWaterPos);
+
+ // todo 杩欓噷寮傛鐨勬柟寮忚绠� 鏈堟暟鎹� 鍜屾瑺璐规暟鎹�
+ List<String> feeIds = new ArrayList<>();
+ for (PayFeePo feePo : fees) {
+ feeIds.add(feePo.getFeeId());
+ }
+ payFeeMonthImpl.doGeneratorFeeMonths(feeIds, fees.get(0).getCommunityId());
return ResultVo.success();
}
private void dealImportExportMeterWater(ImportExportMeterWaterDto importExportMeterWaterDto, String communityId,
String storeId, String configId, String userId, String feeTypeCd,
- List<PayFeePo> fees, List<MeterWaterPo> meterWaterPos, List<FeeAttrPo> feeAttrPos) {
+ List<PayFeePo> fees, List<MeterWaterPo> meterWaterPos, List<FeeAttrPo> feeAttrPos,
+ String batchId, String meterType) {
RoomDto roomDto = new RoomDto();
roomDto.setCommunityId(communityId);
@@ -170,14 +185,9 @@
Assert.listOnlyOne(roomDtos, "鎴垮眿鏈壘鍒版垨鎵惧埌澶氭潯" + importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum());
- if (FeeConfigDto.FEE_TYPE_CD_WATER.equals(feeTypeCd)) {
- importExportMeterWaterDto.setMeterType("1010");
- } else if (FeeConfigDto.FEE_TYPE_CD_GAS.equals(feeTypeCd)) {
- importExportMeterWaterDto.setMeterType("3030");
- } else {
- importExportMeterWaterDto.setMeterType("2020");
- }
+ String roomName = importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum();
+ importExportMeterWaterDto.setMeterType(meterType);
//鏌ヨ鎴垮眿鏄惁鏈夊悎鍚�
ContractRoomDto contractRoomDto = new ContractRoomDto();
@@ -187,12 +197,13 @@
PayFeePo payFeePo = new PayFeePo();
- payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+ payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId,true));
payFeePo.setIncomeObjId(storeId);
payFeePo.setAmount("-1");
payFeePo.setStartTime(importExportMeterWaterDto.getPreReadingTime());
payFeePo.setEndTime(importExportMeterWaterDto.getPreReadingTime());
payFeePo.setPayerObjId(roomDtos.get(0).getRoomId());
+ payFeePo.setBatchId(batchId);
//payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
@@ -202,10 +213,9 @@
payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
FeeAttrPo feeAttrPo = new FeeAttrPo();
feeAttrPo.setCommunityId(communityId);
- feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
- String feeName = importExportMeterWaterDto.getFloorNum() + "鏍�" + importExportMeterWaterDto.getUnitNum() + "鍗曞厓" + importExportMeterWaterDto.getRoomNum() + "瀹�";
-
+ String feeName = roomName;
if ("1010".equals(importExportMeterWaterDto.getMeterType())) {
feeName += "姘磋垂";
} else if ("2020".equals(importExportMeterWaterDto.getMeterType())) {
@@ -218,18 +228,28 @@
feeAttrPos.add(feeAttrPo);
}
+
+ //todo 淇濆瓨鎴垮眿鍚嶇О
+ FeeAttrPo feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME);
+ feeAttrPo.setValue(roomName);
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
+ feeAttrPos.add(feeAttrPo);
+
OwnerDto ownerDto = new OwnerDto();
ownerDto.setCommunityId(communityId);
ownerDto.setRoomId(roomDtos.get(0).getRoomId());
List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
if (ownerDtos != null && ownerDtos.size() > 0) {
- FeeAttrPo feeAttrPo = new FeeAttrPo();
+ feeAttrPo = new FeeAttrPo();
feeAttrPo.setCommunityId(communityId);
feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
feeAttrPo.setValue(ownerDtos.get(0).getOwnerId());
feeAttrPo.setFeeId(payFeePo.getFeeId());
- feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
feeAttrPos.add(feeAttrPo);
feeAttrPo = new FeeAttrPo();
@@ -237,7 +257,7 @@
feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
feeAttrPo.setValue(ownerDtos.get(0).getLink());
feeAttrPo.setFeeId(payFeePo.getFeeId());
- feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
feeAttrPos.add(feeAttrPo);
feeAttrPo = new FeeAttrPo();
@@ -245,12 +265,18 @@
feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
feeAttrPo.setValue(ownerDtos.get(0).getName());
feeAttrPo.setFeeId(payFeePo.getFeeId());
- feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
feeAttrPos.add(feeAttrPo);
}
payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
payFeePo.setState(FeeDto.STATE_DOING);
+ //todo 濡傛灉 褰撳墠璇绘暟灏忎簬绛変簬涓婃湡璇绘暟
+ //todo 杩欓噷娉ㄩ噴锛屾湰鏉ユ兂鐫� 鏂逛究鐗╀笟鍐嶄笉鐢ㄥ幓缂磋垂 璇绘暟涓�0 鐨勶紝缁撴灉鐗╀笟杩樹範鎯笉浜� 鎬讳互涓鸿鏁颁负0 鐨勬病鏈夋妱琛ㄦ垚鍔燂紝涓嶄細鍘荤粨鏉熻垂鐢ㄤ腑鏌ョ湅
+// if (Double.parseDouble(importExportMeterWaterDto.getCurDegrees()) <= Double.parseDouble(importExportMeterWaterDto.getPreDegrees())) {
+// payFeePo.setState(FeeDto.STATE_FINISH);
+// }
+
payFeePo.setUserId(userId);
payFeePo.setFeeTypeCd(feeTypeCd);
payFeePo.setConfigId(configId);
@@ -269,7 +295,7 @@
meterWaterPo.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
meterWaterPo.setPreDegrees(importExportMeterWaterDto.getPreDegrees());
meterWaterPo.setPreReadingTime(importExportMeterWaterDto.getPreReadingTime());
- meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId));
+ meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId,true));
meterWaterPo.setRemark(importExportMeterWaterDto.getRemark());
meterWaterPo.setPrice(importExportMeterWaterDto.getPrice());
meterWaterPos.add(meterWaterPo);
@@ -285,7 +311,7 @@
return false;
}
if (MeterWaterDto.METER_TYPE_ROOM.equals(meterWaterDto.getObjType())) {
- String[] nums = roomNum.split("-");
+ String[] nums = roomNum.split("-", 3);
if (nums.length != 3) {
return false;
}
@@ -302,7 +328,7 @@
meterWaterDto.setObjId(roomDtos.get(0).getRoomId());
} else {
- String[] nums = roomNum.split("-");
+ String[] nums = roomNum.split("-", 2);
if (nums.length != 2) {
return false;
}
--
Gitblit v1.8.0