From f2a57f2a9fa309f872d10c7fada992b63a0c0d5f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期日, 27 十月 2024 20:52:48 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java                                      |   10 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                                    |   81 +++++
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java       |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java           |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java                                    |   24 -
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java                                             |    3 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java                      |    8 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml                                                 |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java                                             |    2 
 ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml                                                                             |   10 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java                                                       |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java                                       |    9 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java                                    |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java                                   |   59 +++
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml                                         |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java             |    5 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml                                                 |   16 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java                                       |    4 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                                         |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java            |    3 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java              |   44 ++
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                                     |  113 +++---
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TExchangeOrder.java                                                  |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                                       |  223 ++++++++++++--
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java                                       |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java                                                  |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                                     |   41 +-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderMapVO.java                                                 |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml                                       |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java  |   20 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringPageData.java                    |   25 +
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java                                                       |    3 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java                                               |    1 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/logback.xml                                                                        |    4 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java                         |    4 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml                                                     |   32 +-
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingOrderAndUploadRealTimeMonitoringDataDto.java     |    1 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java                                       |   10 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java                                |   10 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java                                     |    6 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/RptUtils.java                                                         |   33 ++
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PageChargingOrderAndUploadRealTimeMonitoringDataDto.java |   25 +
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java                                  |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/CarUtil.java                                                          |   26 
 44 files changed, 658 insertions(+), 241 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
index c311954..9b3752f 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
@@ -38,6 +38,6 @@
 
 	@GetMapping("/site/getSiteList/byUserId")
 	R<List<GetSiteListDTO>> getSiteListByUserId(@RequestParam("userId") Long userId);
-	@GetMapping("/getPartnerR/{id}")
+	@GetMapping("/partner/getPartnerR/{id}")
 	R<Partner> getPartnerR(@PathVariable("id") Integer id);
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
index ee3453c..3f5bf8b 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
@@ -44,7 +44,7 @@
             }
 
             @Override
-            public R<List<UploadRealTimeMonitoringData>> getAll(MongoChargingOrderQuery mongoChargingOrderQuery) {
+            public R<UploadRealTimeMonitoringPageData> getAll(MongoChargingOrderQuery mongoChargingOrderQuery) {
                 return null;
             }
         };
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
index aa641de..824cb1f 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
 import com.ruoyi.integration.api.factory.UploadRealTimeMonitoringDataFallbackFactory;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -44,5 +45,5 @@
 	R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(@RequestParam("code") String code);
 
 	@PostMapping("/uploadRealTimeMonitoringData/getAll")
