From 954cb72e6d5e7a082f4f0a8940fa8f42f01a7d76 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 21 三月 2025 15:35:45 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 116 +++++++++++++++++++++++++++------------------------------- 1 files changed, 54 insertions(+), 62 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java index a5562a3..b980704 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java @@ -54,6 +54,7 @@ import com.ruoyi.order.service.*; import com.ruoyi.order.util.PreviousSixMonths; import com.ruoyi.order.vo.EndOfChargePageInfo; +import com.ruoyi.order.vo.WatchChargingOrderVo; import com.ruoyi.other.api.feignClient.RoleSiteClient; import com.ruoyi.other.api.feignClient.UserSiteClient; import com.ruoyi.payment.api.feignClient.AliPaymentClient; @@ -63,14 +64,11 @@ import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.feignClient.SysUserRoleClient; import com.ruoyi.system.api.model.SysUserRoleVo; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -1111,9 +1109,9 @@ BigDecimal periodElectricPrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal periodServicePrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); totalElectrovalence = totalElectrovalence.add(periodElectricPrice); - commissionAmount = commissionAmount.add(order.getRechargeAmount().multiply(new BigDecimal("0.006"))); if(2 != order.getOrderSource()){ totalServiceCharge = totalServiceCharge.add(periodServicePrice); + commissionAmount = commissionAmount.add((periodElectricPrice.add(periodServicePrice)).multiply(new BigDecimal("0.006"))); }else{ totalServiceCharge = totalServiceCharge.add(periodServicePrice.multiply(new BigDecimal("0.8"))); sharingAmount = sharingAmount.add(periodServicePrice.multiply(new BigDecimal("0.2"))); @@ -1131,7 +1129,7 @@ @ResponseBody @PostMapping(value = "/watch/chargingOrder") @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"}) - public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) { + public R watchChargingOrder(@RequestBody MongoChargingOrderQuery query) { Set<Integer> ids = null; //校验合作商权限 SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); @@ -1152,66 +1150,60 @@ data.addAll(data1); } ids = new HashSet<>(data); - }else{ - ids = new HashSet<>(); - ids.add(-1); } } - mongoChargingOrderQuery.setSiteIds(ids); - mongoChargingOrderQuery.setPageSize(10); - R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery); - UploadRealTimeMonitoringPageData data1 = all.getData(); - - List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>(); - Map<String,ChargingOrderVO> map = new HashMap<>(); - - for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1.getRecords()) { - if (roleType==2){ - List<Boolean> data = partnerClient.watchChargingOrder(sysUser.getObjectId(), uploadRealTimeMonitoringData.getSiteId()).getData(); - uploadRealTimeMonitoringData.setAuthInfo(data.get(0)); - uploadRealTimeMonitoringData.setAuthDelete(data.get(1)); - } - ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto(); - ChargingOrderQuery dto = new ChargingOrderQuery(); - dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number()); - - if (map.get(uploadRealTimeMonitoringData.getTransaction_serial_number())==null) { - TCharingOrderVO vo = chargingOrderService.chargingOrder(dto); - map.put(uploadRealTimeMonitoringData.getTransaction_serial_number(),vo.getList().getRecords().get(0)); - if (!vo.getList().getRecords().isEmpty()) { - ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0); - if (chargingOrderVO != null) { - BeanUtils.copyProperties(chargingOrderVO, dataDto); - } - - BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto); - if (chargingOrderVO != null && chargingOrderVO.getOrderSource()==2){ - dataDto.setPeriod_service_price(uploadRealTimeMonitoringData.getPeriod_service_price().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_DOWN))); - } - dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); - dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime()); - dataDto.setStatus(uploadRealTimeMonitoringData.getStatus()); - dtos.add(dataDto); - } - }else { - ChargingOrderVO vo = map.get(uploadRealTimeMonitoringData.getTransaction_serial_number()); - BeanUtils.copyProperties(vo, dataDto); - BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto); - dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); - dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime()); - dataDto.setStatus(uploadRealTimeMonitoringData.getStatus()); - dtos.add(dataDto); - } + + LambdaQueryWrapper<TChargingOrder> queryWrapper = new LambdaQueryWrapper<TChargingOrder>().like(StringUtils.isNotEmpty(query.getCode()), TChargingOrder::getCode, query.getCode()) + .eq(null != query.getOrderType(), TChargingOrder::getOrderType, query.getOrderType()) + .eq(null != query.getSiteId(), TChargingOrder::getSiteId, query.getSiteId()) + .eq(null != query.getPileId(), TChargingOrder::getChargingPileId, query.getPileId()) + .eq(null != query.getGunId(), TChargingOrder::getChargingGunId, query.getGunId()) + .eq(null != query.getStatus(), TChargingOrder::getStatus, query.getStatus()) + .eq(TChargingOrder::getDelFlag, 0).eq(TChargingOrder::getRechargePaymentStatus, 2) + .in(null != ids && ids.size() > 0, TChargingOrder::getSiteId, ids); + if(StringUtils.isNotEmpty(query.getCreateTime())){ + String[] split = query.getCreateTime().split(" - "); + queryWrapper.between(TChargingOrder::getStartTime, split[0], split[1]); } - for (int i = 0; i < dtos.size(); i++) { - dtos.get(i).setIndex(i); + if(StringUtils.isNotEmpty(query.getLastTime())){ + String[] split = query.getLastTime().split(" - "); + queryWrapper.between(TChargingOrder::getEndTime, split[0], split[1]); } - - PageChargingOrderAndUploadRealTimeMonitoringDataDto page = new PageChargingOrderAndUploadRealTimeMonitoringDataDto(); - page.setTotal(data1.getCount()); - page.setRecords(dtos); - - return R.ok(page); + PageInfo<TChargingOrder> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize()); + PageInfo<TChargingOrder> orderPageInfo = chargingOrderService.page(pageInfo, queryWrapper.orderByDesc(TChargingOrder::getCreateTime)); + List<Site> siteList = siteClient.getSiteAll().getData(); + + List<WatchChargingOrderVo> list = new ArrayList<>(); + for (TChargingOrder record : orderPageInfo.getRecords()) { + WatchChargingOrderVo vo = new WatchChargingOrderVo(); + BeanUtils.copyProperties(record, vo); + vo.setIdStr(record.getId().toString()); + Site site = siteList.stream().filter(s->s.getId().equals(record.getSiteId())).findFirst().get(); + vo.setSiteName(site.getName()); + TChargingPile chargingPile = chargingPileClient.getChargingPileById(record.getChargingPileId()).getData(); + vo.setTerminalName(chargingPile.getName()); + TChargingGun chargingGun = chargingGunClient.getChargingGunById(record.getChargingGunId()).getData(); + vo.setTerminalCode(chargingGun.getName()); + + if(null != record.getStartTime() && null != record.getEndTime()){ + long time = record.getEndTime().toEpochSecond(ZoneOffset.UTC) - record.getStartTime().toEpochSecond(ZoneOffset.UTC); + vo.setChargingTime(time + ""); + } + long count = chargingOrderAccountingStrategyService.count(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, record.getId())); + vo.setTimeFrame(count); + + vo.setAuthInfo(roleType == 1 ? true : partnerClient.authMenu(objectId, record.getSiteId(), SiteMenu.CHARGING_PILE_ORDER_MONITORING_RECORD_INFO.getValue())); + vo.setAuthDelete(roleType == 1 ? true : partnerClient.authMenu(objectId, record.getSiteId(), SiteMenu.CHARGING_PILE_ORDER_MONITORING_RECORD_DEL.getValue())); + list.add(vo); + } + PageInfo<WatchChargingOrderVo> pageInfos = new PageInfo<>(query.getPageCurr(), query.getPageSize()); + pageInfos.setRecords(list); + pageInfos.setCurrent(pageInfo.getCurrent()); + pageInfos.setPages(pageInfo.getPages()); + pageInfos.setSize(pageInfo.getSize()); + pageInfos.setStartIndex(pageInfo.getStartIndex()); + pageInfos.setTotal(pageInfo.getTotal()); + return R.ok(pageInfos); } -- Gitblit v1.7.1