| @@ -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,"账单支付错误,请联系管理员"); | |||
| } | |||
| @@ -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<Long> sids = wxShopService.getShopIds(sq); | |||
| if (null != sids && sids.size() > 0 ) { | |||
| sfq.setAliseIdList(sids); | |||
| List<Long> mids = wxEnergyService.getMeterIdList(sfq); | |||
| record.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); | |||
| record.setAliseIdList(sids); | |||
| List<Long> 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<Long> mids1 = wxEnergyService.getMeterIdList(mq); | |||
| if (null != mids1 && mids1.size() > 0 ) { | |||
| if (null == record.getMeterIds()) { | |||
| record.setMeterIds(new ArrayList<Long>()); | |||
| } | |||
| record.getMeterIds().addAll(mids1); | |||
| } | |||
| } | |||
| record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); | |||
| PageInfo<WxEnergyMeter> page = wxEnergyService.meterListAsPage(record, 1, 1000); | |||
| PageInfo<WxEnergyMeterShopFloor> page = wxEnergyService.meterFloorShopListAsPage(record, 1, 1000,true); | |||
| return new ResultData(page); | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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<Long> aliseIdList; | |||
| @TableField(exist = false) | |||
| private String aliseName; | |||
| @TableField(exist = false) | |||
| private List<Long> 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<Long> meterIds; | |||
| } | |||
| @@ -30,6 +30,7 @@ public interface WxEnergyService { | |||
| //能源表 | |||
| PageInfo<WxEnergyMeter> meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize); | |||
| WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id); | |||
| List<Long> getMeterIdList(WxEnergyMeter record); | |||
| void saveOrUpdateMeter(WxEnergyMeter record); | |||
| void createMeterAlias(WxEnergyMeterShopFloor record); | |||
| void createChildMeterAlias(WxEnergyMeterChild record); | |||
| @@ -39,6 +40,7 @@ public interface WxEnergyService { | |||
| Map<Long,WxEnergyMeter> getMeterMap(WxEnergyMeter record); | |||
| List<Long> getMeterIdList(WxEnergyMeterShopFloor record); | |||
| List<Long> getChildMeterIdList(WxEnergyMeterChild record); | |||
| PageInfo<WxEnergyMeterShopFloor> meterFloorShopListAsPage(WxEnergyMeterShopFloor record, Integer pageIndex, Integer pageSize,boolean replaceId); | |||
| //费用区间 | |||
| PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize); | |||
| @@ -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<Long> 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<WxEnergyMeterShopFloor> meterFloorShopListAsPage(WxEnergyMeterShopFloor record, Integer pageIndex, Integer pageSize,boolean replaceId) { | |||
| PageInfo<WxEnergyMeterShopFloor> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterShopFloorMapper.findList(record)); | |||
| if (null != page && null != page.getList() && page.getList().size() > 0 ) { | |||
| List<Long> meterIdList = new ArrayList<Long>(); | |||
| List<Long> shopIdList = new ArrayList<Long>(); | |||
| 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<Long, String> buildingMap = wxMallBuildingService.getBuildingMap(record); | |||
| Map<Long, String> floorMap = wxMallFloorService.getFloorMap(record); | |||
| WxShop sq = new WxShop(); | |||
| sq.updateTenantInfo(record); | |||
| sq.setIds(shopIdList); | |||
| Map<Long, WxShop> shopMap = wxShopService.findShopMap(sq); | |||
| WxEnergyMeter mq = new WxEnergyMeter(); | |||
| mq.updateTenantInfo(record); | |||
| mq.setIds(meterIdList); | |||
| List<WxEnergyMeter> meterList = wxEnergyMeterMapper.findList(mq); | |||
| Map<Long,WxEnergyMeter> meterMap = new HashMap<Long,WxEnergyMeter>(); | |||
| 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<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) { | |||
| if (StringUtils.isNotBlank(record.getShopName())) { | |||
| @@ -34,7 +34,6 @@ | |||
| <if test=" null != physicsType ">and `physics_type` = #{physicsType}</if> | |||
| <if test=" null != shopType ">and `shop_type` = #{shopType}</if> | |||
| <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | |||
| <if test=" null != orName and '' != orName ">or name like concat('%', #{orName},'%')</if> | |||
| <if test=" null != isRealMeter ">and `physics_type` in (1,2) </if> | |||
| <if test=" null != hasFee ">and `has_fee` = #{hasFee}</if> | |||
| <if test=" null != physicsTypeList "> | |||
| @@ -28,6 +28,12 @@ | |||
| <if test=" null != type ">and `type` = #{type}</if> | |||
| <if test=" null != meterId ">and `meter_id` = #{meterId}</if> | |||
| <if test=" null != aliseId ">and `alise_id` = #{aliseId}</if> | |||
| <if test=" null != meterIds "> | |||
| and meter_id in | |||
| <foreach collection="meterIds" index="index" item="midItem" open="(" separator="," close=")"> | |||
| #{midItem} | |||
| </foreach> | |||
| </if> | |||
| <if test=" null != aliseIdList "> | |||
| and alise_id in | |||
| <foreach collection="aliseIdList" index="index" item="aidItem" open="(" separator="," close=")"> | |||