-	R<List<UploadRealTimeMonitoringData>> getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery);
+	R<UploadRealTimeMonitoringPageData> getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery);
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingOrderAndUploadRealTimeMonitoringDataDto.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingOrderAndUploadRealTimeMonitoringDataDto.java
index a3bcc44..5937ecf 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingOrderAndUploadRealTimeMonitoringDataDto.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingOrderAndUploadRealTimeMonitoringDataDto.java
@@ -21,6 +21,7 @@
 public class ChargingOrderAndUploadRealTimeMonitoringDataDto extends BaseModel {
 
     private String id;
+    private Integer index;
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
     private String charging_gun_code; // 抢号
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PageChargingOrderAndUploadRealTimeMonitoringDataDto.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PageChargingOrderAndUploadRealTimeMonitoringDataDto.java
new file mode 100644
index 0000000..7057e39
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PageChargingOrderAndUploadRealTimeMonitoringDataDto.java
@@ -0,0 +1,25 @@
+package com.ruoyi.integration.api.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 上传实时监测数据
+ **/
+
+@Data
+public class PageChargingOrderAndUploadRealTimeMonitoringDataDto extends BaseModel {
+
+    private List<ChargingOrderAndUploadRealTimeMonitoringDataDto> records;
+    private Long total;
+
+
+}
+
+
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringPageData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringPageData.java
new file mode 100644
index 0000000..96fe254
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringPageData.java
@@ -0,0 +1,25 @@
+package com.ruoyi.integration.api.model;
+
+import jdk.internal.dynalink.linker.LinkerServices;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 上传实时监测数据
+ **/
+
+@Data
+@Document(collection = "upload_real_time_monitoring_data") //指定要对应的文档名(表名)
+@Accessors(chain = true)
+public class UploadRealTimeMonitoringPageData extends BaseModel {
+    Long count;
+    List<UploadRealTimeMonitoringData> records;
+
+}
+
+
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TExchangeOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TExchangeOrder.java
index b40f900..4f4f81b 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TExchangeOrder.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TExchangeOrder.java
@@ -31,6 +31,9 @@
     @TableId(value = "id", type = IdType.NONE)
     private Long id;
 
+    @ApiModelProperty(value = "地址json")
+    @TableField("address_json")
+    private String addressJson;
     @ApiModelProperty(value = "订单编号")
     @TableField("code")
     private String code;
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
index f1958b4..0c997ed 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
@@ -44,6 +44,6 @@
     @TableField("vip_id")
     private Integer vipId;
     @ApiModelProperty(value = "购买的会员id")
-    @TableField("vip_id")
+    @TableField("order_amount")
     private BigDecimal orderAmount;
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java
index b1e370b..16a7aea 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java
@@ -156,6 +156,10 @@
     @TableField("refund_serial_number")
     private String refundSerialNumber;
 
+    @ApiModelProperty(value = "地址json")
+    @TableField("address_json")
+    private String addressJson;
+
     @ApiModelProperty(value = "退款成功时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField("refund_time")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java
index beebeea..35ebd28 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java
@@ -33,6 +33,9 @@
     @ApiModelProperty(value = "主键")
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
+    @ApiModelProperty(value = "退款状态(1=退款中,2=退款成功)")
+    @TableField("refund_status")
+    private Integer refundStatus;
 
     @ApiModelProperty(value = "订单编号")
     @TableField("code")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java
index 7117147..d85c948 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java
@@ -14,7 +14,7 @@
     @ApiModelProperty(value = "类型(1=开始,2=结束)")
     private Integer type;
     @ApiModelProperty(value = "站点ids 选择全部 不传")
-    private List<Integer> siteIds;
+    private Integer siteIds;
     @ApiModelProperty(value = "合作商id ")
     private Integer partnerId;
     @ApiModelProperty(value = "开始时间2020-01-01 00:00:00")
@@ -22,4 +22,5 @@
     @ApiModelProperty(value = "结束时间2021-01-01 23:59:59")
     private String endTime;
 
+
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderMapVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderMapVO.java
index b2d3618..f9958b4 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderMapVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderMapVO.java
@@ -16,4 +16,6 @@
     private List<Map<String,Object>> maps;
     @ApiModelProperty("下方折线图")
     private List<Map<String,Object>> maps1;
+    private BigDecimal allMoney;
+    private BigDecimal commissionAmount;
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java
index a7161a4..be73042 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java
@@ -26,6 +26,7 @@
      * 用户名id
      */
     private Long userId;
+    private String userIdStr;
 
     /**
      * 用户手机号
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 7944129..d11a972 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -138,10 +138,10 @@
         // 计算预付金额能充多少度普通电
         BigDecimal divide1 = money.divide(electrovalence, 2, BigDecimal.ROUND_HALF_UP);
         // 计算冲会员电能充多少度会员电
-        BigDecimal divide = vipElectrovalence.divide(electrovalence, 2, BigDecimal.ROUND_HALF_UP);
+        BigDecimal divide = money.divide(vipElectrovalence, 2, BigDecimal.ROUND_HALF_UP);
         BigDecimal subtract = divide.subtract(divide1);
         // 优惠金额
-        data.setMoney(subtract.multiply(vipElectrovalence).setScale(2, BigDecimal.ROUND_HALF_UP));
+        data.setMoney(subtract.multiply(electrovalence.subtract(vipElectrovalence)).setScale(2, BigDecimal.ROUND_HALF_UP));
         return AjaxResult.ok(data);
     }
     /**
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 7f880e2..997ac14 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
@@ -1118,6 +1118,10 @@
     public R getModel(String id) throws Exception {
         String modelById = CarBrandUtil.getModelById(id);
         JSONObject jsonObject = JSON.parseObject(modelById);
+        Integer code = jsonObject.getInteger("code");
+        if (code==701){
+            return R.fail("当前品牌暂无分类");
+        }
         JSONArray data = jsonObject.getJSONArray("data");
         JSONArray backList = new JSONArray();
         for (Object datum : data) {
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
index 19d5fe3..bd17572 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -11,6 +11,7 @@
 import com.ruoyi.account.mapper.TAppUserMapper;
 import com.ruoyi.account.service.TAppUserService;
 import com.ruoyi.account.service.TInviteUserService;
+import com.ruoyi.account.util.RptUtils;
 import com.ruoyi.account.wx.model.WeixinProperties;
 import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
 import com.ruoyi.common.core.exception.ServiceException;
@@ -18,6 +19,7 @@
 import com.ruoyi.system.api.model.LoginUserApplet;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.HashMap;
@@ -69,9 +71,10 @@
                     break;
             }
         }
-        appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
+
+        appUser.setAvatar(StringUtils.hasLength(appletUserDecodeData.getAvatarUrl())?appletUserDecodeData.getAvatarUrl():"http://221.182.45.100:8090/2024-10-26/logo.png");
+        appUser.setName(StringUtils.hasLength(appletUserDecodeData.getNickName())?appletUserDecodeData.getNickName():RptUtils.around(appletUserDecodeData.getPhoneNumber(),3,4));
         appUser.setCity(appletUserDecodeData.getCity());
-        appUser.setName(appletUserDecodeData.getNickName());
         appUser.setProvince(appletUserDecodeData.getProvince());
         appUser.setWxOpenid(appletUserDecodeData.getOpenId());
         this.saveOrUpdate(appUser);
@@ -113,6 +116,8 @@
             }
         }
         appUser.setAliOpenid(response.getOpenId());
+        appUser.setAvatar("http://221.182.45.100:8090/2024-10-26/logo.png");
+        appUser.setName(RptUtils.around(phone,3,4));
         this.saveOrUpdate(appUser);
         if(Objects.nonNull(inviteUserId)){
             inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
@@ -154,6 +159,7 @@
         LoginUserApplet loginUserApplet = new LoginUserApplet();
         if(ObjectUtils.isNotNull(appUser)){
             loginUserApplet.setUserId(appUser.getId());
+            loginUserApplet.setUserIdStr(appUser.getId().toString());
             loginUserApplet.setName(appUser.getName());
             loginUserApplet.setPhone(appUser.getPhone());
             loginUserApplet.setAvatar(appUser.getAvatar());
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/CarUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/CarUtil.java
index 8087a9e..3da1a3f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/CarUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/CarUtil.java
@@ -877,91 +877,91 @@
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京B\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京C\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京D\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京E\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京F\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京G\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京H\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京J\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京K\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京L\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京M\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"京Y\",\n" +
                 "      \"city\": \"北京\",\n" +
                 "      \"province\": \"北京\",\n" +
                 "      \"Pcode\": \"BJ\",\n" +
-                "      \"AreaCode\": \"110000\"\n" +
+                "      \"AreaCode\": \"110100\"\n" +
                 "    },\n" +
                 "    {\n" +
                 "      \"Hp\": \"豫A\",\n" +
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/RptUtils.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/RptUtils.java
new file mode 100644
index 0000000..41e207a
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/RptUtils.java
@@ -0,0 +1,33 @@
+package com.ruoyi.account.util;
+
+/**
+ * 脱敏工具类
+ */
+public class RptUtils {
+      private static final String SYMBOL = "*";
+
+     /**
+      *  脱敏
+      * @param str 待脱敏字符串
+      * @param left 左边保留多少位
+      * @param right 右边保留多少位
+      * @return 脱敏结果,除左右外,其余字符将被替换为*
+      */
+     public static String around(String str, int left, int right){
+         if (str == null || (str.length() < left + right +1)){
+             return str;
+         }
+         String regex = String.format("(?<=\\w{%d})\\w(?=\\w{%d})", left, right);
+         return str.replaceAll(regex, SYMBOL);
+     }
+
+     /**
+      * 正则表达式实现金额数据脱敏
+      * @param money
+      * @return
+      */
+     public static String getMoney(String money){
+         //保留0个数到0个结束
+         return around(money,0,0);
+     }
+ }
\ No newline at end of file
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 622f1a1..dbd0aa4 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
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient;
 import com.ruoyi.chargingPile.api.model.*;
@@ -16,16 +18,20 @@
 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.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.other.api.domain.TVip;
 import com.ruoyi.other.api.feignClient.RoleSiteClient;
 import com.ruoyi.other.api.feignClient.UserSiteClient;
+import com.ruoyi.other.api.feignClient.VipClient;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
 import com.ruoyi.system.api.feignClient.SysUserRoleClient;
@@ -88,7 +94,12 @@
 
 	@Resource
 	private SysUserRoleClient userRoleClient;
-
+	@Resource
+	private VipClient vipClient;
+	@Resource
+	private TokenService tokenService;
+	@Resource
+	private AppUserClient appUserClient;
 
 
 	/**
@@ -115,14 +126,29 @@
 		Site byId = siteService.getById(one.getSiteId());
 		TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
 		List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
+		list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
 		for (TAccountingStrategyDetail tAccountingStrategyDetail : list) {
 			// 当前时间属于那个阶段 取哪个阶段的电价
-			if(LocalTime.now().isAfter(LocalTime.parse(tAccountingStrategyDetail.getStartTime())) && LocalTime.now().isBefore(LocalTime.parse(tAccountingStrategyDetail.getEndTime()))){
-				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+			if(DateUtils.string2LocalTime(tAccountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
+					&& DateUtils.string2LocalTime(tAccountingStrategyDetail.getEndTime() + ("23:59:59".equals(tAccountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
+				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
 				if(null != byId1.getDiscount()){
-					siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
 				}else{
-					siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+					// 获取当前登录用户id
+					Long userId = tokenService.getLoginUserApplet().getUserId();
+					// 根据id查询用户信息
+					TAppUser appUser = appUserClient.getUserById(userId).getData();
+					if(Objects.nonNull(appUser)){
+						TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+						if(Objects.nonNull(vip) && vip.getType() == 2){
+							siteInfoVO.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(tAccountingStrategyDetail.getServiceCharge()).add(tAccountingStrategyDetail.getElectrovalence()));
+						}else {
+							siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+						}
+					}else {
+						siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+					}
 				}
 			}
 		}
@@ -145,14 +171,29 @@
 		Site byId = siteService.getById(one.getSiteId());
 		TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
 		List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
+		list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
 		for (TAccountingStrategyDetail tAccountingStrategyDetail : list) {
 			// 当前时间属于那个阶段 取哪个阶段的电价
-			if(LocalTime.now().isAfter(LocalTime.parse(tAccountingStrategyDetail.getStartTime())) && LocalTime.now().isBefore(LocalTime.parse(tAccountingStrategyDetail.getEndTime()))){
-				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+			if(DateUtils.string2LocalTime(tAccountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
+					&& DateUtils.string2LocalTime(tAccountingStrategyDetail.getEndTime() + ("23:59:59".equals(tAccountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
+				siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
 				if(null != byId1.getDiscount()){
-					siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
+					siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
 				}else{
-					siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+					// 获取当前登录用户id
+					Long userId = tokenService.getLoginUserApplet().getUserId();
+					// 根据id查询用户信息
+					TAppUser appUser = appUserClient.getUserById(userId).getData();
+					if(Objects.nonNull(appUser)){
+						TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+						if(Objects.nonNull(vip) && vip.getType() == 2){
+							siteInfoVO.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(tAccountingStrategyDetail.getServiceCharge()).add(tAccountingStrategyDetail.getElectrovalence()));
+						}else {
+							siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+						}
+					}else {
+						siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+					}
 				}
 			}
 		}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
index 3bd8ac6..9d81853 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
@@ -10,12 +10,14 @@
 import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalTime;
 import java.util.List;
 import java.util.Objects;
 
@@ -100,10 +102,16 @@
     public R<TAccountingStrategyDetail> getDetailBySiteId(@RequestParam("siteId") Integer siteId){
         Site site = siteService.getById(siteId);
         TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
-        TAccountingStrategyDetail one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
-                .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
-                .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
-        return R.ok(one);
+        List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+                .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
+        list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
+        for (TAccountingStrategyDetail accountingStrategyDetail : list) {
+            if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
+                    && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
+                return R.ok(accountingStrategyDetail);
+            }
+        }
+        return R.ok();
     }
     /**
      * 通过桩id查询当前时段使用的策略明细
@@ -123,19 +131,31 @@
                 .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0)
                 .last("LIMIT 1"));
         TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId());
-        TAccountingStrategyDetail one;
+        TAccountingStrategyDetail one = null;
         if(Objects.nonNull(accountingStrategy)){
-            one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
-                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
-                    .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
+            List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
+            list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
+            for (TAccountingStrategyDetail accountingStrategyDetail : list) {
+                if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
+                        && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
+                    return R.ok(accountingStrategyDetail);
+                }
+            }
         }else {
             Site site = siteService.getById(chargingPile.getSiteId());
             accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
-            one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
-                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
-                    .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
+            List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
+            list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
+            for (TAccountingStrategyDetail accountingStrategyDetail : list) {
+                if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
+                        && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
+                    return R.ok(accountingStrategyDetail);
+                }
+            }
         }
-        return R.ok(one);
+        return R.ok();
     }
     /**
      * 校验充电桩计费模版是否准确
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
index 3ead497..041fbc6 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -325,8 +325,8 @@
         List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list();
         int count1 = list.size();
         //统计出list中chargingOrderId为null的数据个数
-        int count2 = list.stream().filter(item -> item.getChargingOrderId() == null).collect(Collectors.toList()).size();
-        int count3 = count1-count2;
+        int count2 = list.stream().filter(item -> item.getChargingOrderId() != null).collect(Collectors.toList()).size();
+        int count3 = list.stream().filter(item -> item.getOutParkingType() == 2).collect(Collectors.toList()).size();
         //计算出list中parkingDuration的总和
         int count4 = 0;
         for (TParkingRecord tParkingRecord : list) {
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index e56a27f..aacf87e 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -328,9 +328,15 @@
 		}
 		// 查询所有的停车场的站点id
 		List<TParkingLot> list = parkingLotService.list();
-		List<Integer> siteIds = list.stream().map(TParkingLot::getSiteId).collect(Collectors.toList());
+		List<Integer> siteIds = list.stream().map(TParkingLot::getSiteId).distinct().collect(Collectors.toList());
 		if(!CollectionUtils.isEmpty(ids) && !CollectionUtils.isEmpty(siteIds)){
-			ids.addAll(siteIds);
+			Iterator<Integer> iterator = ids.iterator();
+			while (iterator.hasNext()){
+				Integer next = iterator.next();
+				if(siteIds.contains(next)){
+					iterator.remove();
+				}
+			}
 		}
 		return this.baseMapper.getSiteListParkLot(ids);
 	}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
index 119f6ac..1f67215 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
@@ -18,6 +18,7 @@
 import com.ruoyi.common.core.web.page.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
@@ -49,6 +50,7 @@
 
     @Override
     public TParkingRecordPageInfoVO pageList(ParkingRecordQuery query) {
+        PageInfo<TParkingRecordVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
         // 查询站点的停车场id
         if(Objects.nonNull(query.getSiteId())){
             Site site = siteMapper.selectById(query.getSiteId());
@@ -56,11 +58,15 @@
                 List<TParkingLot> tParkingLots = parkingLotMapper.selectList(Wrappers.lambdaQuery(TParkingLot.class)
                         .eq(TParkingLot::getSiteId, site.getId()));
                 List<Integer> lotIds = tParkingLots.stream().map(TParkingLot::getId).collect(Collectors.toList());
+                if(CollectionUtils.isEmpty(lotIds)){
+                    TParkingRecordPageInfoVO tParkingRecordPageInfoVO = new TParkingRecordPageInfoVO();
+                    tParkingRecordPageInfoVO.setParkingRecordVOS(new PageInfo<TParkingRecordVO>());
+                    return tParkingRecordPageInfoVO;
+                }
                 query.setLotIds(lotIds);
             }
 
         }
-        PageInfo<TParkingRecordVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
         List<TParkingRecordVO> list = this.baseMapper.pageList(query,pageInfo);
         pageInfo.setRecords(list);
         // 查询总数
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/logback.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/logback.xml
index a1c5267..774e490 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/logback.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/logback.xml
@@ -58,11 +58,11 @@
     </appender>
 
     <!-- 系统模块日志级别控制  -->
-	<logger name="com.ruoyi" level="debug" />
+	<logger name="com.ruoyi" level="info" />
 	<!-- Spring日志级别控制  -->
 	<logger name="org.springframework" level="debug" />
 
-	<root level="debug">
+	<root level="info">
 		<appender-ref ref="console" />
 	</root>
 	
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 1073452..934b624 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
@@ -166,7 +166,7 @@
 				and ts.`name` like CONCAT('%', #{query.name}, '%')
 			</if>
 			<if test="null != query.cityCode and '' != query.cityCode">
-				and ts.cityCode = #{query.cityCode}
+				and ts.city_code = #{query.cityCode}
 			</if>
 			AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
 			AND ts.status = ${@com.ruoyi.common.core.enums.status.SiteStatusEnum@NORMAL_USE.getCode()}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml
index a4e5734..1553995 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml
@@ -88,10 +88,10 @@
     <select id="getStatusModeStatistics" resultType="com.ruoyi.chargingPile.api.vo.StatusModeStatisticsVO">
         SELECT
         charge_mode,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 2 AND charge_mode = #{chargeMode}),0) AS freeCount,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 5 AND charge_mode = #{chargeMode}),0) AS filledCount,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 3 AND charge_mode = #{chargeMode}),0) AS insertCount,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 4 AND charge_mode = #{chargeMode}),0) AS chargingCount
+        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 2 AND charge_mode = #{chargeMode} and del_flag = 0),0) AS freeCount,
+        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 5 AND charge_mode = #{chargeMode} and del_flag = 0),0) AS filledCount,
+        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 3 AND charge_mode = #{chargeMode} and del_flag = 0),0) AS insertCount,
+        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 4 AND charge_mode = #{chargeMode} and del_flag = 0),0) AS chargingCount
         FROM t_charging_gun
         WHERE del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} AND charge_mode = #{chargeMode}
         AND charging_pile_id in (
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
index c5e4070..7f9c23d 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
@@ -22,16 +22,16 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, app_user_id, license_plate, vehicle_color, charging_order_id, parking_lot_id, in_parking_time, out_parking_time, parking_duration, order_amount, status, out_parking_type, create_time
+        id, code,app_user_id, license_plate, vehicle_color, charging_order_id, parking_lot_id, in_parking_time, out_parking_time, parking_duration, order_amount, status, out_parking_type, create_time
     </sql>
     <select id="getSum" resultType="java.math.BigDecimal">
         select sum(timeout_amount) from t_parking_record where   in_parking_time >= #{sixBefore}
     </select>
     <select id="pageList" resultType="com.ruoyi.chargingPile.api.vo.TParkingRecordVO">
         select
-        tpr.id, tpr.app_user_id, tpr.license_plate, tpr.vehicle_color, tpr.charging_order_id, tpr.parking_lot_id, tpr.in_parking_time, tpr.out_parking_time,
-        tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount - tpr.timeout_amount) as parkingFee,
-        (tpr.parking_duration - tpr.free_duration) as feeDuration,ts.name as siteName
+        tpr.id, tpr.code,tpr.app_user_id, tpr.license_plate, tpr.vehicle_color, tpr.charging_order_id, tpr.parking_lot_id, tpr.in_parking_time, tpr.out_parking_time,
+        tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount - tpr.timeout_amount) as parkingFee,tpr.timeout_amount,
+        tpr.free_duration,(tpr.parking_duration - tpr.free_duration) as feeDuration,ts.name as siteName
         from t_parking_record tpr
         left join t_parking_lot tpl on tpr.parking_lot_id = tpl.id
         left join t_site ts on tpl.site_id = ts.id
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java
index f9c9725..e2a7f77 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
 import org.springframework.web.bind.annotation.*;
@@ -73,8 +74,8 @@
 
 
     @PostMapping(value = "/getAll")
-    public R<List<UploadRealTimeMonitoringData>> getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
-        List<UploadRealTimeMonitoringData> list = uploadRealTimeMonitoringDataService.getDataAll(mongoChargingOrderQuery);
+    public R<UploadRealTimeMonitoringPageData> getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
+        UploadRealTimeMonitoringPageData list = uploadRealTimeMonitoringDataService.getDataAll(mongoChargingOrderQuery);
         return R.ok(list);
     }
 
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
index 2c998d6..c5b2e12 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -1,6 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import com.ruoyi.integration.mongodb.base.BaseService;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
 
@@ -15,7 +16,7 @@
 	 * @return
 	 */
 	List<UploadRealTimeMonitoringData> getDataByOrderCode(String code);
-	List<UploadRealTimeMonitoringData> getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException;
+	UploadRealTimeMonitoringPageData getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException;
 
 	/**
 	 * 查询订单最新一条数据
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
index 886759b..42fbedb 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.hutool.db.sql.Direction;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import com.ruoyi.integration.iotda.constant.IotConstant;
 import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
@@ -61,7 +62,7 @@
     }
 
     @Override
-    public List<UploadRealTimeMonitoringData> getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
+    public UploadRealTimeMonitoringPageData getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
         Query query = new Query();
 //        if (!values.isEmpty()){
 //            query.addCriteria(Criteria.where("transaction_serial_number").in(values));
@@ -70,10 +71,10 @@
             query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(), "i")); // "i" 表示不区分大小写
         }
         if (mongoChargingOrderQuery.getOrderType() !=null){
-            query.addCriteria(Criteria.where("order_type").is(mongoChargingOrderQuery.getOrderType()));
+            query.addCriteria(Criteria.where("orderType").is(mongoChargingOrderQuery.getOrderType()));
         }
         if (mongoChargingOrderQuery.getSiteId() != null){
-            query.addCriteria(Criteria.where("site_id").is(mongoChargingOrderQuery.getSiteId()));
+            query.addCriteria(Criteria.where("siteId").is(mongoChargingOrderQuery.getSiteId()));
         }
         if (mongoChargingOrderQuery.getChargingPileCode() != null && !mongoChargingOrderQuery.getChargingPileCode().isEmpty()) {
             query.addCriteria(Criteria.where("charging_pile_code").is(mongoChargingOrderQuery.getChargingPileCode()));
@@ -110,11 +111,18 @@
         // 设置分页
         Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageCurr(), mongoChargingOrderQuery.getPageSize());
         query.with(pageable);
-
+        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
         List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
-                query.with(Sort.by("create_time"))
+                query
                 , UploadRealTimeMonitoringData.class);
-        return uploadRealTimeMonitoringData;
+
+
+        long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
+
+        UploadRealTimeMonitoringPageData uploadRealTimeMonitoringPageData = new UploadRealTimeMonitoringPageData();
+        uploadRealTimeMonitoringPageData.setCount(totalElements);
+        uploadRealTimeMonitoringPageData.setRecords(uploadRealTimeMonitoringData);
+        return uploadRealTimeMonitoringPageData;
     }
 
     @Override
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 1a968ba..4046d55 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
@@ -3,6 +3,7 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.time.*;
 
 
@@ -26,10 +27,12 @@
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.integration.api.model.PageChargingOrderAndUploadRealTimeMonitoringDataDto;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
 import com.ruoyi.integration.api.model.ChargingOrderAndUploadRealTimeMonitoringDataDto;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import com.ruoyi.order.api.model.*;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
@@ -790,45 +793,50 @@
     @PostMapping(value = "/watch/chargingOrder")
     @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"})
     public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
-//        Integer page = dto.getPageCurr();
-//        Integer pageSize = dto.getPageSize();
-//        List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
-//        dto.setUserIds(data);
-//        dto.setPageCurr(1);
-//        dto.setPageSize(99999);
 
-//        Map<String,TChargingOrder> map = new HashMap<>();
-//        //吧list放入map中
-//        for (ChargingOrderVO record : res.getList().getRecords()) {
-//            map.put(record.getCode(),record);
-//        }
-//        Set<String> strings = map.keySet();
-
-
-        List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
+        mongoChargingOrderQuery.setPageSize(10);
+        UploadRealTimeMonitoringPageData data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
 
         List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
         Map<String,ChargingOrderVO> map  = new HashMap<>();
-        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) {
+        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1.getRecords()) {
             ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
             ChargingOrderQuery dto = new ChargingOrderQuery();
             dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number());
-            TCharingOrderVO vo = chargingOrderService.chargingOrder(dto);
-            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);
+            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);
+                    dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime());
+                    dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime());
+                    dataDto.setStatus(uploadRealTimeMonitoringData.getStatus());
+                    dtos.add(dataDto);
+                }
             }else {
-                continue;
+                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);
             }
         }
+        for (int i = 0; i < dtos.size(); i++) {
+            dtos.get(i).setIndex(i);
+        }
 
+        PageChargingOrderAndUploadRealTimeMonitoringDataDto page = new PageChargingOrderAndUploadRealTimeMonitoringDataDto();
+        page.setTotal(data1.getCount());
+        page.setRecords(dtos);
 
-        return R.ok(dtos);
+        return R.ok(page);
     }
     
     
@@ -921,25 +929,165 @@
 
         if (statisticsQueryDto.getDayType()==1){
             List<Map<String,Object>> maps1 = chargingOrderService.getDateData(chargingOrderIds);
-            tCharingOrderMapVO.setMaps1(maps1);
+
+            List<Map<String, Object>> charMap = new ArrayList<>();
+            // 生成从 "00:00" 到 "23:00" 的时间数据
+            for (int hour = 0; hour < 24; hour++) {
+                String time = String.format("%02d:00", hour);
+                Map<String, Object> mapWithTimeValue = findMapWithTimeValue(maps1, time);
+                if (mapWithTimeValue!=null){
+                    charMap.add(mapWithTimeValue);
+                }else {
+                    Map<String, Object> timeMap = new HashMap<>();
+                    timeMap.put("time", time); // 初始化值为 null
+                    timeMap.put("electrovalence", 0);
+                    timeMap.put("orderCount", 0);
+                    timeMap.put("paymentAmount", 0);
+                    timeMap.put("paymoney", 0);
+                    timeMap.put("servicecharge", 0);
+
+                    charMap.add(timeMap);
+                }
+            }
+
+            tCharingOrderMapVO.setMaps1(charMap);
         }else if (statisticsQueryDto.getDayType()==2){
+
+
+
             List<Map<String,Object>> maps1 = chargingOrderService.getWeekData(chargingOrderIds);
-            tCharingOrderMapVO.setMaps1(maps1);
+
+            LocalDate startDate = statisticsQueryDto.getStartTime();
+            LocalDate endDate = statisticsQueryDto.getEndTime();
+
+            List<Map<String, Object>> dateRangeStatistics = new ArrayList<>();
+
+            // 遍历日期范围
+            while (!startDate.isAfter(endDate)) {
+                String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                Map<String, Object> dailyStats = findMapWithDateValue(maps1, formattedDate);
+
+                if (dailyStats != null) {
+                    dateRangeStatistics.add(dailyStats);
+                } else {
+                    Map<String, Object> dateMap = new HashMap<>();
+                    dateMap.put("time", formattedDate);
+                    dateMap.put("electrovalence", 0);
+                    dateMap.put("orderCount", 0);
+                    dateMap.put("paymentAmount", 0);
+                    dateMap.put("paymoney", 0);
+                    dateMap.put("servicecharge", 0);
+                    dateRangeStatistics.add(dateMap);
+                }
+
+                // 移动到下一天
+                startDate = startDate.plusDays(1);
+            }
+            tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }else if (statisticsQueryDto.getDayType()==3){
             List<Map<String,Object>> maps1 = chargingOrderService.getMonthData(chargingOrderIds);
-            tCharingOrderMapVO.setMaps1(maps1);
+
+            LocalDate startDate = statisticsQueryDto.getStartTime();
+            LocalDate endDate = statisticsQueryDto.getEndTime();
+
+            List<Map<String, Object>> dateRangeStatistics = new ArrayList<>();
+
+            // 遍历日期范围
+            while (!startDate.isAfter(endDate)) {
+                String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                Map<String, Object> dailyStats = findMapWithDateValue(maps1, formattedDate);
+
+                if (dailyStats != null) {
+                    dateRangeStatistics.add(dailyStats);
+                } else {
+                    Map<String, Object> dateMap = new HashMap<>();
+                    dateMap.put("time", formattedDate);
+                    dateMap.put("electrovalence", 0);
+                    dateMap.put("orderCount", 0);
+                    dateMap.put("paymentAmount", 0);
+                    dateMap.put("paymoney", 0);
+                    dateMap.put("servicecharge", 0);
+                    dateRangeStatistics.add(dateMap);
+                }
+
+                // 移动到下一天
+                startDate = startDate.plusDays(1);
+            }
+            tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }else  if (statisticsQueryDto.getDayType()==4){
             List<Map<String,Object>> maps1 = chargingOrderService.getYearData(chargingOrderIds);
-            tCharingOrderMapVO.setMaps1(maps1);
+
+            LocalDate startDate = statisticsQueryDto.getStartTime();
+            LocalDate endDate = statisticsQueryDto.getEndTime();
+
+            List<Map<String, Object>> dateRangeStatistics = new ArrayList<>();
+
+            // 遍历日期范围
+            while (!startDate.isAfter(endDate)) {
+                String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                Map<String, Object> dailyStats = findMapWithDateValue(maps1, formattedDate);
+
+                if (dailyStats != null) {
+                    dateRangeStatistics.add(dailyStats);
+                } else {
+                    Map<String, Object> dateMap = new HashMap<>();
+                    dateMap.put("time", formattedDate);
+                    dateMap.put("electrovalence", 0);
+                    dateMap.put("orderCount", 0);
+                    dateMap.put("paymentAmount", 0);
+                    dateMap.put("paymoney", 0);
+                    dateMap.put("servicecharge", 0);
+                    dateRangeStatistics.add(dateMap);
+                }
+
+                // 移动到下一天
+                startDate = startDate.plusDays(1);
+            }
+            tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }else if (statisticsQueryDto.getDayType()==5){
             List<Map<String,Object>> maps1 = chargingOrderService.getByDate(chargingOrderIds);
-            tCharingOrderMapVO.setMaps1(maps1);
+
+            LocalDate startDate = statisticsQueryDto.getStartTime();
+            LocalDate endDate = statisticsQueryDto.getEndTime();
+
+            List<Map<String, Object>> dateRangeStatistics = new ArrayList<>();
+
+            // 遍历日期范围
+            while (!startDate.isAfter(endDate)) {
+                String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                Map<String, Object> dailyStats = findMapWithDateValue(maps1, formattedDate);
+
+                if (dailyStats != null) {
+                    dateRangeStatistics.add(dailyStats);
+                } else {
+                    Map<String, Object> dateMap = new HashMap<>();
+                    dateMap.put("time", formattedDate);
+                    dateMap.put("electrovalence", 0);
+                    dateMap.put("orderCount", 0);
+                    dateMap.put("paymentAmount", 0);
+                    dateMap.put("paymoney", 0);
+                    dateMap.put("servicecharge", 0);
+                    dateRangeStatistics.add(dateMap);
+                }
+
+                // 移动到下一天
+                startDate = startDate.plusDays(1);
+            }
+            tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }
 
 
         tCharingOrderMapVO.setMaps(maps);
+        BigDecimal allMoney = new BigDecimal(0);
+        for (Map<String, Object> map : maps) {
+            BigDecimal periodElectricPrice = (BigDecimal) map.get("period_electric_price");
+            allMoney = allMoney.add(periodElectricPrice);
+            BigDecimal total_amount = (BigDecimal) map.get("total_amount");
+            allMoney = allMoney.add(total_amount);
+        }
+        allMoney =  allMoney.multiply(new BigDecimal("0.006"));
 
-
+        tCharingOrderMapVO.setAllMoney(allMoney);
         return R.ok(tCharingOrderMapVO);
 
     }
@@ -1227,8 +1375,8 @@
         return R.ok(tCharingUserEquimentVO);
     }
 
-
-    private static double calculateAveragePercent(List<Map<String, Object>> mapList1, List<Map<String, Object>> mapList2) {
+    private static final DecimalFormat DF = new DecimalFormat("#.00");
+    public static double calculateAveragePercent(List<Map<String, Object>> mapList1, List<Map<String, Object>> mapList2) {
         int totalElements = mapList1.size() + mapList2.size();
         double sum = 0.0;
 
@@ -1250,7 +1398,10 @@
         }
 
         // 计算平均值
-        return sum / totalElements;
+        double average = sum / totalElements;
+
+        // 格式化为两位小数
+        return Double.parseDouble(DF.format(average));
     }
 
     @ResponseBody
@@ -1280,7 +1431,7 @@
         //当日的订单总数
         int size = list.size();
         //计算list中paymentAmount的总和
-        BigDecimal totalPaymentAmount = list.stream().map(TChargingOrder::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal totalPaymentAmount = list.stream().map(TChargingOrder::getPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
         //计算list中electrovalence的总和
         BigDecimal totalElectrovalence = list.stream().map(TChargingOrder::getElectrovalence).reduce(BigDecimal.ZERO, BigDecimal::add);
         //计算list中serviceCharge的总和
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
index f686282..9dadd2f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -3,7 +3,9 @@
 import java.time.LocalDateTime;
 
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.account.api.feignClient.AppUserAddressClient;
 import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.TAppUserAddress;
 import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
@@ -266,6 +268,8 @@
             return R.ok(exchangeOrderService.lambdaQuery().eq(TExchangeOrder::getCouponId,goodId).eq(TExchangeOrder::getAppUserId,userId).ne(TExchangeOrder::getStatus,4).count());
         }
     }
+    @Resource
+    private AppUserAddressClient appUserAddressClient;
 
     @PostMapping("/create")
     public R<ExchangeBackDto> exchangeCreate(@RequestBody ExchangeDto exchangeDto){
@@ -289,10 +293,15 @@
         }
         tExchangeOrder.setCreateTime(LocalDateTime.now());
         tExchangeOrder.setDelFlag(false);
+
+        TAppUserAddress data = appUserAddressClient.getAppUserAddressById(exchangeDto.getAddressId()).getData();
+        tExchangeOrder.setAddressJson(JSON.toJSONString(data));
+
         exchangeOrderService.save(tExchangeOrder);
         ExchangeBackDto exchangeBackDto = new ExchangeBackDto();
         exchangeBackDto.setId(tExchangeOrder.getId());
         exchangeBackDto.setCode(tExchangeOrder.getCode());
+
         return R.ok(exchangeBackDto);
 
     }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
index 8b7a5c7..8d1ff8f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
@@ -127,7 +127,7 @@
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true),
             @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)", name = "orderType", required = true),
     })
-    public AjaxResult<OrderEvaluateVo> getOrderEvaluate(Integer orderId, Integer orderType){
+    public AjaxResult<OrderEvaluateVo> getOrderEvaluate(String orderId, Integer orderType){
         OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType);
         return AjaxResult.success(orderEvaluate);
     }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
index 3158616..68f7c00 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -5,9 +5,11 @@
 import java.time.LocalDateTime;
 
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.ruoyi.account.api.feignClient.AppCouponClient;
+import com.ruoyi.account.api.feignClient.AppUserAddressClient;
 import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.TAppUserAddress;
 import com.ruoyi.common.core.domain.R;
@@ -347,7 +349,9 @@
 		List<MyShoppingOrderList> list = shoppingOrderService.getNoInvoicedOrder(query);
 		return AjaxResult.success(list);
 	}
-	
+
+	@Resource
+	private AppUserAddressClient appUserAddressClient;
 	@PostMapping("/create")
 	public R<TShoppingOrder> shopCreate(@RequestBody ExchangeDto exchangeDto) {
 		TShoppingOrder shoppingOrder = new TShoppingOrder();
@@ -380,6 +384,10 @@
 		shoppingOrder.setPhone(exchangeDto.getPhone());
 		shoppingOrder.setCreateTime(LocalDateTime.now());
 		shoppingOrder.setDelFlag(false);
+
+
+		TAppUserAddress data = appUserAddressClient.getAppUserAddressById(exchangeDto.getAddressId()).getData();
+		shoppingOrder.setAddressJson(JSON.toJSONString(data));
 		shoppingOrderService.save(shoppingOrder);
 		
 		return R.ok(shoppingOrder);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java
index 2aa61b3..8444a5b 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java
@@ -69,7 +69,7 @@
      * @param orderId
      * @return
      */
-    OrderEvaluateVo getOrderEvaluate(Integer orderId, Integer orderType);
+    OrderEvaluateVo getOrderEvaluate(String orderId, Integer orderType);
 
     List<Map<String, Object>> goodTop(List<Integer> siteIds);
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index ec09c8b..22f1e35 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -217,27 +217,28 @@
                     if (data5.getTime_remaining()!=null){
                         chargingSecond+=data5.getTime_remaining()*60;
                     }
+                    Integer cumulativeChargingTime = data5.getCumulative_charging_time();
+                    // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟
+                    if (cumulativeChargingTime!=null){
+                        // 计算小时、分钟和秒
+                        int hours = cumulativeChargingTime / 60;
+                        int minutes = cumulativeChargingTime % 60;
+                        int seconds = 0; // 如果没有秒数,则默认是0
+                        StringBuilder result = new StringBuilder();
+                        if (hours > 0) {
+                            result.append(hours).append("小时");
+                        }
+                        if (minutes > 0) {
+                            result.append(minutes).append("分钟");
+                        }
+                        if (seconds > 0 || result.length() == 0) { // 如果秒数大于0,或者小时和分钟都为0,则显示秒数
+                            result.append(seconds).append("秒");
+                        }
+                        tChargingOrder.setChargingTime(result.toString());
+                    }
+                    tChargingOrder.setEndSoc(data5.getSoc().toString());
                 }
-                Integer cumulativeChargingTime = data5.getCumulative_charging_time();
-                // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟
-                if (cumulativeChargingTime!=null){
-                    // 计算小时、分钟和秒
-                    int hours = cumulativeChargingTime / 60;
-                    int minutes = cumulativeChargingTime % 60;
-                    int seconds = 0; // 如果没有秒数,则默认是0
-                    StringBuilder result = new StringBuilder();
-                    if (hours > 0) {
-                        result.append(hours).append("小时");
-                    }
-                    if (minutes > 0) {
-                        result.append(minutes).append("分钟");
-                    }
-                    if (seconds > 0 || result.length() == 0) { // 如果秒数大于0,或者小时和分钟都为0,则显示秒数
-                        result.append(seconds).append("秒");
-                    }
-                    tChargingOrder.setChargingTime(result.toString());
-                }
-                tChargingOrder.setEndSoc(data5.getSoc().toString());
+
                 TAppUser data3 = appUserClient.getUserById(tChargingOrder.getAppUserId()).getData();
                 if (tChargingOrder.getAppUserCarId()!=null){
                     List<TAppUserCar> data4 = appUserCarClient.getCarByIds(Arrays.asList(tChargingOrder.getAppUserCarId())).getData();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index e64bf42..e7152ca 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -2064,6 +2064,10 @@
 	private TShoppingOrderService shoppingOrderService;
 	@Resource
 	private TShoppingOrderRefundService shoppingOrderRefundService;
+	@Resource
+	private TVipOrderService vipOrderService;
+	@Resource
+	private TVipOrderRefundService vipOrderRefundService;
 	@Override
 	public R payRefund(PayOrderRefundDto payOrderQueryDto) {
 			if (payOrderQueryDto.getType()==1){
@@ -2198,6 +2202,71 @@
 				}
 
 			}
+
+		if (payOrderQueryDto.getType()==3){
+			TVipOrder tChargingOrder = vipOrderService.getById(payOrderQueryDto.getOrderId());
+			if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
+				return R.fail("退款金额需小于支付金额");
+			}
+			TVipOrderRefund chargingOrderRefund = new TVipOrderRefund();
+			chargingOrderRefund.setVipOrderId(tChargingOrder.getId());
+			chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
+			chargingOrderRefund.setRefundStatus(1);
+			chargingOrderRefund.setPayType(tChargingOrder.getPaymentType());
+			chargingOrderRefund.setRefundTime(LocalDateTime.now());
+			chargingOrderRefund.setCode(tChargingOrder.getCode());
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+			chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
+			chargingOrderRefund.setRefundTitle("后台退款");
+			chargingOrderRefund.setRefundContent("后台退款");
+			chargingOrderRefund.setRefundReason("后台退款");
+			chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
+			chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
+			chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
+
+			if(1 == tChargingOrder.getPaymentType()){
+				WxPaymentRefundModel model = new WxPaymentRefundModel();
+				model.setOut_trade_no(tChargingOrder.getCode());
+				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
+				model.setTransaction_id(tChargingOrder.getSerialNumber());
+				model.setReason("取消订单");
+				model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund");
+				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
+				amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue());
+				amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
+				amount.setCurrency("CNY");
+				model.setAmount(amount);
+				R<String> orderR = wxPaymentClient.refundOrderR(model);
+				if(200 == orderR.getCode()){
+					tChargingOrder.setRefundStatus(2);
+					tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
+					vipOrderService.updateById(tChargingOrder);
+					vipOrderRefundService.save(chargingOrderRefund);
+				}
+			}
+
+			if(2 == tChargingOrder.getPaymentType()){
+				RefundReq dto = new RefundReq();
+				dto.setOutTradeNo(tChargingOrder.getCode());
+				dto.setOutRequestNo(tChargingOrder.getCode());
+				dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString());
+				dto.setRefundReason("取消订单");
+				RefundResp resp = aliPaymentClient.refund(dto).getData();
+				if(null != resp){
+					SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
+
+					tChargingOrder.setRefundStatus(2);
+					tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
+
+
+					vipOrderService.updateById(tChargingOrder);
+
+					vipOrderRefundService.save(chargingOrderRefund);
+
+				}
+			}
+
+		}
 
 
 
