From 7b2a93ada3e53d7933083399017424e3e84365f7 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 13:31:07 +0800 Subject: [PATCH] fix --- .../iformall/service/helper/WxEnergyHelper.java | 3 ++- .../service/impl/WxEnergyServiceImpl.java | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java index b38493aae..aa1b7bec7 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java @@ -140,7 +140,7 @@ public class WxEnergyHelper { return formula; } - public void testCalcute(String formula) { + public void testCalcute(String formula,String shopPulicRax) { if (StringUtils.isBlank(formula)) { return ; } @@ -153,6 +153,7 @@ public class WxEnergyHelper { formula = formula.replaceAll(relpaceFloorArea, "1"); } } + formula = formula.replaceAll("#shopPublicRax#", shopPulicRax); FormulaParser.evaluate(formula); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java index f49c87a92..9f80185a4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java @@ -551,14 +551,23 @@ public class WxEnergyServiceImpl implements WxEnergyService { return retList; } + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public void createFeesShop(WxEnergyFeesShop record) { //新增关联 final IdWorker idWorker = IdWorker.get(); Date date = new Date(); WxEnergyFees fees = this.getFeesById(record.getFeesId(),record.getTenantId()); + WxShop sq = new WxShop(); + sq.updateTenantInfo(record); + sq.setIds(record.getShopIds()); + Map shopMap = wxShopService.findShopMap(sq); for (int i = 0 ; i < record.getShopIds().size(); i ++) { Long shopId = record.getShopIds().get(i); + WxShop shop = shopMap.get(shopId); + if (StringUtils.isBlank(shop.getPulicRate())) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺未设置公摊系数"); + } WxEnergyFeesShop msf = new WxEnergyFeesShop(); msf.updateTenantInfo(record); msf.setId(idWorker.nextId()); @@ -580,7 +589,7 @@ public class WxEnergyServiceImpl implements WxEnergyService { msf.setFormulaListStr(JSON.toJSONString(record.getFormulaList())); } msf.setFormula(record.getFormula()); - wxEnergyHelper.testCalcute(record.getFormula()); + wxEnergyHelper.testCalcute(record.getFormula(),shop.getPulicRate()); wxEnergyFeesShopMapper.insert(msf); } } @@ -617,7 +626,11 @@ public class WxEnergyServiceImpl implements WxEnergyService { if (null != record.getFormulaList() && record.getFormulaList().size() > 0 ) { record.setFormulaListStr(JSON.toJSONString(record.getFormulaList())); } - wxEnergyHelper.testCalcute(record.getFormula()); + WxShop shop = wxShopService.getById(record.getShopId()); + if (StringUtils.isBlank(shop.getPulicRate())) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺未设置公摊系数"); + } + wxEnergyHelper.testCalcute(record.getFormula(),shop.getPulicRate()); wxEnergyFeesShopMapper.updateById(record); }