From af68ac0a16d176674e38920db4a11ddf36b2c4fd Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期日, 27 十月 2024 20:46:21 +0800
Subject: [PATCH] bug修改
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 125 +++++++++++++++++++++++++++++++++++------
1 files changed, 105 insertions(+), 20 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 401f10d..1a968ba 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 用户后台结束充电
@@ -282,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);
}
@@ -333,12 +351,12 @@
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());
}
}
// 时段总服务费
@@ -635,10 +653,36 @@
}
LocalDate sixBefore = PreviousSixMonths.get();
//通过siteIds进行sql查询统计
+ List<SixChargingDto> sixChargingDtos = generateLastSixMonths();
List<SixChargingDto> chargingDtos = chargingOrderService.charge(sixBefore, siteIds);
+ for (SixChargingDto sixChargingDto : sixChargingDtos) {
+ for (SixChargingDto chargingDto : chargingDtos) {
+ if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
+ BeanUtils.copyProperties(chargingDto,sixChargingDto);
+ }
+ }
- return R.ok(chargingDtos);
+ }
+ return R.ok(sixChargingDtos);
+
+ }
+
+
+ public static List<SixChargingDto> generateLastSixMonths() {
+ LocalDate today = LocalDate.now();
+ List<SixChargingDto> months = new ArrayList<>();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM");
+
+ for (int i = 5; i >= 0; i--) {
+ LocalDate date = today.minusMonths(i);
+ String month = date.format(formatter);
+ SixChargingDto sixChargingDto = new SixChargingDto();
+ sixChargingDto.setMonth(month);
+ months.add(sixChargingDto);
+ }
+
+ return months;
}
@ResponseBody
@@ -672,7 +716,33 @@
//count近6个月的数据
LocalDate sixBefore = PreviousSixMonths.get();
List<SixShopDto> sixShopDtos = shoppingOrderService.sixBefore(sixBefore,status);
- return R.ok(sixShopDtos);
+ List<SixShopDto> sixChargingDtos = generateLastSixMonths1();
+ for (SixShopDto sixChargingDto : sixChargingDtos) {
+ for (SixShopDto chargingDto : sixShopDtos) {
+ if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
+ BeanUtils.copyProperties(chargingDto,sixChargingDto);
+ }
+ }
+
+ }
+
+ return R.ok(sixChargingDtos);
+ }
+
+ public static List<SixShopDto> generateLastSixMonths1() {
+ LocalDate today = LocalDate.now();
+ List<SixShopDto> months = new ArrayList<>();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM");
+
+ for (int i = 5; i >= 0; i--) {
+ LocalDate date = today.minusMonths(i);
+ String month = date.format(formatter);
+ SixShopDto sixChargingDto = new SixShopDto();
+ sixChargingDto.setMonth(month);
+ months.add(sixChargingDto);
+ }
+
+ return months;
}
@ResponseBody
@@ -738,16 +808,23 @@
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);
+
+ dtos.add(dataDto);
+ }else {
+ continue;
}
- dtos.add(dataDto);
}
@@ -811,7 +888,6 @@
LocalDate mondayThisWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
start = statisticsQueryDto.getStartTime();
end = statisticsQueryDto.getEndTime();
-
System.out.println("本周一是: " + mondayThisWeek);
}
else if (statisticsQueryDto.getDayType()==3){
@@ -837,7 +913,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);
//上方饼图
@@ -1012,6 +1088,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();
@@ -1051,11 +1132,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);
@@ -1362,8 +1446,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