@@ -2375,6 +2444,18 @@
 
 	@Override
 	public PageInfo<TSettlementConfirm> settlementList(SettlementListQuery dto) {
+		if (StringUtils.hasLength(dto.getStartTime())){
+			dto.setType(1);
+			String[] split = dto.getStartTime().split(" - ");
+			dto.setStartTime(split[0]);
+			dto.setEndTime(split[1]);
+		}
+		if (StringUtils.hasLength(dto.getEndTime())){
+			dto.setType(2);
+			String[] split = dto.getStartTime().split(" - ");
+			dto.setStartTime(split[0]);
+			dto.setEndTime(split[1]);
+		}
 		PageInfo<TSettlementConfirm> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
 		List<TSettlementConfirm> list = tSettlementConfirmMapper.settlementList(pageInfo,dto);
 		for (TSettlementConfirm tSettlementConfirm : list) {
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
index b0b28a0..2366b45 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -371,7 +371,7 @@
      * @return
      */
     @Override
-    public OrderEvaluateVo getOrderEvaluate(Integer orderId, Integer orderType) {
+    public OrderEvaluateVo getOrderEvaluate(String orderId, Integer orderType) {
         TOrderEvaluate orderEvaluate = this.getOne(new LambdaQueryWrapper<TOrderEvaluate>().eq(TOrderEvaluate::getOrderId, orderId).eq(TOrderEvaluate::getOrderType, orderType));
         if(null != orderEvaluate){
             OrderEvaluateVo orderEvaluateVo = new OrderEvaluateVo();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
index dba9058..a4aed6f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -296,9 +296,9 @@
 				}
 				e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
 				e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
-				e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
-				e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
-				e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
+				e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getOrderInvoiceId().equals(e.getId()) &&t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
+				e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getOrderInvoiceId().equals(e.getId()) &&t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
+				e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getOrderInvoiceId().equals(e.getId()) && t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
 			});
 		}
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
index 82c41ed..674d491 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -106,7 +106,6 @@
         List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto);
         List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatistics(pageInfo1,dto);
 
