From aaa488702e4acc9b9d76f53354a71654c5b543c1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 11 十月 2024 14:55:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java                                                  |    2 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java                           |   21 +++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java                                    |   12 ++--
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java           |    4 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml                                               |    4 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java                                |    3 -
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java               |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml                                      |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java                             |    4 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java                        |   39 ++++++++++++-
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java                           |    4 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java                 |    4 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                          |   28 ++++++---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java            |   14 ++--
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java             |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                            |   10 +-
 18 files changed, 113 insertions(+), 50 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
index 07c35bf..f46fc43 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
@@ -64,18 +64,15 @@
 
     @ApiModelProperty(value = "会员开始时间")
     @TableField("start_time")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     @ApiModelProperty(value = "会员结束时间")
     @TableField("end_time")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     @TableField("create_time")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java
index 5e1f33d..8c535c0 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 /**
  * @author zhibing.pu
  * @Date 2024/8/8 9:29
@@ -31,6 +33,10 @@
 	private String address;
 	@ApiModelProperty(value = "站点电话")
 	private String phone;
+	@ApiModelProperty(value = "lon")
+	private String lon;
+	@ApiModelProperty(value = "lat")
+	private String lat;
 	@ApiModelProperty(value = "服务电话")
 	private String servicePhone;
 	@ApiModelProperty(value = "车位数")
@@ -53,4 +59,19 @@
 	private boolean authUpdate = true;
 	@ApiModelProperty(value = "删除权限")
 	private boolean authDelete = true;
+	@ApiModelProperty("超1")
+	private Long c1;
+	@ApiModelProperty("超2")
+	private Long c2;
+	@ApiModelProperty("快1")
+	private Long k1;
+	@ApiModelProperty("快2")
+	private Long k2;
+	@ApiModelProperty("慢1")
+	private Long m1;
+	@ApiModelProperty("慢2")
+	private Long m2;
+
+	@ApiModelProperty("利用率")
+	private BigDecimal p1;
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
index be2a555..c190e8a 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
@@ -26,10 +26,10 @@
     private BigDecimal bms_current_measurement_value; // BMS 充电电流测量值
     private Integer bms_battery_voltage_and_group_number; // BMS 最高单体动力蓄电池电压及组号(1-12 位:最高单体动力蓄电池电压,数据分辨率:0.01 V/位,0 V 偏移量;数据范围:0~24 V;13-16 位:最高单体动力蓄电池电压所在组号,数据分辨率:1/位,0 偏移量;数据范围:0~15)
     private BigDecimal bms_charged_status; // BMS 当前荷电状态 SOC( %)
-    private Integer bms_remaining_charging_time; // BMS 估算剩余充电时间
+    private BigDecimal bms_remaining_charging_time; // BMS 估算剩余充电时间
     private BigDecimal voltage_output_value; // 电桩电压输出值
     private BigDecimal current_output_value; // 电桩电流输出值
-    private Integer cumulative_charging_time; // 累计充电时间
+    private BigDecimal cumulative_charging_time; // 累计充电时间
 
 
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
index ef62154..fbc1221 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
@@ -21,9 +21,9 @@
     private String charging_gun_code; // 抢号
     private Integer bms_highest_voltage_number; // BMS 最高单体动力蓄电池电压所在编号
     private String bms_maximum_battery_temperature; // BMS 最高动力蓄电池温度
-    private Integer maximum_temperature_detection_point_number; // 最高温度检测点编号
+    private String maximum_temperature_detection_point_number; // 最高温度检测点编号
     private String minimum_cell_temperature; // 最低动力蓄电池温度
-    private Integer lowest_temperature_detection_pointt_number; // 最低动力蓄电池温度检测点编号
+    private String lowest_temperature_detection_pointt_number; // 最低动力蓄电池温度检测点编号
     private Integer bms_battery_voltage; // BMS 单体动力蓄电池电压过高 /过低(0:正常,1:过高,10:过低)
     private Integer bms_battery_charging_status; // BMS 整车动力蓄电池荷电状态SOC 过高/过低(0:正常,1:过高,10:过低)
     private Integer bms_charging_overcurrent; // BMS 动力蓄电池充电过电流(0:正常,1:过流,10:不可信状态)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 2d16d90..839c11a 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -849,7 +849,7 @@
         boolean doubleVip = false;
         if (one!=null){
             TVip tVip = JSONObject.parseObject(one.getVipJson(), TVip.class);
-            if (tVip.getDoubleIntegration()==1){
+            if (tVip.getDoubleIntegration()!=null&&tVip.getDoubleIntegration()==1){
                 doubleVip = true;
             }
         }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 11e7230..cf9bb95 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -16,7 +16,6 @@
 import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
 import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.GeodesyUtil;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
@@ -178,9 +177,43 @@
 	@GetMapping("/map/getSiteList")
 	@ApiOperation(value = "获取站点", tags = {"管理后台-数据分析-电站分析"})
 	public R<List<GetSiteListDTO>> getMapSiteList(GetSiteList siteList){
+
 		siteList.setPageCurr(1);
-		siteList.setPageCurr(99999);
+		siteList.setPageSize(99999);
 		PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
+		for (GetSiteListDTO record : list.getRecords()) {
+			Long count = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			record.setC1(count);
+			Long count1 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, 2).count();
+			record.setC2(count1);
+			Long count2 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			record.setK1(count2);
+			Long count3 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, 2).count();
+			record.setK2(count3);
+			Long count4 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			record.setM1(count4);
+			Long count5 = chargingGunService.lambdaQuery().eq(TChargingGun::getChargingPileId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, 2).count();
+			record.setM2(count5);
+
+			//利用率
+			BigDecimal bigDecimal = new BigDecimal("0");
+			//获取该站点的总充电度数
+			List<TChargingOrder> chargingOrders = chargingOrderClient.getList(record.getId()).getData();
+			for (TChargingOrder chargingOrder : chargingOrders) {
+				bigDecimal = bigDecimal.add(chargingOrder.getChargingCapacity());
+			}
+			//获取该站点的所有充电桩
+			List<TChargingPile> chargingPiles = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, record.getId()).list();
+			BigDecimal bigDecimal1 = new BigDecimal("0");
+			for (TChargingPile chargingPile : chargingPiles) {
+				bigDecimal1 = bigDecimal1.add(chargingPile.getRatedPower());
+			}
+			BigDecimal multiply = bigDecimal1.multiply(new BigDecimal("24"));
+
+			BigDecimal divide = bigDecimal.divide(multiply, 0, BigDecimal.ROUND_HALF_UP);
+			record.setP1(divide);
+
+		}
 		return R.ok(list.getRecords());
 	}
 
@@ -236,7 +269,7 @@
 		List<GetSiteListDTO> records = siteService.getSiteList(siteList).getRecords();
 		List<Integer> collect = records.stream().map(GetSiteListDTO::getId).collect(Collectors.toList());
 		// 通过时间段获取和充电桩id获取各个充电站的充电订单
-		List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData();
+			List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData();
 		// 计算利用率展示
 		for (ChargingOrderGroup datum : data) {
 			List<TChargingPile> chargingPiles = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, datum.getSiteId()).list();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
index b1be7ba..a85a941 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
@@ -113,7 +113,7 @@
      * @param gunId
      * @return
      */
