From ae76f22f897cfd438b30829326b6ad36a80eaac0 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 21 二月 2025 18:23:13 +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 | 158 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 121 insertions(+), 37 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 cd0f8ee..2194538 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 @@ -1,4 +1,5 @@ package com.ruoyi.order.controller; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import java.math.BigDecimal; @@ -209,16 +210,19 @@ if (siteIds.isEmpty()){ siteIds.add(-1); } - + List<TChargingOrder> list = chargingOrderService.list(); + List<TParkingRecord> parkingRecord = parkingLotClient.getSiteIdAll().getData(); for (PayOrderDto record : data.getRecords()) { if (record.getType() == 1){ - TChargingOrder byId = chargingOrderService.getById(record.getId()); - record.setSiteId(byId.getSiteId()); + TChargingOrder chargingOrder = list.stream().filter(e -> e.getId().equals(Long.valueOf(record.getId()))).findFirst().orElse(null); + if (chargingOrder!=null){ + record.setSiteId(chargingOrder.getSiteId()); + } } if (record.getType()==4){ - Integer siteId=parkingLotClient.getSiteIdByOrderId(Long.valueOf(record.getId())).getData(); - if (siteId!=null){ - record.setSiteId(siteId); + TParkingRecord tParkingRecord = parkingRecord.stream().filter(e -> e.getId().equals(Long.valueOf(record.getId()))).findFirst().orElse(null); + if (tParkingRecord!=null){ + record.setSiteId(tParkingRecord.getSiteId()); } } if (roleType==1||(record.getType()!=1&&record.getType()!=4)){ @@ -235,6 +239,9 @@ data.setRecords(res1); return R.ok(data); } + + + public static List<PayOrderDto> testing5(long total, long current, long size, List<PayOrderDto> str){ List<PayOrderDto> result = new ArrayList<>(); //获取初始化分页结构 @@ -256,6 +263,9 @@ } return result; } + + + @ResponseBody @PostMapping(value = "/pay/order/refund") @ApiOperation(value = "退款", tags = {"管理后台-支付订单-订单信息"}) @@ -326,6 +336,10 @@ return R.ok(); } + + + + @ResponseBody @GetMapping(value = "/pay/order/refund/detail") @ApiOperation(value = "退款信息", tags = {"管理后台-支付订单-订单信息"}) @@ -361,6 +375,8 @@ if (byId.getAppUserCarId()!=null) { List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData(); payOrderChargingInfo.setCarNum(data3.get(0).getLicensePlate()); + }else{ + payOrderChargingInfo.setCarNum(byId.getPlateNum()); } payOrderChargingInfo.setTChargingOrder(byId); @@ -371,6 +387,8 @@ carid.add(byId.getAppUserCarId()); R<List<TAppUserCar>> carByIds = appUserCarClient.getCarByIds(carid); payOrderChargingInfo.setCarNum(carByIds.getData().get(0).getLicensePlate()); + }else{ + payOrderChargingInfo.setCarNum(byId.getPlateNum()); } payOrderChargingInfo.setStartTime(byId.getStartTime()); payOrderChargingInfo.setEndTime(byId.getEndTime()); @@ -471,6 +489,10 @@ } return result; } + + + + @ResponseBody @PostMapping(value = "/pay/order/refund/list1") @ApiOperation(value = "列表1", tags = {"管理后台-支付订单-退款订单"}) @@ -515,6 +537,8 @@ chargingOrderInfoVO.setVehicleModel(data.getVehicleModel()); chargingOrderInfoVO.setVehicleUse(data.getVehicleUse()); } + }else{ + chargingOrderInfoVO.setLicensePlate(byId.getPlateNum()); } // 时段总服务费 List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list(); @@ -579,6 +603,8 @@ .between(TChargingOrder::getStartTime, req.getStartTime(), req.getEndTime())).size(); return R.ok(size); } + + //用户订单数量 @PostMapping(value = "/useOrderCount") public R<Long> useOrderCount(@RequestParam("userId") Long userId) { @@ -587,11 +613,15 @@ return R.ok(count); } + + //订单详情 @PostMapping(value = "/detail") public R<TChargingOrder> detail(@RequestParam("orderId") Long orderId) { return R.ok(chargingOrderService.getById(orderId)); } + + @PostMapping(value = "/getList") public R<List<TChargingOrder>> getList(@RequestParam("siteId") Integer siteId) { @@ -600,14 +630,16 @@ return R.ok(list); } + + @PostMapping(value = "/getBySiteIdAndTime") public R<List<ChargingOrderGroup>> getBySiteIdAndTime(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto) { List<ChargingOrderGroup> groups = chargingOrderService.chargingOrderGroup(chargingPercentProvinceDto); return R.ok(groups); } - - + + /** * 根据站点id和时间区间查询订单数据 * @param chargingPercentProvinceDto @@ -625,8 +657,8 @@ .eq(StringUtils.isNotEmpty(tripartitePlatformName), TChargingOrder::getTripartitePlatformName, tripartitePlatformName)); return R.ok(list); } - - + + /** * 根据充电枪id获取正在进行中的订单 @@ -732,6 +764,18 @@ /** + * + * @param code + */ + @ResponseBody + @PostMapping(value = "/refund") + public R refund(@RequestParam(value = "code") String code){ + chargingOrderService.refund(code); + return R.ok(); + } + + + /** * 远程启动失败后退款回调 */ @ResponseBody @@ -800,17 +844,11 @@ * @param vo */ @PostMapping("/endChargeBillingCharge") - public void endChargeBillingCharge(@RequestBody TransactionRecordMessageVO vo){ + public R endChargeBillingCharge(@RequestBody TransactionRecordMessageVO vo){ log.info("-------------------停止充电返回账单后计算费用及修改业务状态-------------------:" + vo); - chargingOrderService.endChargeBillingCharge(vo); + return chargingOrderService.endChargeBillingCharge(vo); } - - -// @PostMapping("/endChargeBillingCharge1") -// public void endChargeBillingCharge1(@RequestBody TransactionRecordMessageVO vo){ -// log.info("-------------------停止充电返回账单后计算费用及修改业务状态-------------------:" + vo); -// chargingOrderService.endChargeBillingCharge1(vo); -// } + @@ -1755,11 +1793,9 @@ LocalDateTime min = selectDate.with(LocalTime.MIN); LocalDateTime max = selectDate.with(LocalTime.MAX); - - - - - List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(TChargingOrder::getStatus,5).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list(); + List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds) + .ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(TChargingOrder::getStatus,5) + .eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list(); //当日的订单总数 int size = list.size(); //计算list中paymentAmount的总和 @@ -1798,7 +1834,7 @@ siteIds.add(statisticsQueryDto.getSiteId()); } if (statisticsQueryDto.getDayType()==1) { - List<Map<String,Object>> charMap1 = chargingOrderService.getHourType(siteIds,statisticsQueryDto); + List<Map<String,Object>> charMap1 = chargingOrderService.getHourType(siteIds,statisticsQueryDto); List<Map<String, Object>> charMap = new ArrayList<>(); // 生成从 "00:00" 到 "23:00" 的时间数据 for (int hour = 0; hour < 24; hour++) { @@ -1925,10 +1961,11 @@ } List<Map<String,Object>> capMap = chargingOrderService.getchargingCapacity(siteIds,statisticsQueryDto); List<TChargingPile> chargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData(); - BigDecimal totalRatedPower = chargingPiles.stream().map(TChargingPile::getRatedPower).reduce(BigDecimal.ZERO, BigDecimal::add).multiply(new BigDecimal(chargingPiles.size())).multiply(new BigDecimal(24)); + BigDecimal totalRatedPower = chargingPiles.stream().map(TChargingPile::getRatedPower).reduce(BigDecimal.ZERO, BigDecimal::add); - //每日利用率=当日充电度数/(总桩数量*桩总功率*24小时) - BigDecimal multiply1 = new BigDecimal(chargingPiles.size()).multiply(totalRatedPower).multiply(new BigDecimal(24)); + //每日利用率=当日充电度数/(桩总功率*24小时) + BigDecimal multiply1 = totalRatedPower.multiply(new BigDecimal(24)); + System.err.println(JSON.toJSONString(capMap) + "---" + chargingPiles.size() + "---" + totalRatedPower + "---" + multiply1); capMap.forEach(map -> { BigDecimal chargingCapacity = (BigDecimal) map.get("chargingCapacity"); BigDecimal result = chargingCapacity.divide(multiply1, 4, RoundingMode.HALF_UP); @@ -2010,7 +2047,8 @@ List<Integer> gunIds = list.stream().map(TChargingOrder::getChargingGunId).collect(Collectors.toList()); return R.ok(gunIds); } - + + /** @@ -2022,6 +2060,8 @@ log.info(code + ":-------------------充电桩自动结束充电-------------------"); chargingOrderService.endCharge(code, 2); } + + /** * 硬件异常结束充电后的处理逻辑 @@ -2044,6 +2084,8 @@ TChargingOrder chargingOrder = chargingOrderService.getChargingOrderByLicensePlate(query); return R.ok(chargingOrder); } + + /** * 修改充电订单 * @param chargingOrder @@ -2094,7 +2136,23 @@ return R.ok(list); } - + + /** + * 根据车牌号查询指定时间范围内的数据 + * @param plateNum + * @param startTime + * @param endTime + * @return + */ + @PostMapping("/getCarChargingOrderByPlateNum") + public R<List<TChargingOrder>> getCarChargingOrderByPlateNum(@RequestParam("plateNum") String plateNum, @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime){ + List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getPlateNum, plateNum).eq(TChargingOrder::getDelFlag, 0) + .in(TChargingOrder::getStatus, Arrays.asList(4, 5)).between(TChargingOrder::getStartTime, startTime, endTime)); + return R.ok(list); + } + + /** * 添加三方平台充电订单数据 * @return @@ -2103,11 +2161,11 @@ public R addTripartitePlatformOrder(@RequestBody AddTripartitePlatformOrder query){ return chargingOrderService.addTripartitePlatformOrder(query); } - - - - - + + + + + /** * 根据三方平台订单id获取充电数据 * @param startChargeSeq @@ -2118,8 +2176,22 @@ TChargingOrder chargingOrder = chargingOrderService.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getStartChargeSeq, startChargeSeq)); return R.ok(chargingOrder); } - - + + + + + /** + * 根据三方平台订单ids获取充电数据 + * @param startChargeSeqs + * @return + */ + @PostMapping("/getChargingOrderByStartChargeSeqs") + public R<List<TChargingOrder>> getChargingOrderByStartChargeSeqs(@RequestParam("startChargeSeqs") List<String> startChargeSeqs){ + List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>().in(TChargingOrder::getStartChargeSeq, startChargeSeqs)); + return R.ok(list); + } + + /** * 三方平台请求停止充电 * @param startChargeSeq @@ -2129,4 +2201,16 @@ public R tripartitePlatformStopCharge(@RequestParam("startChargeSeq") String startChargeSeq){ return chargingOrderService.tripartitePlatformStopCharge(startChargeSeq); } + + + /** + * 临时接口 + * 获取充电后没有扣除费用的数据 + * @return + */ + @GetMapping("/getNotPaymentChargingOrder") + public R getNotPaymentChargingOrder(){ + return chargingOrderService.getNotPaymentChargingOrder(); + } + } -- Gitblit v1.7.1