-        list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime()));
         // 优惠券金额
         BigDecimal coupon = new BigDecimal("0");
         // 会员抵扣金额
@@ -115,7 +114,6 @@
         BigDecimal vipActivity = new BigDecimal("0");
         // 赠送会员
         BigDecimal grantVip = new BigDecimal("0");
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for (TActivityStatisticslVO tActivityStatisticslVO : list1) {
             TAppUser data = appUserClient.getUserById(tActivityStatisticslVO.getAppUserId()).getData();
             if (data!=null){
@@ -167,9 +165,7 @@
                     break;
                 case 3:
                     // 会员订单 优惠金额大于0
-                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
-                            &&
-                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null){
                         vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount());
                     }
                     tActivityStatisticslVO.setType("会员活动");
@@ -191,7 +187,6 @@
             }
         }
         for (TActivityStatisticslVO tActivityStatisticslVO : list) {
-
             // 判断享有了哪些类型
             switch (tActivityStatisticslVO.getOrderType()){
                 case 1:
@@ -200,12 +195,10 @@
                     // 充电订单 优惠券金额大于0
                     if (tActivityStatisticslVO.getCouponDiscountAmount()!=null
                             &&
-                        (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
-                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
-                        stringBuilder.append("优惠券抵扣").append("+");
-                }
+                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                            stringBuilder.append("优惠券抵扣").append("+");
+                    }
                     if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
-                        discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
                         stringBuilder.append("会员抵扣").append("+");
                     }
                     if (stringBuilder.length()>0){
@@ -221,13 +214,11 @@
                     if (tActivityStatisticslVO.getCouponDiscountAmount()!=null
                             &&
                             (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
-                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
                         stringBuilder1.append("优惠券抵扣").append("+");
                     }
                     if (tActivityStatisticslVO.getVipDiscountAmount()!=null
                             &&
                             (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
-                        discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
                         stringBuilder1.append("会员抵扣").append("+");
                     }
                     if (stringBuilder1.length()>0){
@@ -238,23 +229,16 @@
                     break;
                 case 3:
                     // 会员订单 优惠金额大于0
-                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
-                            &&
-                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
-                        vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount());
-                    }
                     tActivityStatisticslVO.setType("会员活动");
                     tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                     break;
                 case 4:
                     // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员
                     if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){
-                        grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount());
                         tActivityStatisticslVO.setType("赠送会员");
                         tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                     }else{
                         // 赠送
-                        grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount());
                         tActivityStatisticslVO.setType("赠送会员");
                         tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                     }
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 8e66a69..232d838 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
@@ -397,7 +397,7 @@
     </select>
     <select id="getDateData" resultType="java.util.Map">
         SELECT