-    @PostMapping("/t-fault-message/getFaultMessageByGunId/{gunId}")
+    @PostMapping("/getFaultMessageByGunId/{gunId}")
     public R<TFaultMessage> getFaultMessageByGunId(@PathVariable("gunId") Integer gunId){
         return R.ok(faultMessageService.getOne(Wrappers.lambdaQuery(TFaultMessage.class)
                 .eq(TFaultMessage::getChargingGunId,gunId)
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
index a683383..9f87768 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
@@ -64,6 +64,8 @@
 		DATE_FORMAT(a.establishment_time, '%Y-%m-%d %H:%i:%s') as establishmentTime,
 		c.num as chargingPileNumber,
 		a.sort,
+		a.lon,
+		a.lat,
 		a.accounting_strategy_id as accountingStrategyId,
 		if(a.accounting_strategy_id is null, 1, if(d.site_id is null, 1, 2)) as accountingStrategyType
 		from t_site a
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
index 6684de3..5cffb52 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -76,7 +76,6 @@
             case SendTagConstant.ONLINE:
                 OnlineMessage onlineMessage = JSON.parseObject(content.toJSONString(),OnlineMessage.class);
                 chargingMessage.setOnlineMessage(onlineMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 // 业务处理 登录认证应答
                 OnlineReply onlineReply = new OnlineReply();
@@ -89,11 +88,11 @@
                 timingSettingReplyOnline.setCharging_pile_code(onlineMessage.getCharging_pile_code());
                 timingSettingReplyOnline.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReplyOnline));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.PING:
                 PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class);
                 chargingMessage.setPingMessage(pingMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 Pong pong = new Pong();
                 pong.setCharging_pile_code(pingMessage.getCharging_pile_code());
@@ -101,6 +100,7 @@
                 pong.setCharging_gun_status(0);
                 result = iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
                 log.info("充电桩心跳包-返回结果:{}",result);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.END_CHARGE:
                 EndChargeMessage endChargeMessage = JSON.parseObject(content.toJSONString(),EndChargeMessage.class);
@@ -117,7 +117,6 @@
             case SendTagConstant.BILLING_MODE_VERIFY:
                 BillingModeVerifyMessage billingModeVerifyMessage = JSON.parseObject(content.toJSONString(),BillingModeVerifyMessage.class);
                 chargingMessage.setBillingModeVerifyMessage(billingModeVerifyMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 BillingModeVerifyReply billingModeVerifyReply = new BillingModeVerifyReply();
                 if(billingModeVerifyMessage.getBilling_model_code().equals("0")){
@@ -141,11 +140,11 @@
                     }
                 }
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.ACQUISITION_BILLING_MODE:
                 AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class);
                 chargingMessage.setAcquisitionBillingModeMessage(acquisitionBillingModeMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件   计费模型请求应答  1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段
                 List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData();
                 Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails);
@@ -159,6 +158,7 @@
                 acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code());
                 acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
                 UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = JSON.parseObject(content.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
@@ -203,7 +203,6 @@
             case SendTagConstant.CHARGING_PILE_STARTS_CHARGING:
                 ChargingPileStartsChargingMessage chargingPileStartsChargingMessage = JSON.parseObject(content.toJSONString(),ChargingPileStartsChargingMessage.class);
                 chargingMessage.setChargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 PlatformConfirmationCharging platformConfirmationCharging = new PlatformConfirmationCharging();
                 platformConfirmationCharging.setCharging_pile_code(chargingPileStartsChargingMessage.getCharging_pile_code());
@@ -213,6 +212,7 @@
                 platformConfirmationCharging.setAuthentication(1);
                 // TODO 若是失败,给出失败原因
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
                 PlatformStartChargingReplyMessage platformStartChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStartChargingReplyMessage.class);
