| @@ -261,17 +261,17 @@ public class WxBillController extends BaseController { | |||||
| if (null == billdetail) { | if (null == billdetail) { | ||||
| return new ResultData(Result.ERROR,"账单支付未查询到"); | 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); | WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(wxMerchant); | ||||
| if (null == wxPayAccountBill || null == wxPayAccountBill.getPayChannel()) { | if (null == wxPayAccountBill || null == wxPayAccountBill.getPayChannel()) { | ||||
| return new ResultData(Result.ERROR,"账单支付配置错误,请联系管理员"); | return new ResultData(Result.ERROR,"账单支付配置错误,请联系管理员"); | ||||
| } | } | ||||
| try { | try { | ||||
| Object result = payBillServiceFactory.getPayAdapterService(wxPayAccountBill.getPayChannel()) | 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) { | if (null == result) { | ||||
| return new ResultData(Result.ERROR,"账单支付错误,请联系管理员"); | return new ResultData(Result.ERROR,"账单支付错误,请联系管理员"); | ||||
| } | } | ||||
| @@ -385,31 +385,37 @@ public class WxMallAdminController extends BaseController { | |||||
| @ApiOperation("抄表数据分页列表接口") | @ApiOperation("抄表数据分页列表接口") | ||||
| @GetMapping("shopMeterList") | @GetMapping("shopMeterList") | ||||
| public ResultData shopMeterList(@ModelAttribute WxEnergyMeter record) { | |||||
| public ResultData shopMeterList(@ModelAttribute WxEnergyMeterShopFloor record) { | |||||
| if (StringUtils.isBlank(record.getSearchKey())) { | if (StringUtils.isBlank(record.getSearchKey())) { | ||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| record.setIsDel(EnumYesOrNo.NO.getCode()); | |||||
| setQueryDataRule(record); | setQueryDataRule(record); | ||||
| if (StringUtils.isNotBlank(record.getSearchKey())) { | if (StringUtils.isNotBlank(record.getSearchKey())) { | ||||
| WxEnergyMeterShopFloor sfq = new WxEnergyMeterShopFloor(); | |||||
| sfq.updateTenantInfo(record); | |||||
| sfq.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); | |||||
| WxShop sq = new WxShop(); | WxShop sq = new WxShop(); | ||||
| sq.updateTenantInfo(record); | sq.updateTenantInfo(record); | ||||
| sq.setShopNumber(record.getSearchKey()); | sq.setShopNumber(record.getSearchKey()); | ||||
| List<Long> sids = wxShopService.getShopIds(sq); | List<Long> sids = wxShopService.getShopIds(sq); | ||||
| if (null != sids && sids.size() > 0 ) { | 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 ) { | 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); | 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); | return new ResultData(page); | ||||
| } | } | ||||
| @@ -106,9 +106,5 @@ public class WxEnergyMeter extends TenantEntity { | |||||
| private Integer isValid; | private Integer isValid; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Integer hasShop; | 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") | @io.swagger.annotations.ApiModelProperty(value="表编号",name="meterId") | ||||
| private Long meterId; | private Long meterId; | ||||
| @TableField(exist = false) | |||||
| private String name; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "关联的编号", name = "aliseId") | @io.swagger.annotations.ApiModelProperty(value = "关联的编号", name = "aliseId") | ||||
| private Long aliseId; | private Long aliseId; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Long> aliseIdList; | private List<Long> aliseIdList; | ||||
| @TableField(exist = false) | |||||
| private String aliseName; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Long> shopIds; | private List<Long> shopIds; | ||||
| @@ -66,5 +70,9 @@ public class WxEnergyMeterShopFloor extends TenantEntity { | |||||
| private Long parentId; | private Long parentId; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String parentType; | 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); | PageInfo<WxEnergyMeter> meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize); | ||||
| WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id); | WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id); | ||||
| List<Long> getMeterIdList(WxEnergyMeter record); | |||||
| void saveOrUpdateMeter(WxEnergyMeter record); | void saveOrUpdateMeter(WxEnergyMeter record); | ||||
| void createMeterAlias(WxEnergyMeterShopFloor record); | void createMeterAlias(WxEnergyMeterShopFloor record); | ||||
| void createChildMeterAlias(WxEnergyMeterChild record); | void createChildMeterAlias(WxEnergyMeterChild record); | ||||
| @@ -39,6 +40,7 @@ public interface WxEnergyService { | |||||
| Map<Long,WxEnergyMeter> getMeterMap(WxEnergyMeter record); | Map<Long,WxEnergyMeter> getMeterMap(WxEnergyMeter record); | ||||
| List<Long> getMeterIdList(WxEnergyMeterShopFloor record); | List<Long> getMeterIdList(WxEnergyMeterShopFloor record); | ||||
| List<Long> getChildMeterIdList(WxEnergyMeterChild 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); | 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) { | public WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id) { | ||||
| return wxEnergyMeterMapper.selectById(id, tenantEntity.getTenantId()); | return wxEnergyMeterMapper.selectById(id, tenantEntity.getTenantId()); | ||||
| } | } | ||||
| @Override | |||||
| public List<Long> getMeterIdList(WxEnergyMeter record) { | |||||
| return wxEnergyMeterMapper.findIdList(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public void saveOrUpdateMeter(WxEnergyMeter record) { | public void saveOrUpdateMeter(WxEnergyMeter record) { | ||||
| @@ -289,6 +294,69 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| return wxEnergyMeterChildMapper.findChildMeterIdList(record); | 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 | @Override | ||||
| public PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) { | ||||
| if (StringUtils.isNotBlank(record.getShopName())) { | if (StringUtils.isNotBlank(record.getShopName())) { | ||||
| @@ -34,7 +34,6 @@ | |||||
| <if test=" null != physicsType ">and `physics_type` = #{physicsType}</if> | <if test=" null != physicsType ">and `physics_type` = #{physicsType}</if> | ||||
| <if test=" null != shopType ">and `shop_type` = #{shopType}</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 != 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 != isRealMeter ">and `physics_type` in (1,2) </if> | ||||
| <if test=" null != hasFee ">and `has_fee` = #{hasFee}</if> | <if test=" null != hasFee ">and `has_fee` = #{hasFee}</if> | ||||
| <if test=" null != physicsTypeList "> | <if test=" null != physicsTypeList "> | ||||
| @@ -28,6 +28,12 @@ | |||||
| <if test=" null != type ">and `type` = #{type}</if> | <if test=" null != type ">and `type` = #{type}</if> | ||||
| <if test=" null != meterId ">and `meter_id` = #{meterId}</if> | <if test=" null != meterId ">and `meter_id` = #{meterId}</if> | ||||
| <if test=" null != aliseId ">and `alise_id` = #{aliseId}</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 "> | <if test=" null != aliseIdList "> | ||||
| and alise_id in | and alise_id in | ||||
| <foreach collection="aliseIdList" index="index" item="aidItem" open="(" separator="," close=")"> | <foreach collection="aliseIdList" index="index" item="aidItem" open="(" separator="," close=")"> | ||||