-            DATE_FORMAT( create_time, '%Y-%m-%d %H' ) as time,
+            DATE_FORMAT( create_time, '%H:00' ) as time,
         CAST(SUM(service_charge-coupon_discount_amount) AS DECIMAL(20, 6)) as  servicecharge,
         CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence,
         CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount,
@@ -962,7 +962,7 @@
                        315360
                    </if>
                    <if test="statisticsQueryDto.dayType == 5">
-                       (86400*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
+                       (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
                        ))
                    </if>
 
@@ -1010,19 +1010,19 @@
         SELECT
         FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.start_time)) /
         <if test="statisticsQueryDto.dayType == 1">
-            86400
+            864
         </if>
         <if test="statisticsQueryDto.dayType == 2">
-            604800
+            6048
         </if>
         <if test="statisticsQueryDto.dayType == 3">
-            2592000
+            25920
         </if>
         <if test="statisticsQueryDto.dayType == 4">
-            31536000
+            315360
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            (86400*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
+            (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
             ))
         </if>
 
@@ -1068,29 +1068,28 @@
         SELECT
             FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
         <if test="statisticsQueryDto.dayType == 1">
-            86400
+            864
         </if>
         <if test="statisticsQueryDto.dayType == 2">
-            604800
+            6048
         </if>
         <if test="statisticsQueryDto.dayType == 3">