@@ -229,12 +229,12 @@
             case SendTagConstant.TRANSACTION_RECORD:
                 TransactionRecordMessage transactionRecordMessage = JSON.parseObject(content.toJSONString(),TransactionRecordMessage.class);
                 chargingMessage.setTransactionRecordMessage(transactionRecordMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 ConfirmTransactionRecord confirmTransactionRecord = new ConfirmTransactionRecord();
                 confirmTransactionRecord.setTransaction_serial_number(transactionRecordMessage.getTransaction_serial_number());
                 confirmTransactionRecord.setConfirm_result(0);
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getKey(),messageUtil.confirmTransactionRecord(confirmTransactionRecord));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.UPDATE_BALANCE_REPLY:
                 UpdateBalanceReplyMessage updateBalanceReplyMessage = JSON.parseObject(content.toJSONString(),UpdateBalanceReplyMessage.class);
@@ -263,12 +263,12 @@
             case SendTagConstant.TIMING_SETTING:
                 TimingSettingMessage timingSettingMessage = JSON.parseObject(content.toJSONString(),TimingSettingMessage.class);
                 chargingMessage.setTimingSettingMessage(timingSettingMessage);
-                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件 对时设置应答
                 TimingSettingReply timingSettingReply = new TimingSettingReply();
                 timingSettingReply.setCharging_pile_code(timingSettingMessage.getCharging_pile_code());
                 timingSettingReply.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReply));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.SETUP_BILLING_MODEL_REPLY:
                 SetupBillingModelReplyMessage setupBillingModelReplyMessage = JSON.parseObject(content.toJSONString(),SetupBillingModelReplyMessage.class);
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
index f7ac9d4..5665883 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
@@ -25,10 +25,10 @@
     private BigDecimal bms_battery_voltage; //  最高电压 BMS 最高单体动力蓄电池电压及组号(1-12 位:最高单体动力蓄电池电压,数据分辨率:0.01 V/位,0 V 偏移量;数据范围:0~24 V;13-16 位:最高单体动力蓄电池电压所在组号,数据分辨率:1/位,0 偏移量;数据范围:0~15)
     private Integer bms_group_number; //  所在组号 BMS 最高单体动力蓄电池电压及组号(1-12 位:最高单体动力蓄电池电压,数据分辨率:0.01 V/位,0 V 偏移量;数据范围:0~24 V;13-16 位:最高单体动力蓄电池电压所在组号,数据分辨率:1/位,0 偏移量;数据范围:0~15)
     private BigDecimal bms_charged_status; // BMS 当前荷电状态 SOC( %)
