From 2d079ac843ebcb335f2ef7d6952f9700a16fddde Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 05 五月 2021 14:11:00 +0800
Subject: [PATCH] 游湖阿底阿妈
---
service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java | 52 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 34 insertions(+), 18 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java
old mode 100644
new mode 100755
index d74636d..d5f86dc
--- a/service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java
@@ -87,14 +87,19 @@
String scope = reqJson.getString("scope");
RoomDto roomDto = new RoomDto();
+ String[] states = null;
if (reqJson.containsKey("roomState") && reqJson.getString("roomState").split(",").length > 0) {
- String[] states = reqJson.getString("roomState").split(",");
+ states = reqJson.getString("roomState").split(",");
roomDto.setStates(states);
} else {
roomDto.setStates(new String[]{RoomDto.STATE_SELL, RoomDto.STATE_SHOP_SELL}); // 宸茬粡鍏ヤ綇
}
if (reqJson.containsKey("roomType")) {
roomDto.setRoomType(reqJson.getString("roomType"));
+ }
+ if (reqJson.containsKey("feeLayer") && !"鍏ㄩ儴".equals(reqJson.getString("feeLayer"))) {
+ String[] layers = reqJson.getString("feeLayer").split("#");
+ roomDto.setLayers(layers);
}
List<RoomDto> roomDtos = null;
if ("1001".equals(scope)) {//灏忓尯
@@ -111,7 +116,7 @@
}
if (roomDtos == null || roomDtos.size() < 1) {
- throw new IllegalArgumentException("鏈壘鍒扮浉搴旀埧灞嬪叕鎽婅垂鐢�");
+ throw new IllegalArgumentException("鏈壘鍒扮浉搴旀埧灞�");
}
//鎴垮眿鍒峰叆涓氫富淇℃伅
@@ -158,7 +163,7 @@
String formulaValue = deakFormula(feeFormulaDtos.get(0));
//鍏憡璐圭敤鍒版埧灞�
- sharingFeeToRoom(formulaValue, Double.parseDouble(feeFormulaDtos.get(0).getPrice()), roomDtos, reqJson, feeConfigDto, communityDtos.get(0));
+ sharingFeeToRoom(formulaValue, Double.parseDouble(feeFormulaDtos.get(0).getPrice()), roomDtos, reqJson, feeConfigDto, communityDtos.get(0),states);
return ResultVo.success();
@@ -171,7 +176,7 @@
* @param roomDtos
*/
private void sharingFeeToRoom(String formulaValue, double price, List<RoomDto> roomDtos,
- JSONObject reqJson, FeeConfigDto feeConfigDto, CommunityDto communityDto) {
+ JSONObject reqJson, FeeConfigDto feeConfigDto, CommunityDto communityDto,String[] states) {
List<PayFeePo> payFeePos = new ArrayList<>();
@@ -182,7 +187,7 @@
Map<String, Integer> unitRooms = new HashMap();
for (RoomDto roomDto : roomDtos) {
doSharingFeeToRoom(formulaValue, price, roomDto, reqJson, payFeePos, feeConfigDto, feeAttrPos,
- importFeeId, importFeeDetailPos, floorRooms, unitRooms, communityDto);
+ importFeeId, importFeeDetailPos, floorRooms, unitRooms, communityDto,states);
}
feeInnerServiceSMOImpl.saveFee(payFeePos);
@@ -230,22 +235,23 @@
List<ImportFeeDetailPo> importFeeDetailPos,
Map<String, Integer> floorRooms,
Map<String, Integer> unitRooms,
- CommunityDto communityDto) {
+ CommunityDto communityDto,
+ String[] states) {
if (!floorRooms.containsKey(roomDto.getFloorId())) {
RoomDto tmpRoomDto = new RoomDto();
- tmpRoomDto.setCommunityId(roomDto.getCommunityId());
+ tmpRoomDto.setCommunityId(communityDto.getCommunityId());
tmpRoomDto.setFloorId(roomDto.getFloorId());
- tmpRoomDto.setState(RoomDto.STATE_SELL);
+ tmpRoomDto.setStates(states);
int roomCount = roomInnerServiceSMOImpl.queryRoomsCount(tmpRoomDto);
floorRooms.put(roomDto.getFloorId(), roomCount);
}
if (!unitRooms.containsKey(roomDto.getUnitId())) {
RoomDto tmpRoomDto = new RoomDto();
- tmpRoomDto.setCommunityId(roomDto.getCommunityId());
+ tmpRoomDto.setCommunityId(communityDto.getCommunityId());
tmpRoomDto.setUnitId(roomDto.getUnitId());
- tmpRoomDto.setState(RoomDto.STATE_SELL);
+ tmpRoomDto.setStates(states);
int roomCount = roomInnerServiceSMOImpl.queryRoomsCount(tmpRoomDto);
unitRooms.put(roomDto.getUnitId(), roomCount);
}
@@ -255,14 +261,14 @@
String orgFormulaValue = formulaValue;
- formulaValue = formulaValue.replace("T", reqJson.getString("totalDegrees"))
- .replace("F", roomDto.getFloorArea())
- .replace("U", roomDto.getUnitArea())
- .replace("R", roomDto.getBuiltUpArea())
- .replace("X", roomDto.getFeeCoefficient())
- .replace("L", floorRoomCount + "")
- .replace("D", unitRoomCount + "")
- .replace("C", communityDto.getCommunityArea());
+ formulaValue = formulaValue.replaceAll("T", reqJson.getString("totalDegrees"))
+ .replaceAll("F", roomDto.getFloorArea())
+ .replaceAll("U", roomDto.getUnitArea())
+ .replaceAll("R", roomDto.getBuiltUpArea())
+ .replaceAll("X", roomDto.getFeeCoefficient())
+ .replaceAll("L", floorRoomCount + "")
+ .replaceAll("D", unitRoomCount + "")
+ .replaceAll("C", communityDto.getCommunityArea());
ScriptEngineManager manager = new ScriptEngineManager();
@@ -275,6 +281,7 @@
BigDecimal priceObj = new BigDecimal(price);
priceObj = valueObj.multiply(priceObj).setScale(2, BigDecimal.ROUND_HALF_EVEN);
amount = priceObj.doubleValue();
+ value = valueObj.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue() + "";
} catch (Exception e) {
throw new IllegalArgumentException("鍏紡璁$畻寮傚父锛屽叕寮忎负銆�" + orgFormulaValue + "銆�,璁$畻 銆�" + formulaValue + "銆戝紓甯�");
}
@@ -324,6 +331,15 @@
feeAttrPo.setFeeId(payFeePo.getFeeId());
feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
+ feeAttrPo.setValue(reqJson.getString("endTime"));
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
if (!StringUtil.isEmpty(roomDto.getOwnerId())) {
feeAttrPo = new FeeAttrPo();
feeAttrPo.setCommunityId(reqJson.getString("communityId"));
--
Gitblit v1.8.0