-            2592000
+            25920
         </if>
         <if test="statisticsQueryDto.dayType == 4">
-            31536000
+            315360
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            (86400*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
+            (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
             ))
         </if>
 
-                   ), 2) AS percent,co.charging_gun_id,tc.name,cp.name as name1
+                   ), 2) AS percent,cp.name
         FROM
-            `charging_pile_service`.`t_fault_message` co
-                LEFT JOIN  `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
-                LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
+        `charging_pile_service`.`t_fault_message` co
+        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
         WHERE
-            co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =2
+        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =2
         <if test="siteIds != null and siteIds.size() > 0">
             and co.site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1110,14 +1109,14 @@
             AND YEAR( co.create_time ) = YEAR(CURDATE() )
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            <if test="statisticsQueryDto.startTime != null">
+
                 and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
-            </if>
-            <if test="statisticsQueryDto.endTime != null">
+
+
                 and DATE(co.create_time)  &lt;= #{statisticsQueryDto.endTime}
-            </if>
+
         </if>
-        GROUP BY tc.name,cp.name,co.charging_gun_id
+        GROUP BY cp.name
 
 
     </select>
@@ -1125,29 +1124,28 @@
         SELECT
         FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
         <if test="statisticsQueryDto.dayType == 1">
-            86400
+            864
         </if>
         <if test="statisticsQueryDto.dayType == 2">
-            604800
+            6048
         </if>
         <if test="statisticsQueryDto.dayType == 3">
-            2592000
+            25920
         </if>
         <if test="statisticsQueryDto.dayType == 4">
-            31536000
+            315360
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            (86400*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
+            (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
             ))
         </if>
 
-        ), 2) AS percent,co.charging_gun_id,tc.name,cp.name as name1
+        ), 2) AS percent,cp.name
         FROM
         `charging_pile_service`.`t_fault_message` co
-        LEFT JOIN  `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
-        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
+        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
         WHERE