-    private Integer bms_remaining_charging_time; // BMS 估算剩余充电时间
+    private BigDecimal bms_remaining_charging_time; // BMS 估算剩余充电时间
     private BigDecimal voltage_output_value; // 电桩电压输出值
     private BigDecimal current_output_value; // 电桩电流输出值
-    private Integer cumulative_charging_time; // 累计充电时间
+    private BigDecimal cumulative_charging_time; // 累计充电时间
 
 
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
index d5281cd..28c31ba 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
@@ -17,9 +17,9 @@
     private String charging_gun_code; // 抢号
     private Integer bms_highest_voltage_number; // BMS 最高单体动力蓄电池电压所在编号
     private String bms_maximum_battery_temperature; // BMS 最高动力蓄电池温度
-    private Integer maximum_temperature_detection_point_number; // 最高温度检测点编号
+    private String maximum_temperature_detection_point_number; // 最高温度检测点编号
     private String minimum_cell_temperature; // 最低动力蓄电池温度
-    private Integer lowest_temperature_detection_pointt_number; // 最低动力蓄电池温度检测点编号
+    private String lowest_temperature_detection_pointt_number; // 最低动力蓄电池温度检测点编号
     private Integer bms_battery_voltage; // BMS 单体动力蓄电池电压过高 /过低(0:正常,1:过高,10:过低)
     private Integer bms_battery_charging_status; // BMS 整车动力蓄电池荷电状态SOC 过高/过低(0:正常,1:过高,10:过低)
     private Integer bms_charging_overcurrent; // BMS 动力蓄电池充电过电流(0:正常,1:过流,10:不可信状态)
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
index 6cebbaf..8cc1e62 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
@@ -200,8 +200,8 @@
                 uploadRealTimeMonitoringData.setService_charge(accountingStrategyDetail.getServiceCharge());
                 if (Objects.nonNull(data)) {
                     uploadRealTimeMonitoringData.setLast_time(data.getLast_time());
-                    uploadRealTimeMonitoringData.setPeriod_electric_price(uploadRealTimeMonitoringDataMessage.getPaid_amount().divide(data.getPaid_amount()));
-                    uploadRealTimeMonitoringData.setPeriod_charging_degree(uploadRealTimeMonitoringDataMessage.getCharging_degree().divide(data.getCharging_degree()));
+                    uploadRealTimeMonitoringData.setPeriod_electric_price(uploadRealTimeMonitoringDataMessage.getPaid_amount().subtract(data.getPaid_amount()));
+                    uploadRealTimeMonitoringData.setPeriod_charging_degree(uploadRealTimeMonitoringDataMessage.getCharging_degree().subtract(data.getCharging_degree()));
                     uploadRealTimeMonitoringData.setPeriod_service_price(uploadRealTimeMonitoringDataMessage.getCharging_degree().multiply(accountingStrategyDetail.getServiceCharge()).setScale(4, RoundingMode.HALF_UP));
                 }else {
                     log.info("首次上传实时监测数据");
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 9b69b2a..661ca4b 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
@@ -769,16 +769,16 @@
 
             // 获取本月1号的日期
             YearMonth yearMonth = YearMonth.from(today);
-            start = yearMonth.atDay(1);
-
-            System.out.println("本月1号是: " + start);
+//            start = yearMonth.atDay(1);
+//
+//            System.out.println("本月1号是: " + start);
         }else if (statisticsQueryDto.getDayType()==4){
             LocalDate today = LocalDate.now();
             // 获取当前年份
             int currentYear = today.getYear();
             // 获取今年1月1日的日期
-            start = LocalDate.of(currentYear, 1, 1);
-            System.out.println("今年1月1日是: " + start);
+            start = statisticsQueryDto.getStartTime();
+            end = statisticsQueryDto.getEndTime();
         }else if (statisticsQueryDto.getDayType()==5){
 
             // 获取今年1月1日的日期
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java
index d69169a..5637f6c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java
@@ -142,7 +142,9 @@
 				byte[] imageBytes = IOUtils.toByteArray(inputStream);
 
 				// 创建临时文件
-				File tempFile = File.createTempFile("tempImage", ".png");
+				// 截取imageUrl后缀名
+				String fileExtension = imageUrl.substring(imageUrl.lastIndexOf("."));
+				File tempFile = File.createTempFile("tempImage", fileExtension);
 				try (FileOutputStream fos = new FileOutputStream(tempFile)) {
 					fos.write(imageBytes);
 				}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java
index 52df141..4cd1343 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/SixVipDto.java
@@ -7,7 +7,7 @@
 @Data
 public class SixVipDto {
     private String month;
-    private String vipName;
+    private String name;
     private Integer vipId;
     private BigDecimal paymentAmount;
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
index 71c3b12..e6a617c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -69,20 +69,20 @@
 
     List<Map<String, Object>> getSumByType(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-    List<Map<String, Object>> getDateData(List<Long> chargingOrderIds);
+    List<Map<String, Object>> getDateData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-	List<Map<String, Object>> getWeekData(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getWeekData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-	List<Map<String, Object>> getMonthData(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getMonthData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-	List<Map<String, Object>> getYearData(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getYearData(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
 	List<ChargingOrderListVO> chargingList(@Param("pageInfo")PageInfo<ChargingOrderListVO> pageInfo, @Param("req") ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
 	List<ChargingOrderListVO> chargingListNoPage( @Param("req")ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
 
-	List<Map<String, Object>> getByDate(List<Long> chargingOrderIds);
+	List<Map<String, Object>> getByDate(@Param("chargingOrderIds")List<Long> chargingOrderIds);
 
-    List<Map<String, Object>> queryPower(List<Integer> siteIds);
+    List<Map<String, Object>> queryPower(@Param("siteIds")List<Integer> siteIds);
 
 	Map<String, Object> queryPowerLevel(@Param("siteIds") List<Integer> siteIds,@Param("statisticsQueryDto")  ChargingStatisticsQueryDto statisticsQueryDto);
 
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index abb234b..74ee227 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -292,20 +292,23 @@
 
     </select>
     <select id="chargingOrderGroup" resultType="com.ruoyi.common.core.dto.ChargingOrderGroup">
-        SELECT SUM(charging_capacity) ,site_id
-        FROM t_charging_order
-        GROUP BY site_id
+        SELECT SUM(tc.charging_capacity) as  charging_capacity,tc.site_id
+        FROM t_charging_order tc
+        left join `charging_pile_service`.`t_site` ts on tc.site_id = ts.id
         <where>
             <if test="chargingPercentProvinceDto.date1 != null">
-                AND create_time &gt;= #{chargingPercentProvinceDto.date1}
+                AND tc.create_time &gt;= #{chargingPercentProvinceDto.date1}
             </if>
             <if test="chargingPercentProvinceDto.date2 != null">
-                AND create_time &lt;= #{chargingPercentProvinceDto.date2}
+                AND tc.create_time &lt;= #{chargingPercentProvinceDto.date2}
             </if>
             <if test="chargingPercentProvinceDto.provinceCode != null">
-                AND province_code = #{chargingPercentProvinceDto.provinceCode}
+                AND ts.province_code = #{chargingPercentProvinceDto.provinceCode}
             </if>
+
         </where>
+        GROUP BY site_id
+
 
 
     </select>
@@ -363,7 +366,7 @@
 
     </select>
     <select id="countAll" resultType="java.util.Map">
-        select sum(electrovalence),sum(service_charge),sum(commission_amount),sum(sharing_amount)
+        select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,sum(commission_amount) as commission_amount,sum(sharing_amount) as sharing_amount
         from t_charging_order
         where create_time &gt;= #{sixBefore} and del_flag = 0 and recharge_payment_status = 2 and  ISNULL(refund_status)
     </select>
@@ -391,6 +394,7 @@
             DATE_FORMAT( create_time, '%Y-%m-%d %H' ) as time,
 	SUM(service_charge) as servicecharge,
 	SUM(electrovalence) as electrovalence,
+    SUM(payment_amount) AS paymentAmount,
     count(1) as orderCount
         FROM
             t_charging_order
@@ -414,6 +418,7 @@
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
         SUM(service_charge) as servicecharge,
         SUM(electrovalence) as electrovalence,
+        SUM(payment_amount) AS paymentAmount,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -437,6 +442,7 @@
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
         SUM(service_charge) as servicecharge,
         SUM(electrovalence) as electrovalence,
+        SUM(payment_amount) AS paymentAmount,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -460,11 +466,13 @@
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
         SUM(service_charge) as servicecharge,
         SUM(electrovalence) as electrovalence,
+        SUM(payment_amount) AS paymentAmount,
+
         count(1) as orderCount
         FROM
         t_charging_order
         <where>
-            del_flag = 0 and recharge_payment_status = 2 and  ISNULL(refund_status) and YEAR(createTime) = YEAR(NOW())
+            del_flag = 0 and recharge_payment_status = 2 and  ISNULL(refund_status) and YEAR(create_time) = YEAR(NOW())
             <if test="chargingOrderIds != null and chargingOrderIds.size() > 0">
                 AND id IN
                 <foreach collection="chargingOrderIds" item="chargingOrderId" open="(" separator="," close=")">
@@ -505,7 +513,7 @@
     <select id="queryPower" resultType="java.util.Map">
         SELECT
             'today' AS data_type,
-            DATE_FORMAT(create_time, '%Y-%m-%d %H') AS TIME,
+            DATE_FORMAT(create_time, '%H') AS TIME,
     SUM(power) AS power
         FROM
             t_charging_order
@@ -527,7 +535,7 @@
 
         SELECT
             'yesterday' AS data_type,
-            DATE_FORMAT(create_time, '%Y-%m-%d %H') AS TIME,
+            DATE_FORMAT(create_time, '%H') AS TIME,
     SUM(power) AS power
         FROM
             t_charging_order
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
index 979c301..14aa79d 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
@@ -63,7 +63,7 @@
         t_vip_order
         <where>
             del_flag = 0 AND
-            payment_status = 2 AND
+            payment_status = 2
             <if test="sixBefore != null">
                 AND create_time &gt; #{sixBefore}
             </if>
@@ -72,7 +72,7 @@
         LEFT JOIN `charging_pile_other`.`t_vip` tp on  subquery.vip_id = tp.id
         GROUP BY
         DATE_FORMAT(subquery.create_time, '%Y-%m'),
-        tp.`name`;
+        tp.`name`
 
 
     </select>

--
Gitblit v1.7.1