From ef42cacddb804ed978b26ea3025596dee88b2a12 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 26 十月 2024 10:17:02 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 120 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 87 insertions(+), 33 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 429e443..f8ff260 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 @@ -92,7 +92,8 @@ private TokenService tokenService; @Autowired private TOrderEvaluateService orderEvaluateService; - + @Autowired + private TGrantVipService tGrantVipService; @Resource private WxPaymentClient wxPaymentClient; @@ -133,6 +134,15 @@ @Resource private TOrderInvoiceService invoiceService; + /** + * 远程调用 增加管理后台赠送会员记录 + * @return + */ + @ResponseBody + @PostMapping(value = "/management/give/vip") + public R managementGiveVip(@RequestBody TGrantVip grantVip) { + return R.ok(tGrantVipService.save(grantVip)); + } /** * 远程调用根据枪id 查询最新的订单id 用户后台结束充电 @@ -248,7 +258,7 @@ @ResponseBody @GetMapping(value = "/pay/order/charging") @ApiOperation(value = "充电信息", tags = {"管理后台-支付订单-订单信息"}) - public R refundDetail(Long orderId) { + public R<PayOrderChargingInfo> refundDetail(Long orderId) { PayOrderChargingInfo payOrderChargingInfo = new PayOrderChargingInfo(); TChargingOrder byId = chargingOrderService.getById(orderId); List<Site> data = siteClient.getSiteByIds(Collections.singletonList(byId.getSiteId())).getData(); @@ -261,7 +271,20 @@ List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData(); payOrderChargingInfo.setCarNum(data3.get(0).getLicensePlate()); } - return R.ok(); + payOrderChargingInfo.setTChargingOrder(byId); + + Long count = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, orderId).count(); + payOrderChargingInfo.setPeriodCount(count); + if (byId.getAppUserCarId()!=null) { + List<Long> carid = new ArrayList<>(); + carid.add(byId.getAppUserCarId()); + R<List<TAppUserCar>> carByIds = appUserCarClient.getCarByIds(carid); + payOrderChargingInfo.setCarNum(carByIds.getData().get(0).getLicensePlate()); + } + payOrderChargingInfo.setStartTime(byId.getStartTime()); + payOrderChargingInfo.setEndTime(byId.getEndTime()); + payOrderChargingInfo.setTimeCount(payOrderChargingInfo.calculateDuration()); + return R.ok(payOrderChargingInfo); } @ResponseBody @@ -269,6 +292,14 @@ @ApiOperation(value = "充电明细", tags = {"管理后台-支付订单-订单信息"}) public R<List<TChargingOrderAccountingStrategy>> chargingDetail(Long orderId) { List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, orderId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) { + String format = tChargingOrderAccountingStrategy.getCreateTime().format(formatter); + tChargingOrderAccountingStrategy.setStartTime(format+" "+tChargingOrderAccountingStrategy.getStartTime()); + tChargingOrderAccountingStrategy.setEndTime(format+" "+tChargingOrderAccountingStrategy.getEndTime()); + } + + return R.ok(list); } @@ -315,32 +346,36 @@ TChargingOrder byId = chargingOrderService.getById(strategyId); ChargingOrderInfoVO chargingOrderInfoVO = new ChargingOrderInfoVO(); - chargingOrderInfoVO.setCdElectronic(byId.getCurrent()!=null?byId.getCurrent()+"":""); - chargingOrderInfoVO.setCdVoltage(byId.getVoltage()!=null?byId.getVoltage()+"":""); - chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity()+"":""); - chargingOrderInfoVO.setTotalPower(byId.getPower()!=null?byId.getPower()+"":""); + chargingOrderInfoVO.setCdElectronic(byId.getCurrent()!=null?byId.getCurrent().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); + chargingOrderInfoVO.setCdVoltage(byId.getVoltage()!=null?byId.getVoltage().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); + chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); + chargingOrderInfoVO.setTotalPower(byId.getPower()!=null?byId.getPower().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); if (byId.getAppUserCarId()!=null){ - List<TAppUserCar> data = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData(); - if (!data.isEmpty()){ - chargingOrderInfoVO.setLicensePlate(data.get(0).getLicensePlate()); - chargingOrderInfoVO.setVehicleBrand(data.get(0).getVehicleBrand()); - chargingOrderInfoVO.setVehicleModel(data.get(0).getVehicleModel()); - chargingOrderInfoVO.setVehicleUse(data.get(0).getVehicleUse()); + TAppUserCar data = appUserCarClient.getCarById(byId.getAppUserCarId()+"").getData(); + if (data!=null){ + chargingOrderInfoVO.setLicensePlate(data.getLicensePlate()); + chargingOrderInfoVO.setVehicleBrand(data.getVehicleBrand()); + chargingOrderInfoVO.setVehicleModel(data.getVehicleModel()); + chargingOrderInfoVO.setVehicleUse(data.getVehicleUse()); } } // 时段总服务费 BigDecimal bigDecimal = new BigDecimal("0"); List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list(); + for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) { + if (byId.getVipDiscountAmount()!=null){ + BigDecimal multiply = byId.getVipDiscountAmount().divide(byId.getServiceCharge(), 2) + .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()); + tChargingOrderAccountingStrategy.setVipDiscount(multiply); + } bigDecimal = bigDecimal.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()); - tChargingOrderAccountingStrategy.setVipDiscount( - tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice() - .subtract(tChargingOrderAccountingStrategy.getPeriodServicePrice()) - ); - tChargingOrderAccountingStrategy.setCouponDiscount( - tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice() - .subtract(tChargingOrderAccountingStrategy.getPeriodServicePrice()) - ); + + if (byId.getCouponDiscountAmount()!=null){ + BigDecimal multiply = byId.getCouponDiscountAmount().divide(byId.getServiceCharge(), 2) + .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()); + tChargingOrderAccountingStrategy.setCouponDiscount(multiply); + } } chargingOrderInfoVO.setList(list); return AjaxResult.success(chargingOrderInfoVO); @@ -769,22 +804,32 @@ // } // Set<String> strings = map.keySet(); - + mongoChargingOrderQuery.setPageSize(2); List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData(); List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>(); + Map<String,ChargingOrderVO> map = new HashMap<>(); for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) { ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto(); - BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); ChargingOrderQuery dto = new ChargingOrderQuery(); + dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number()); TCharingOrderVO vo = chargingOrderService.chargingOrder(dto); - ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0); - if (chargingOrderVO!=null) { - BeanUtils.copyProperties(chargingOrderVO, dataDto); + if (!vo.getList().getRecords().isEmpty()) { + ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0); + if (chargingOrderVO != null) { + BeanUtils.copyProperties(chargingOrderVO, dataDto); + } + BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); + dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); + dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime()==null?null:uploadRealTimeMonitoringData.getEndTime()); + dtos.add(dataDto); + }else { + continue; } - dtos.add(dataDto); } - + for (int i = 0; i < dtos.size(); i++) { + dtos.get(i).setIndex(i); + } return R.ok(dtos); } @@ -871,7 +916,7 @@ start = statisticsQueryDto.getStartTime(); end = statisticsQueryDto.getEndTime(); } - List<TChargingOrder> list = chargingOrderService.lambdaQuery().ge(TChargingOrder::getStartTime, start).le(TChargingOrder::getEndTime, end).in(TChargingOrder::getSiteId, siteIds).list(); + List<TChargingOrder> list = chargingOrderService.lambdaQuery().ge(TChargingOrder::getCreateTime, start).le(TChargingOrder::getCreateTime, end).in(TChargingOrder::getSiteId, siteIds).list(); List<Long> chargingOrderIds = list.stream().map(TChargingOrder::getId).collect(Collectors.toList()); chargingOrderIds.add(-1L); //上方饼图 @@ -1046,6 +1091,11 @@ //用户标签 List<Map<String,Object>> maps = chargingOrderService.getUserTagCount(); + Map<String,Object> stringObjectMap = new HashMap<>(); + Long noTagCount = chargingOrderService.countNoTag(); + stringObjectMap.put("count",noTagCount); + maps.add(stringObjectMap); + //会员标签 List<Map<String,Object>> maps1 = chargingOrderService.getVipCount(); @@ -1085,11 +1135,14 @@ siteIds.add(statisticsQueryDto.getSiteId()); } //查询评价分 - Long aver = chargingOrderService.getAver(siteIds); + Double aver = chargingOrderService.getAver(siteIds); //查询各个分数 List<Map<String,Object>> evaluate = chargingOrderService.getLevelEvaluate(siteIds); //查询差评回复数 - Long count = orderEvaluateService.lambdaQuery().isNotNull(TOrderEvaluate::getResponseTime).count(); + List<Integer> mark = new ArrayList<>(); + mark.add(1); + mark.add(2); + Long count = orderEvaluateService.lambdaQuery().in(TOrderEvaluate::getMark, mark).isNotNull(TOrderEvaluate::getResponseTime).count(); TCharingUserEvaluateVO tCharingUserEvaluateVO = new TCharingUserEvaluateVO(); tCharingUserEvaluateVO.setAver(aver); tCharingUserEvaluateVO.setEvaluate(evaluate); @@ -1396,8 +1449,9 @@ //将capMap的chargingCapacity除以totalRatedPower保留两位数 capMap.forEach(map -> { BigDecimal chargingCapacity = (BigDecimal) map.get("chargingCapacity"); - BigDecimal result = chargingCapacity.divide(totalRatedPower, 2, RoundingMode.HALF_UP); - map.put("chargingCapacity", result); + BigDecimal result = chargingCapacity.divide(totalRatedPower, 4, RoundingMode.HALF_UP); + BigDecimal multiply = result.multiply(new BigDecimal(100)); + map.put("chargingCapacity", multiply); }); -- Gitblit v1.7.1