-        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 2 and co.status =2
+        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type in (2,3) and co.status =2
         <if test="siteIds != null and siteIds.size() > 0">
             and co.site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1167,14 +1165,13 @@
             AND YEAR( co.create_time ) = YEAR(CURDATE() )
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            <if test="statisticsQueryDto.startTime != null">
+
                 and DATE(co.create_time) >= #{statisticsQueryDto.startTime}
-            </if>
-            <if test="statisticsQueryDto.endTime != null">
+
                 and DATE(co.create_time)  &lt;= #{statisticsQueryDto.endTime}
-            </if>
+
         </if>
-        GROUP BY tc.name,cp.name,co.charging_gun_id
+        GROUP BY cp.name
 
 
     </select>
@@ -1182,27 +1179,26 @@
         SELECT
         FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
         <if test="statisticsQueryDto.dayType == 1">
-            86400
+            864
         </if>
         <if test="statisticsQueryDto.dayType == 2">
-            604800
+            6048
         </if>
         <if test="statisticsQueryDto.dayType == 3">
-            2592000
+            25920
         </if>
         <if test="statisticsQueryDto.dayType == 4">
-            31536000
+            315360
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            (86400*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
+            (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
             ))
         </if>
 
-        ), 2) AS percent,co.charging_gun_id,tc.name,cp.name as name1
+        ), 2)  AS percent,cp.name
         FROM
         `charging_pile_service`.`t_fault_message` co
-        LEFT JOIN  `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
-        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
+        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
         WHERE
         co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =1
         <if test="siteIds != null and siteIds.size() > 0">
@@ -1231,35 +1227,34 @@
                 and DATE(co.create_time)  &lt;= #{statisticsQueryDto.endTime}
             </if>
         </if>
-        GROUP BY tc.name,cp.name,co.charging_gun_id
+        GROUP BY cp.name
     </select>
     <select id="equipmentMapOut2" resultType="java.util.Map">
         SELECT
         FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(co.end_time, co.down_time)) /
         <if test="statisticsQueryDto.dayType == 1">
-            86400
+            864
         </if>
         <if test="statisticsQueryDto.dayType == 2">
-            604800
+            6048
         </if>
         <if test="statisticsQueryDto.dayType == 3">
-            2592000
+            25920
         </if>
         <if test="statisticsQueryDto.dayType == 4">
-            31536000
+            315360
         </if>
         <if test="statisticsQueryDto.dayType == 5">
-            (86400*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
+            (864*(SELECT TIMESTAMPDIFF(DAY, #{statisticsQueryDto.startTime}, #{statisticsQueryDto.endTime}) +1 AS days_difference
             ))
         </if>
 
-        ), 2) AS percent,co.charging_gun_id,tc.name,cp.name as name1
+        ), 2) AS percent,cp.name
         FROM
         `charging_pile_service`.`t_fault_message` co
-        LEFT JOIN  `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
-        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
+        LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
         WHERE
