From c80c0184b6e560d41d5aa5691874e07b681fa18f Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 17 一月 2025 18:41:24 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 122 ++++++++++++++++++++++++---------------- 1 files changed, 73 insertions(+), 49 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java index 0e4c450..c5eed9e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java @@ -102,6 +102,9 @@ startTime2 = split[1]; } Long userId = tokenService.getLoginUser().getUserid(); + // 查询当前登陆人按钮权限 + SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); + Integer roleType = sysUser.getRoleType(); List<Integer> siteIds = new ArrayList<>(); //如果没传siteId,获取当前登陆人所有的siteIds if (dto.getSiteId()==null){ @@ -116,7 +119,22 @@ } if (siteIds.isEmpty()){ siteIds.add(-1); + }else{ + if (roleType == 2){ + List<Integer> integers = new ArrayList<>(); + for (Integer siteId : siteIds) { + // 校验有没有这个站点的权限 + List<Boolean> t1= partnerClient.getAccountMenu(sysUser.getObjectId(),siteId).getData(); + + Boolean b = t1.get(1); + if (b){ + integers.add(siteId); + } + } + siteIds = integers; + } } + if (siteIds.isEmpty())siteIds.add(-1); dto.setSiteIds(siteIds); @@ -135,13 +153,11 @@ BigDecimal chargingCapacityTotal = new BigDecimal("0"); BigDecimal discountTotal = new BigDecimal("0"); int orderCount = 0; - // 查询当前登陆人按钮权限 - SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); - Integer roleType = sysUser.getRoleType(); + for (ChargingBillListVO chargingBillListVO : list) { if (roleType==2){ - Boolean data = partnerClient.getAccountMenu(sysUser.getObjectId(), chargingBillListVO.getSiteId()).getData(); - chargingBillListVO.setAuthDownLoad(data); + List<Boolean> data = partnerClient.getAccountMenu(sysUser.getObjectId(), chargingBillListVO.getSiteId()).getData(); + chargingBillListVO.setAuthDownLoad(data.get(0)); if (chargingBillListVO.getType()==1){ continue; } @@ -172,20 +188,16 @@ chargingBillListVO.setUid(chargingBillListVO.getId().toString()); // 根据账单的出账时间 查询上个月的充电订单 -// LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); - // todo 临时修改为查询昨天的充电订单 - LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); + LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); +// LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); // 账单周期 chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM"))); // 获取 LocalDate 对象 LocalDate date = localDate.toLocalDate(); // // 获取该月份的第一天 -// LocalDate firstDayOfMonth = date.withDayOfMonth(1); -// // 获取该月份的最后一天 -// LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); - // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59 - LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN); - LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX); + LocalDate firstDayOfMonth = date.withDayOfMonth(1); + // 获取该月份的最后一天 + LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>() .between("create_time", firstDayOfMonth, lastDayOfMonth) .eq("status", 5) @@ -401,20 +413,15 @@ chargingBillVO.setBillWeek(billTime.minusMonths(1).format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM"))); chargingBillListVO.setUid(chargingBillListVO.getId().toString()); -// LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); - // todo 临时修改为查询昨天的充电订单 - LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); + LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); // 账单周期 chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM"))); // 获取 LocalDate 对象 LocalDate date = localDate.toLocalDate(); -// // 获取该月份的第一天 -// LocalDate firstDayOfMonth = date.withDayOfMonth(1); -// // 获取该月份的最后一天 -// LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); - // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59 - LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN); - LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX); + // 获取该月份的第一天 + LocalDate firstDayOfMonth = date.withDayOfMonth(1); + // 获取该月份的最后一天 + LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>() .between("create_time", firstDayOfMonth, lastDayOfMonth) .eq("status", 5) @@ -518,9 +525,11 @@ PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999); Long userId = tokenService.getLoginUser().getUserid(); + // 查询当前登陆人按钮权限 + SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); + Integer roleType = sysUser.getRoleType(); //如果没传siteId,获取当前登陆人所有的siteIds List<Integer> siteIds = new ArrayList<>(); - //如果没传siteId,获取当前登陆人所有的siteIds if (dto.getSiteId()==null){ if (userId != null){ @@ -534,7 +543,28 @@ } if (siteIds.isEmpty()){ siteIds.add(-1); + }else{ + if (roleType == 2){ + List<Integer> integers = new ArrayList<>(); + for (Integer siteId : siteIds) { + // 校验有没有这个站点的权限 + List<Boolean> t1= partnerClient.getChargingBillMenu(sysUser.getObjectId(),siteId).getData(); + + Boolean b = t1.get(1); + if (b){ + integers.add(siteId); + } + } + siteIds = integers; + } } + + if (roleType==1){ + siteIds.add(0); + } + if (siteIds.isEmpty()){ + siteIds.add(-1); + } dto.setSiteIds(siteIds); List<ChargingBillListVO> list = this.baseMapper.chargingBillList(pageInfo,dto,startTime1,startTime2); @@ -549,13 +579,14 @@ BigDecimal discountTotal = new BigDecimal("0"); BigDecimal refundAmountTotal = new BigDecimal("0"); int orderCount = 0; - // 查询当前登陆人按钮权限 - SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); - Integer roleType = sysUser.getRoleType(); + List<ChargingBillListVO> chargingBillListVOS = new ArrayList<>(); for (ChargingBillListVO chargingBillListVO : list) { if (roleType==2 && chargingBillListVO.getSiteId()!=0){ + chargingBillListVOS.add(chargingBillListVO); + } + if (roleType ==1 && (siteIds.contains(chargingBillListVO.getSiteId())|| chargingBillListVO.getSiteId()==0)){ chargingBillListVOS.add(chargingBillListVO); } } @@ -565,9 +596,8 @@ } if (roleType == 2){ // 校验有没有这个站点的权限 - Boolean t1= partnerClient.getChargingBillMenu(sysUser.getObjectId(),chargingBillListVO.getSiteId()).getData(); - chargingBillListVO.setAuthDownLoad(t1); - + List<Boolean> t1= partnerClient.getChargingBillMenu(sysUser.getObjectId(),chargingBillListVO.getSiteId()).getData(); + chargingBillListVO.setAuthDownLoad(t1.get(0)); if (chargingBillListVO.getSiteId()==0){ continue; } @@ -598,20 +628,16 @@ chargingBillListVO.setUid(chargingBillListVO.getId().toString()); // 根据账单的出账时间 查询上个月的充电订单 -// LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); - // todo 临时修改为查询昨天的充电订单 - LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); + LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); +// LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); // 账单周期 chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM"))); // 获取 LocalDate 对象 LocalDate date = localDate.toLocalDate(); // // 获取该月份的第一天 -// LocalDate firstDayOfMonth = date.withDayOfMonth(1); -// // 获取该月份的最后一天 -// LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); - // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59 - LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN); - LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX); + LocalDate firstDayOfMonth = date.withDayOfMonth(1); + // 获取该月份的最后一天 + LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>() .between("create_time", firstDayOfMonth, lastDayOfMonth) .eq("status", 5) @@ -811,20 +837,18 @@ chargingBillListVO.setUid(chargingBillListVO.getId().toString()); // 根据账单的出账时间 查询上个月的充电订单 -// LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); - // todo 临时修改为查询昨天的充电订单 - LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); + LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1); +// LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1); // 账单周期 chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM"))); // 获取 LocalDate 对象 LocalDate date = localDate.toLocalDate(); // // 获取该月份的第一天 -// LocalDate firstDayOfMonth = date.withDayOfMonth(1); -// // 获取该月份的最后一天 -// LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); - // todo 临时修改为查询昨天凌晨00:00:00 到 23:59:59 - LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN); - LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX); + LocalDate firstDayOfMonth = date.withDayOfMonth(1); + // 获取该月份的最后一天 + LocalDate lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth()); +// LocalDateTime firstDayOfMonth = LocalDateTime.of(date, LocalTime.MIN); +// LocalDateTime lastDayOfMonth = LocalDateTime.of(date, LocalTime.MAX); QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>() .between("create_time", firstDayOfMonth, lastDayOfMonth) .eq("status", 5) -- Gitblit v1.7.1