From cb0d52565f82a4cfe789b9f71d3b79ac6a927a45 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 3 Sep 2024 07:47:36 +0800 Subject: [PATCH] fix --- .../iformall/controller/WxBillController.java | 10 +-- .../controller/WxMallAdminController.java | 26 ++++--- .../com/iformall/domain/po/WxEnergyMeter.java | 4 -- .../domain/po/WxEnergyMeterShopFloor.java | 8 +++ .../com/iformall/service/WxEnergyService.java | 2 + .../service/impl/WxEnergyServiceImpl.java | 68 +++++++++++++++++++ .../resources/mapper/WxEnergyMeterMapper.xml | 1 - .../mapper/WxEnergyMeterShopFloorMapper.xml | 6 ++ 8 files changed, 105 insertions(+), 20 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java index 13c99e73b..d544cee04 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java @@ -261,17 +261,17 @@ public class WxBillController extends BaseController { if (null == billdetail) { return new ResultData(Result.ERROR,"账单支付未查询到"); } - BigDecimal owe = new BigDecimal(billdetail.getBillAllNeedPay()); - if (owe.compareTo(new BigDecimal(payMoney)) < 0) { - return new ResultData(Result.ERROR,"支付金额大于欠费金额,请刷新账单后再支付"); - } +// BigDecimal owe = new BigDecimal(billdetail.getBillAllNeedPay()); +// if (owe.compareTo(new BigDecimal(payMoney)) < 0) { +// return new ResultData(Result.ERROR,"支付金额大于欠费金额,请刷新账单后再支付"); +// } WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(wxMerchant); if (null == wxPayAccountBill || null == wxPayAccountBill.getPayChannel()) { return new ResultData(Result.ERROR,"账单支付配置错误,请联系管理员"); } try { Object result = payBillServiceFactory.getPayAdapterService(wxPayAccountBill.getPayChannel()) - .createPay(wxPayAccountBill,this.getLoginBUser(),this.getCUser(),billdetail,Double.parseDouble(payMoney), paramMap); + .createPay(wxPayAccountBill,this.getLoginBUser(),this.getCUser(),billdetail,Double.parseDouble(billdetail.getBillAllNeedPay()), paramMap); if (null == result) { return new ResultData(Result.ERROR,"账单支付错误,请联系管理员"); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java index a9f0fe97f..f9174fb06 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java @@ -385,31 +385,37 @@ public class WxMallAdminController extends BaseController { @ApiOperation("抄表数据分页列表接口") @GetMapping("shopMeterList") - public ResultData shopMeterList(@ModelAttribute WxEnergyMeter record) { + public ResultData shopMeterList(@ModelAttribute WxEnergyMeterShopFloor record) { if (StringUtils.isBlank(record.getSearchKey())) { return new ResultData(); } - record.setIsDel(EnumYesOrNo.NO.getCode()); setQueryDataRule(record); if (StringUtils.isNotBlank(record.getSearchKey())) { - WxEnergyMeterShopFloor sfq = new WxEnergyMeterShopFloor(); - sfq.updateTenantInfo(record); - sfq.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); WxShop sq = new WxShop(); sq.updateTenantInfo(record); sq.setShopNumber(record.getSearchKey()); List sids = wxShopService.getShopIds(sq); if (null != sids && sids.size() > 0 ) { - sfq.setAliseIdList(sids); - List mids = wxEnergyService.getMeterIdList(sfq); + record.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); + record.setAliseIdList(sids); + List mids = wxEnergyService.getMeterIdList(record); if (null != mids && mids.size() > 0 ) { - record.setIds(mids); + record.setMeterIds(mids); } } - record.setOrName(record.getSearchKey()); + WxEnergyMeter mq = new WxEnergyMeter(); + mq.updateTenantInfo(record); + mq.setName(record.getSearchKey()); + List mids1 = wxEnergyService.getMeterIdList(mq); + if (null != mids1 && mids1.size() > 0 ) { + if (null == record.getMeterIds()) { + record.setMeterIds(new ArrayList()); + } + record.getMeterIds().addAll(mids1); + } } record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); - PageInfo page = wxEnergyService.meterListAsPage(record, 1, 1000); + PageInfo page = wxEnergyService.meterFloorShopListAsPage(record, 1, 1000,true); return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java index ce9098d1b..6625ff9d7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java @@ -106,9 +106,5 @@ public class WxEnergyMeter extends TenantEntity { private Integer isValid; @TableField(exist = false) private Integer hasShop; - @TableField(exist = false) - private String searchKey; - @TableField(exist = false) - private String orName; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterShopFloor.java b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterShopFloor.java index d000b8232..90ec17c9e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterShopFloor.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterShopFloor.java @@ -46,11 +46,15 @@ public class WxEnergyMeterShopFloor extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="表编号",name="meterId") private Long meterId; + @TableField(exist = false) + private String name; @io.swagger.annotations.ApiModelProperty(value = "关联的编号", name = "aliseId") private Long aliseId; @TableField(exist = false) private List aliseIdList; + @TableField(exist = false) + private String aliseName; @TableField(exist = false) private List shopIds; @@ -66,5 +70,9 @@ public class WxEnergyMeterShopFloor extends TenantEntity { private Long parentId; @TableField(exist = false) private String parentType; + @TableField(exist = false) + private String searchKey; + @TableField(exist = false) + private List meterIds; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxEnergyService.java b/mallinkService/src/main/java/com/iformall/service/WxEnergyService.java index ed8e2c264..531050c90 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxEnergyService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxEnergyService.java @@ -30,6 +30,7 @@ public interface WxEnergyService { //能源表 PageInfo meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize); WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id); + List getMeterIdList(WxEnergyMeter record); void saveOrUpdateMeter(WxEnergyMeter record); void createMeterAlias(WxEnergyMeterShopFloor record); void createChildMeterAlias(WxEnergyMeterChild record); @@ -39,6 +40,7 @@ public interface WxEnergyService { Map getMeterMap(WxEnergyMeter record); List getMeterIdList(WxEnergyMeterShopFloor record); List getChildMeterIdList(WxEnergyMeterChild record); + PageInfo meterFloorShopListAsPage(WxEnergyMeterShopFloor record, Integer pageIndex, Integer pageSize,boolean replaceId); //费用区间 PageInfo timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize); 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 08145097e..647c02ab5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java @@ -124,6 +124,11 @@ public class WxEnergyServiceImpl implements WxEnergyService { public WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id) { return wxEnergyMeterMapper.selectById(id, tenantEntity.getTenantId()); } + + @Override + public List getMeterIdList(WxEnergyMeter record) { + return wxEnergyMeterMapper.findIdList(record); + } @Override public void saveOrUpdateMeter(WxEnergyMeter record) { @@ -289,6 +294,69 @@ public class WxEnergyServiceImpl implements WxEnergyService { return wxEnergyMeterChildMapper.findChildMeterIdList(record); } + @Override + public PageInfo meterFloorShopListAsPage(WxEnergyMeterShopFloor record, Integer pageIndex, Integer pageSize,boolean replaceId) { + PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterShopFloorMapper.findList(record)); + if (null != page && null != page.getList() && page.getList().size() > 0 ) { + List meterIdList = new ArrayList(); + List shopIdList = new ArrayList(); + for (int i = 0 ; i < page.getList().size(); i++) { + WxEnergyMeterShopFloor sf = page.getList().get(i); + meterIdList.add(sf.getMeterId()); + if (sf.getType() == EnumEnergyMeterShopFloorType.SHOP.getCode()) { + shopIdList.add(sf.getAliseId()); + } + } + Map buildingMap = wxMallBuildingService.getBuildingMap(record); + Map floorMap = wxMallFloorService.getFloorMap(record); + WxShop sq = new WxShop(); + sq.updateTenantInfo(record); + sq.setIds(shopIdList); + Map shopMap = wxShopService.findShopMap(sq); + + WxEnergyMeter mq = new WxEnergyMeter(); + mq.updateTenantInfo(record); + mq.setIds(meterIdList); + List meterList = wxEnergyMeterMapper.findList(mq); + Map meterMap = new HashMap(); + if (null != meterList && meterList.size() > 0 ) { + for (int i = 0 ; i < meterList.size(); i++) { + WxEnergyMeter m = meterList.get(i); + meterMap.put(m.getId(), m); + } + } + for (int i = 0 ; i < page.getList().size(); i++) { + WxEnergyMeterShopFloor sf = page.getList().get(i); + if (null != meterMap ) { + WxEnergyMeter meter = meterMap.get(sf.getMeterId()); + if (null != meter) { + sf.setName(meter.getName()); + } + } + + if (sf.getType() == EnumEnergyMeterShopFloorType.SHOP.getCode()) { + if (null != shopMap ) { + WxShop shop = shopMap.get(sf.getAliseId()); + if (null != shop) { + sf.setAliseName(shop.getShopNumber()); + } + } + }else if (sf.getType() == EnumEnergyMeterShopFloorType.BUILDING.getCode()) { + if (null != buildingMap ) { + String build = buildingMap.get(sf.getAliseId()); + sf.setAliseName(build); + } + }else if (sf.getType() == EnumEnergyMeterShopFloorType.FLOOR.getCode()) { + if (null != floorMap ) { + String floor = floorMap.get(sf.getAliseId()); + sf.setAliseName(floor); + } + } + } + } + return page; + } + @Override public PageInfo timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) { if (StringUtils.isNotBlank(record.getShopName())) { diff --git a/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml b/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml index 07717b313..a5d543622 100644 --- a/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml @@ -34,7 +34,6 @@ and `physics_type` = #{physicsType} and `shop_type` = #{shopType} and name like concat('%', #{name},'%') - or name like concat('%', #{orName},'%') and `physics_type` in (1,2) and `has_fee` = #{hasFee} diff --git a/mallinkService/src/main/resources/mapper/WxEnergyMeterShopFloorMapper.xml b/mallinkService/src/main/resources/mapper/WxEnergyMeterShopFloorMapper.xml index 92de0fdf4..4f98fbc59 100644 --- a/mallinkService/src/main/resources/mapper/WxEnergyMeterShopFloorMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxEnergyMeterShopFloorMapper.xml @@ -28,6 +28,12 @@ and `type` = #{type} and `meter_id` = #{meterId} and `alise_id` = #{aliseId} + + and meter_id in + + #{midItem} + + and alise_id in