-        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 2 and co.status =1
+        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =1
         <if test="siteIds != null and siteIds.size() > 0">
             and co.site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1286,12 +1281,12 @@
                 and DATE(co.create_time)  &lt;= #{statisticsQueryDto.endTime}
             </if>
         </if>
-        GROUP BY tc.name,cp.name,co.charging_gun_id
+        GROUP BY cp.name
 
     </select>
     <select id="needElec" resultType="java.util.Map">
         SELECT
-            FORMAT((SUM(co.current) / SUM(co.need_elec)), 2) AS percent,
+            FORMAT((SUM(co.current)*100 / SUM(co.need_elec)), 2) AS percent,
             co.charging_gun_id,
             tc.name as name,
             cp.name AS siteName
@@ -1300,7 +1295,7 @@
                 LEFT JOIN `charging_pile_service`.`t_charging_gun` tc ON co.charging_gun_id = tc.id
                 LEFT JOIN `charging_pile_service`.`t_charging_pile` cp ON tc.charging_pile_id = cp.id
         <where>
-            cp.type = 1 and co.need_elec != 0
+            tc.type = 4 and co.need_elec != 0
             <if test="siteIds != null and siteIds.size() > 0">
                 and co.site_id IN
                 <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1485,7 +1480,7 @@
     </select>
     <select id="needElec1" resultType="java.util.Map">
         SELECT
-        FORMAT((SUM(co.current) / SUM(co.need_elec)), 2) AS percent,
+        FORMAT((SUM(co.current)*100 / SUM(co.need_elec)), 2) AS percent,
         co.charging_gun_id,
         tc.name as name,
         cp.name AS siteName
@@ -1494,7 +1489,7 @@
         LEFT JOIN `charging_pile_service`.`t_charging_gun` tc ON co.charging_gun_id = tc.id
         LEFT JOIN `charging_pile_service`.`t_charging_pile` cp ON tc.charging_pile_id = cp.id
         <where>
-            cp.type = 2
+            tc.type in (2,3)
             <if test="siteIds != null and siteIds.size() > 0">
                 and co.site_id IN
                 <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml
index cd7c16b..5b7209c 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml
@@ -13,28 +13,22 @@
 select t1.* from
                 t_settlement_confirm t1
 where 1=1
-        <if test="req.type != null ">
-            and t1.type = #{req.type}
-        </if>
         <if test="req.partnerId != null ">
-            and t1.partnerId = #{req.partnerId}
+            and t1.partner_id = #{req.partnerId}
+        </if>
+        <if test="req.siteIds != null ">
+            and t1.site_id = #{req.siteIds}
         </if>
         <if test="req.type == 1 ">
             <if test="req.startTime != null and req.startTime!=''">
                 and (t1.start_time between #{req.startTime} and #{req.endTime}
             </if>
         </if>
-        <if test="req.siteIds != null and req.siteIds.size() > 0">
-            AND t1.site_id IN
-            <foreach collection="req.siteIds" item="siteId" open="(" separator="," close=")">
-                #{siteId}
-            </foreach>
-        </if>
         <if test="req.type == 2 ">
             <if test="req.startTime != null and req.startTime!=''">
                 and (t1.end_time between #{req.startTime} and #{req.endTime}
             </if>
         </if>
-and t1.del_flag = 0
+    and t1.del_flag = 0
     </select>
 </mapper>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
index 588abad..51bc3bb 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -44,6 +44,7 @@
         id, code, app_user_id, order_type, goods_id, coupon_id, purchase_quantity, app_user_address_id, order_amount, app_coupon_id, coupon_discount_amount, vip_discount, vip_discount_amount, payment_amount, payment_status, payment_type, serial_number, remark, status, express_company, express_number, consigner_id, consigner_time, receiving_time, cancellation_time, cancellation_id, refund_code, refund_amount, refund_status, refund_serial_number, refund_time, create_time, del_flag
     </sql>
     <select id="activityStatistics" resultType="com.ruoyi.order.api.vo.TActivityStatisticslVO">
+        select * from (
         select t9.code ,t9.order_amount as orderAmount,
         t9.coupon_discount_amount as couponDiscountAmount,
         t9.vip_discount_amount as vipDiscountAmount,
@@ -52,30 +53,29 @@
         t9.app_user_id as appUserId,
         1 as orderType
         from t_charging_order t9
-        where t9.id = 0 limit 1
+        where t9.id = 0
         <if test="req.orderType == null or req.orderType == 1">
         <if test="req.type == null or req.type == 1 or req.type == 2">
             union all
-            select t1.code ,t1.order_amount as orderAmount,
-               t1.coupon_discount_amount as couponDiscountAmount,
-               t1.vip_discount_amount as vipDiscountAmount,
-               t1.payment_amount as paymentAmount,
-               t1.create_time as createTime,
+            select
+            t1.code ,
+            t1.order_amount as orderAmount,
+            t1.coupon_discount_amount as couponDiscountAmount,
+            t1.vip_discount_amount as vipDiscountAmount,
+            t1.payment_amount as paymentAmount,
+            t1.create_time as createTime,
             t1.app_user_id as appUserId,
-               1 as orderType
+            1 as orderType
             from t_charging_order t1
             where 1 = 1
             <if test="null != req.code and req.code!=''">
                 and t1.code  LIKE CONCAT('%',#{req.code},'%')
             </if>
-            <if test="req.type != null and req.type != '' and req.type == 1">
+            <if test="req.type != null and req.type == 1">
                 and t1.coupon_discount_amount > 0
             </if>
-            <if test="req.type != null and req.type != '' and req.type == 2">
+            <if test="req.type != null and req.type == 2">
                 and t1.vip_discount_amount > 0
-            </if>
-            <if test="req.type == null ">
-                and (t1.vip_discount_amount > 0 or t1.coupon_discount_amount > 0)
             </if>
             <if test="null != req.userIds and req.userIds.size()>0" >
                 and t1.app_user_id in
@@ -92,8 +92,9 @@
             <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''">
                 AND (t1.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
             </if>
-        and t1.recharge_payment_status =2
-        and t1.refund_status !=2
+            and (t1.vip_discount_amount > 0 or t1.coupon_discount_amount > 0)
+            and t1.recharge_payment_status =2
+            and t1.refund_status !=2
             AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
         </if>
         </if>
@@ -192,10 +193,11 @@
                         AND (t5.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
                     </if>
                     AND t5.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
-
                 </if>
             </if>
         </if>
+                    )
+        order by createTime DESC
     </select>
     
     
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
index 1ff4d3a..fc51ae5 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
@@ -23,7 +23,7 @@
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.110.169:8848
         service: ${spring.application.name}
         group: DEFAULT_GROUP
         namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
@@ -31,7 +31,7 @@
         password: nacos
       config:
         # 配置中心地址
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.110.169:8848
         namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
         group: DEFAULT_GROUP
         name: ${spring.application.name}
@@ -56,7 +56,7 @@
     type: nacos
     nacos:
       # 开发环境
-      server-addr: 127.0.0.1:8848
+      server-addr: 192.168.110.169:8848
       namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
       group: DEFAULT_GROUP
       data-id: seata-server.properties
@@ -74,7 +74,7 @@
     nacos:
       application: seata-server
       # 开发环境
-      server-addr: 127.0.0.1:8848
+      server-addr: 192.168.110.169:8848
       namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
       group: DEFAULT_GROUP
       username: nacos
@@ -89,7 +89,7 @@
     nacos:
       discovery:
         # 开发环境
-        server-addr: 127.0.0.1:8848 # nacos注册中心地址
+        server-addr: 192.168.110.169:8848 # nacos注册中心地址
         namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
         group: DEFAULT_GROUP
         application: seata-server #Nacos 中 Seata 名称

--
Gitblit v1.7.1