From ee2bf95f3472a4179ee0fc7c8e4e2a35e1214bc8 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 23 十月 2024 10:15:08 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java                                               |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                                   |  242 +++--------------
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java                                                |    4 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java                                          |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java                                                |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java                                   |    6 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java                                     |    4 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java                                                 |    6 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java                                            |    3 
 ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java                             |   15 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java                                                 |    4 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java                                                |    6 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java                                   |    4 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java                       |    7 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml                                       |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java                                   |    4 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java            |    4 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java                                           |    4 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java                                               |    1 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                                    |    8 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java                                      |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java                                                          |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                                    |   44 +-
 ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml                                                                            |    3 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java                                            |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java |    3 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java                                                   |    3 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java                                                      |    3 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java                                                |    2 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java                                                |    1 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java                          |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java                      |   11 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java                                                   |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java                 |    7 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java                                            |    3 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java                                                   |    3 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java                                                |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java                                        |    5 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java                                             |    2 
 ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java                                               |  156 ++++++++++
 ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml                                                                     |    2 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java                                |    5 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java                                              |   28 +
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java                                           |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml                                        |   14 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                                        |    9 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                                      |   45 ++-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java                                           |    5 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java                                         |    4 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java                                                  |    3 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java                                                     |    2 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java                                                    |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java                                     |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java                                                  |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java                                                       |   14 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java                                        |    3 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java                        |   10 
 ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml                                                                      |    1 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java                                                |    3 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java                               |    2 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml                                                    |   18 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java                                           |    6 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java                                                     |    4 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java                                           |    8 
 64 files changed, 466 insertions(+), 320 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java
index f875a8c..72db785 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java
@@ -17,7 +17,7 @@
     @ApiModelProperty("最低会员价格")
     private BigDecimal minPrice;
     @ApiModelProperty("vip结束时间")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime vipExpireTime;
     @ApiModelProperty("当天是否签到")
     private Integer isSign;
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java
index f97603a..636b090 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java
@@ -7,7 +7,6 @@
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
 
 @Data
 @ApiModel("小程序扫一扫获取优惠券列表DTO")
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java
index bfc5838..dc44a1d 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java
@@ -37,11 +37,11 @@
     private BigDecimal discount;
     @ApiModelProperty(value = "结束时间")
     @TableField("end_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     @ApiModelProperty(value = "开始时间")
     @TableField("start_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
     @ApiModelProperty(value = "最高优惠金额")
     @TableField("maximum_discount_amount")
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java
index a16200e..a1c84d9 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -49,6 +50,7 @@
 
     @ApiModelProperty(value = "会员到期时间")
     @TableField("vip_end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime vipEndTime;
 
     @ApiModelProperty(value = "单位id")
@@ -99,6 +101,7 @@
 
     @ApiModelProperty(value = "最后一次登录时间")
     @TableField("last_login_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime lastLoginTime;
 
 
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
index 2a15a88..41202e3 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
@@ -36,6 +36,11 @@
             public R<TAppUserCar> getAppUserCarByLicensePlate(String licensePlate) {
                 return R.fail("根据车牌号查询数据失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<List<Long>> getAppUserCarByLicensePlates(String licensePlate) {
+                return null;
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
index 549263d..67cd9b6 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
@@ -30,6 +30,6 @@
 	 * @param code
 	 * @return
 	 */
-	@PostMapping("/t-app-user-integral-change/addAppUserIntegralChange")
+	@PostMapping("/t-app-user-integral-change/getTAppUserIntegralChangeByOrderCode")
 	R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(@RequestParam("code") String code);
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java
index 519c74a..d51745e 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -33,6 +34,8 @@
     @ApiModelProperty(value = "主键")
     @TableId("id")
     private Long id;
+    @TableField(exist = false)
+    private String uid;
 
     @ApiModelProperty(value = "用户id")
     @TableField("app_user_id")
@@ -44,9 +47,11 @@
 
     @ApiModelProperty(value = "结束时间")
     @TableField("end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     @ApiModelProperty(value = "开始时间")
     @TableField("start_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     @ApiModelProperty(value = "获得方式(1=积分兑换,2=现金购买)")
@@ -71,6 +76,7 @@
 
     @ApiModelProperty(value = "支付完成时间")
     @TableField("payment_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime paymentTime;
 
     @ApiModelProperty(value = "状态(1=未使用,2=已使用)")
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
index 90375e1..6c1c5f1 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
@@ -56,7 +56,7 @@
     @ApiModelProperty(value = "会员到期时间")
 
     @TableField("vip_end_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime vipEndTime;
 
     @ApiModelProperty(value = "单位id")
@@ -115,6 +115,7 @@
 
     @ApiModelProperty(value = "最后一次登录时间")
     @TableField("last_login_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime lastLoginTime;
     @ApiModelProperty(value = "邀请人id")
     @TableField("invite_user_id")
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java
index 3375419..4cd95b1 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java
@@ -60,10 +60,10 @@
 
     @ApiModelProperty(value = "添加时间")
     @TableField("create_time")
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
     @TableField(exist = false)
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime dateTime;
 
     @ApiModelProperty(value = "扩展字段")
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java
index fddfeb5..9f40e3a 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java
@@ -52,6 +52,7 @@
 
     @ApiModelProperty(value = "添加时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
 
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java
index daa3daa..1a9e9a4 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -42,6 +43,7 @@
 
     @ApiModelProperty(value = "添加时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
 
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java
index 5e0fe6c..710d212 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -47,6 +48,7 @@
 
     @ApiModelProperty(value = "添加时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
 
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java
index 2e131e2..0c380e4 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java
@@ -204,7 +204,7 @@
 	 */
 	@TableField("establishment_time")
 	@ApiModelProperty(value = "建站时间", notes = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private LocalDateTime establishmentTime;
 	/**
 	 * 排序
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
index cead23c..b6cd84b 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -64,10 +65,12 @@
 
     @ApiModelProperty(value = "入场时间")
     @TableField("in_parking_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime inParkingTime;
 
     @ApiModelProperty(value = "出场时间")
     @TableField("out_parking_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime outParkingTime;
 
     @ApiModelProperty(value = "停车时长(分钟)")
@@ -88,6 +91,7 @@
 
     @ApiModelProperty(value = "添加时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
     
     @ApiModelProperty(value = "超时占位费")
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java
index 3351f9c..7038166 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java
@@ -1,6 +1,7 @@
 package com.ruoyi.chargingPile.api.model;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -56,6 +57,7 @@
     @ApiModelProperty(value = "报修时间")
     @TableField("repair_time")
     @DateTimeFormat(pattern = "yyyy-MM-ddTHH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime repairTime;
 
 
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java
index 0fbeaf2..d5d09e7 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -90,6 +91,7 @@
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "更新者")
@@ -98,6 +100,7 @@
 
     @ApiModelProperty(value = "更新时间")
     @TableField("update_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime updateTime;
 
     @ApiModelProperty(value = "备注")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java
index 2318e75..b949598 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -83,6 +84,7 @@
     
     @ApiModelProperty(value = "首次添加时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "会员抵扣")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
index 4f762b6..a2c7b2b 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
@@ -58,7 +58,7 @@
 
     @ApiModelProperty(value = "退款成功时间")
     @TableField("refund_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime refundTime;
 
     @ApiModelProperty(value = "订单编号")
@@ -99,11 +99,13 @@
     private BigDecimal paymentAmount;
     @ApiModelProperty(value = "支付时间")
     @TableField(exist = false)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime payTime;
     @ApiModelProperty(value = "订单id")
     @TableField(exist = false)
     private String orderId;
     @TableField(exist = false)
     private String userId;
+    @TableField(exist = false)
+    private String uid;
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java
index 708996e..87b2e91 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java
@@ -5,6 +5,8 @@
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -32,6 +34,7 @@
     
     @ApiModelProperty(value = "支付时间")
     @TableField("pay_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime payTime;
     
     @ApiModelProperty(value = "支付流水号")
@@ -67,6 +70,7 @@
 
     @ApiModelProperty(value = "退款成功时间")
     @TableField("refund_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime refundTime;
 
     @ApiModelProperty(value = "订单编号")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java
index e772fc9..f7feb6c 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java
@@ -5,6 +5,8 @@
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -61,6 +63,7 @@
 
     @ApiModelProperty(value = "退款成功时间")
     @TableField("refund_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime refundTime;
 
     @ApiModelProperty(value = "订单编号")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java
index d42d8fa..fdf8b0e 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java
@@ -1,5 +1,6 @@
 package com.ruoyi.order.api.query;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.page.BasePage;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -12,8 +13,10 @@
 @ApiModel(value = "查询用户在会员期 有多少次享用了充电折扣订单")
 public class TChargingCountQuery  {
     @ApiModelProperty(value = "会员开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
     @ApiModelProperty(value = "会员结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     @ApiModelProperty(value = "用户id")
     private Long userId;
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java
index 5d6df4a..b443083 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java
@@ -35,7 +35,7 @@
     @ApiModelProperty(value = "实付")
     private BigDecimal paymentAmount;
     @ApiModelProperty(value = "消费时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime time;
     @ApiModelProperty(value = "总计优惠")
     private BigDecimal total;
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java
index ffedfad..dd60fd3 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -95,6 +96,7 @@
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "更新者")
@@ -103,6 +105,7 @@
 
     @ApiModelProperty(value = "更新时间")
     @TableField("update_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime updateTime;
 
     @ApiModelProperty(value = "备注")
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java
index 95f667a..753d75e 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -107,6 +108,7 @@
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "更新者")
@@ -115,6 +117,7 @@
 
     @ApiModelProperty(value = "更新时间")
     @TableField("update_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime updateTime;
 
 
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java
index b5d61f3..9842ed4 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -71,6 +72,7 @@
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "更新者")
@@ -79,6 +81,7 @@
 
     @ApiModelProperty(value = "更新时间")
     @TableField("update_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime updateTime;
 
     @ApiModelProperty(value = "备注")
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java
index 7bf5dfd..e87b6a5 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -51,6 +52,7 @@
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "更新者")
@@ -59,6 +61,7 @@
 
     @ApiModelProperty(value = "更新时间")
     @TableField("update_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime updateTime;
 
     @ApiModelProperty(value = "备注")
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java
index 9d6de53..43c5723 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -56,6 +57,7 @@
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "更新者")
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java
index d6cc19a..93a3e18 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java
@@ -1,5 +1,6 @@
 package com.ruoyi.other.api.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -28,6 +29,7 @@
     @ApiModelProperty(value = "有效期")
     private String validityTime;
     @ApiModelProperty(value = "结束时间 前端忽略")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     @ApiModelProperty(value = "是否可用")
     private Integer isUse;
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java
index 326c448..f1f8c8e 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java
@@ -66,8 +66,7 @@
 	 */
 	@TableField("login_time")
 	@ApiModelProperty(value = "登录时间")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private LocalDateTime loginTime;
 	/**
 	 * 登录状态(1=成功,2=失败)
@@ -83,6 +82,7 @@
 	 * 添加时间
 	 */
 	@TableField("create_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private LocalDateTime createTime;
 	/**
 	 * 删除状态(0=否,1=是)
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java
index dad1f6e..8605edd 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -38,6 +39,7 @@
     private Integer vipId;
 
     @ApiModelProperty(value = "会员到期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime vipEndTime;
 
     @ApiModelProperty(value = "单位id")
@@ -74,6 +76,7 @@
     private Integer status;
 
     @ApiModelProperty(value = "最后一次登录时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime lastLoginTime;
 
 }
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java
index 05ababf..09941a0 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java
@@ -21,7 +21,7 @@
 
     /** 创建时间 */
     @ApiModelProperty(value = "记录创建时间,前端忽略")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(value = "create_time", fill = FieldFill.INSERT)
     private LocalDateTime createTime;
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
index 0dbb38e..57ee24f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
@@ -20,9 +20,11 @@
     private Integer status;
     @ApiModelProperty(value = "操作开始时间", notes = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
     @ApiModelProperty(value = "操作结束时间", notes = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
 }
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 679aa59..f035710 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
@@ -529,9 +529,11 @@
     @GetMapping(value = "/user/points/detail")
     public R<TAppUserIntegralChange> pointsDetail(String id) {
         TAppUserIntegralChange byId = integralChangeService.getById(id);
-        TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData();
-        if (data!=null) {
-            byId.setGoodType(data.getOrderType());
+        if (byId.getChangeType()==6) {
+            TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData();
+            if (data != null) {
+                byId.setGoodType(data.getOrderType());
+            }
         }
         return R.ok(byId);
     }
@@ -693,6 +695,7 @@
     @GetMapping(value = "/user/coupon/getById")
     public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) {
         TAppCoupon appCoupon = appCouponService.getById(id);
+        appCoupon.setUid(id.toString());
         return R.ok(appCoupon);
     }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java
index cb1aa05..7ef107f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java
@@ -38,7 +38,7 @@
 	 */
 	@PostMapping("/getInviteUser")
 	public R<TInviteUser> getInviteUser(@RequestBody GetInviteUser query){
-		TInviteUser one = inviteUserService.getOne(new LambdaQueryWrapper<TInviteUser>().eq(TInviteUser::getAppUserId, query.getBeInvitedAppUserId())
+		TInviteUser one = inviteUserService.getOne(new LambdaQueryWrapper<TInviteUser>().eq(TInviteUser::getAppUserId, query.getAppUserId())
 				.eq(TInviteUser::getBeInvitedAppUserId, query.getBeInvitedAppUserId()));
 		return R.ok(one);
 	}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
index 4a70696..a3d64ac 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -71,8 +71,8 @@
     /**
      * 上传文件存储在本地的根路径
      */
-    @Value("${file.upload.location}")
-    private String localFilePath;
+//    @Value("${file.upload.location}")
+//    private String localFilePath;
 
 
 
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 06fad07..0f2598b 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
@@ -295,11 +295,12 @@
     @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
     public R<TParkLotRecordCountVo> work(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
         List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
-                .between(TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime(), parkingRecordQueryDto.getEndTime()).list();
+                .ge(parkingRecordQueryDto.getStartTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime())
+                .le(parkingRecordQueryDto.getEndTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getEndTime().plusDays(1)).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) {
@@ -322,8 +323,7 @@
     @PostMapping(value = "/parking/work1")
     @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
     public R<TParkLotRecordCountVo> work1(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
-        List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
-                .between(TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime(), parkingRecordQueryDto.getEndTime()).list();
+        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();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
index f182bc8..6e39044 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
@@ -109,8 +109,11 @@
             tChargingGunVO.setAuthUpdate(roleType == 1 ? true : partnerService.authMenu(objectId, siteId, SiteMenu.CHARGING_GUN_UPDATE));
             tChargingGunVO.setAuthViewRates(roleType == 1 ? true : partnerService.authMenu(objectId, siteId, SiteMenu.CHARGING_GUN_VIEW_RATES));
             if(null == tChargingGunVO.getAccountingStrategyId()){
-                Site site = siteClient.getSiteByIds(Arrays.asList(tChargingGunVO.getSiteId())).getData().get(0);
-                tChargingGunVO.setAccountingStrategyId(site.getAccountingStrategyId());
+                List<Site> data = siteClient.getSiteByIds(Arrays.asList(tChargingGunVO.getSiteId())).getData();
+                if(data.size() > 0){
+                    Site site = data.get(0);
+                    tChargingGunVO.setAccountingStrategyId(site.getAccountingStrategyId());
+                }
             }
         }
         pageInfo.setRecords(list);
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
index cddd92b..1c55a4d 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -442,7 +442,7 @@
 		//充电中
 		long charging = list.stream().filter(s -> s.getStatus().equals(4)).count();
 		//离网
-		long offline = list.stream().filter(s -> s.getStatus().equals(0)).count();
+		long offline = list.stream().filter(s -> s.getStatus().equals(1)).count();
 		//故障
 		long breakdown = list.stream().filter(s -> s.getStatus().equals(7)).count();
 		ChargingGunCountMonitoring chargingGunCountMonitoring = new ChargingGunCountMonitoring();
@@ -488,8 +488,8 @@
 		
 		if(null != query.getStatus() && 0 < query.getStatus().size()){
 			if(query.getStatus().contains(3)){
+				query.getStatus().add(5);
 				query.getStatus().add(6);
-				query.getStatus().add(7);
 			}
 		}
 		PageInfo<ChargingGunMonitoring> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
@@ -501,12 +501,13 @@
 			}
 			if(status == 4){
 				Integer id = gunMonitoring.getId();
-				//根据订单数据查询车牌号
 				TChargingOrder chargingOrder = chargingOrderClient.getOrderDetailByGunId(id).getData();
 				if(null != chargingOrder){
 					Long appUserCarId = chargingOrder.getAppUserCarId();
-					TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(appUserCarId)).getData().get(0);
-					gunMonitoring.setLicensePlate(tAppUserCar.getLicensePlate());
+					if(null != appUserCarId){
+						TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(appUserCarId)).getData().get(0);
+						gunMonitoring.setLicensePlate(tAppUserCar.getLicensePlate());
+					}
 
 					UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
 					gunMonitoring.setChargingRatio(BigDecimal.valueOf(data.getSoc()));
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
index 94722b1..7570bee 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
@@ -46,7 +46,7 @@
   enabled: true
   application-id: ${spring.application.name}
   tx-service-group: seata_tx_group    #此处配置自定义的seata事务分组名称
-  enable-auto-data-source-proxy: true
+  enable-auto-data-source-proxy: false
   service:
     vgroup-mapping:
       seata_tx_group: default
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 900f562..a4e5734 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
@@ -74,6 +74,9 @@
         IFNULL(COUNT(charge_mode),0) AS modeCount
         FROM t_charging_gun
         WHERE del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+        AND charging_pile_id in (
+        select id from `charging_pile_service`.`t_charging_pile` where  del_flag = 0
+        )
         <if test="siteIds != null and siteIds.size()>0">
             AND site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -85,12 +88,15 @@
     <select id="getStatusModeStatistics" resultType="com.ruoyi.chargingPile.api.vo.StatusModeStatisticsVO">
         SELECT
         charge_mode,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 2),0) AS freeCount,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 5),0) AS filledCount,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 3),0) AS insertCount,
-        IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 4),0) AS chargingCount
+        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
         FROM t_charging_gun
         WHERE del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} AND charge_mode = #{chargeMode}
+        AND charging_pile_id in (
+        select id from `charging_pile_service`.`t_charging_pile` where  del_flag = 0
+        )
         <if test="siteIds != null and siteIds.size()>0">
             AND site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml
index ce989fc..6a5ef5e 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml
@@ -105,7 +105,7 @@
             </foreach>
         </if>
         <if test="null != query.name and '' != query.name">
-            and a.name like CONCAT('%', #{query.name}, '%')
+            and CONCAT(b.number, a.name) like CONCAT('%', #{query.name}, '%')
         </if>
     </select>
 </mapper>
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 3df51d9..f9c9725 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
@@ -34,7 +34,7 @@
     public R<UploadRealTimeMonitoringData> chargingOrderInfo(@RequestParam("orderId") String orderId){
         List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(orderId);
         if(dataByOrderCode.size() > 0){
-            UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(dataByOrderCode.size() - 1);
+            UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0);
             return R.ok(uploadRealTimeMonitoringData);
         }
         return R.ok();
@@ -51,7 +51,7 @@
         for (String s : orderId.split(",")) {
             List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(s);
             if(dataByOrderCode.size() > 0){
-                UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(dataByOrderCode.size() - 1);
+                UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0);
                 res.add(uploadRealTimeMonitoringData);
             }
 
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 29bea82..886759b 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
@@ -1,5 +1,6 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
+import cn.hutool.db.sql.Direction;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.integration.iotda.constant.IotConstant;
@@ -54,7 +55,7 @@
             query.addCriteria(Criteria.where("transaction_serial_number").is(code));
         }
         List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
-                query.with(Sort.by("create_time"))
+                query.with(Sort.by(Sort.Order.desc("create_time")))
                 , UploadRealTimeMonitoringData.class);
         return uploadRealTimeMonitoringData;
     }
diff --git a/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
index b61f26e..834c664 100644
--- a/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
@@ -14,7 +14,6 @@
     # 环境配置
     active: dev
 #    active: prod
-    
 ---
 spring:
   cloud:
diff --git a/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java b/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
index 7376928..0e145ea 100644
--- a/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
+++ b/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
@@ -1,8 +1,21 @@
 package com.ruoyi.integration;
 
+import com.alibaba.fastjson2.JSON;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
+import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiIntegrationApplication.class)
 public class RuoYiIntegrationApplicationTests {
-
+	@Resource
+	private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
+	@Test
+	public void test(){
+		List<UploadRealTimeMonitoringData> list = uploadRealTimeMonitoringDataService.getDataByOrderCode("CD93220241022154810850");
+		System.err.println(JSON.toJSONString(list));
+	}
 }
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 6b5b491..0e6df06 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,9 +3,7 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.time.DayOfWeek;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
+import java.time.*;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -23,6 +21,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.ChargingOrderGroup;
 import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
+import com.ruoyi.common.core.web.domain.BasePojo;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -65,7 +64,6 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
-import java.time.YearMonth;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.TemporalAdjusters;
@@ -183,7 +181,7 @@
                 payOrderInfoDto.setTradeNo(byId.getRechargeSerialNumber());
                 payOrderInfoDto.setPayType(byId.getRechargePaymentType());
                 payOrderInfoDto.setPayAmount(byId.getPaymentAmount());
-                payOrderInfoDto.setPayTime(byId.getPayTime());
+                payOrderInfoDto.setPayTime(byId.getCreateTime());
                 payOrderInfoDto.setRefundAmount(byId.getRefundAmount());
                 return R.ok(payOrderInfoDto);
             case 2:
@@ -194,7 +192,7 @@
                 payOrderInfoDto1.setTradeNo(byId1.getSerialNumber());
                 payOrderInfoDto1.setPayType(byId1.getPaymentType());
                 payOrderInfoDto1.setPayAmount(byId1.getPaymentAmount());
-                payOrderInfoDto1.setPayTime(byId1.getPayTime());
+                payOrderInfoDto1.setPayTime(byId1.getCreateTime());
                 payOrderInfoDto1.setRefundAmount(byId1.getRefundAmount());
                 return R.ok(payOrderInfoDto1);
             case 3:
@@ -205,7 +203,7 @@
                 payOrderInfoDto2.setTradeNo(byId2.getSerialNumber());
                 payOrderInfoDto2.setPayType(byId2.getPaymentType());
                 payOrderInfoDto2.setPayAmount(byId2.getPaymentAmount());
-                payOrderInfoDto2.setPayTime(byId2.getPayTime());
+                payOrderInfoDto2.setPayTime(byId2.getCreateTime());
                 payOrderInfoDto2.setRefundAmount(byId2.getRefundAmount());
                 return R.ok(payOrderInfoDto2);
             //todo luo 停车场订单
@@ -280,7 +278,11 @@
     @PostMapping(value = "/pay/order/refund/list")
     @ApiOperation(value = "列表", tags = {"管理后台-支付订单-退款订单"})
     public R<PageInfo<TChargingOrderRefund>> refundList(@RequestBody ChargingRefundDto chargingRefundDto) {
-        return chargingOrderService.getRefundList(chargingRefundDto);
+        R<PageInfo<TChargingOrderRefund>> refundList = chargingOrderService.getRefundList(chargingRefundDto);
+        for (TChargingOrderRefund record : refundList.getData().getRecords()) {
+            record.setUid(record.getId().toString());
+        }
+        return refundList;
 
     }
     @ResponseBody
@@ -307,7 +309,7 @@
     }
 
     @ResponseBody
-    @PostMapping(value = "/chargingOrderInfo")
+    @GetMapping(value = "/chargingOrderInfo")
     @ApiOperation(value = "充电桩订单列表查看详情", tags = {"管理后台-订单管理"})
     public AjaxResult<ChargingOrderInfoVO> chargingOrderInfo(String strategyId) {
         TChargingOrder byId = chargingOrderService.getById(strategyId);
@@ -690,7 +692,9 @@
         BigDecimal data2 =   vipOrderService.getSumAmout(sixBefore);
         map.put("vipAmount",data2);
 
-    return R.ok(map);
+
+
+        return R.ok(map);
     }
 
     @Resource
@@ -814,6 +818,7 @@
         }
         List<TChargingOrder> list = chargingOrderService.lambdaQuery().ge(TChargingOrder::getStartTime, start).le(TChargingOrder::getEndTime, end).in(TChargingOrder::getSiteId, siteIds).list();
         List<Long> chargingOrderIds = list.stream().map(TChargingOrder::getId).collect(Collectors.toList());
+        chargingOrderIds.add(-1L);
         //上方饼图
          List<Map<String,Object>> maps =   chargingOrderService.getSumByType(chargingOrderIds);
 
@@ -950,16 +955,18 @@
             tCharingUserMapVO.setMap(dateRangeStatistics);
 
 
-            List<Map<String,Object>> map1 =  chargingOrderService.usersByQuery(statisticsQueryDto);
+            List<Map<String,Object>> map1 =  chargingOrderService.usersByQuery1(statisticsQueryDto);
 
 
 
+            LocalDate startDate1 = statisticsQueryDto.getStartTime();
+            LocalDate endDate1 = statisticsQueryDto.getEndTime();
 
             List<Map<String, Object>> dateRangeStatistics1 = new ArrayList<>();
 
             // 遍历日期范围
-            while (!startDate.isAfter(endDate)) {
-                String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+            while (!startDate1.isAfter(endDate1)) {
+                String formattedDate = startDate1.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                 Map<String, Object> dailyStats = findMapWithDateValue(map1, formattedDate);
 
                 if (dailyStats != null) {
@@ -972,7 +979,7 @@
                 }
 
                 // 移动到下一天
-                startDate = startDate.plusDays(1);
+                startDate1 = startDate1.plusDays(1);
             }
 
             tCharingUserMapVO.setMap1(dateRangeStatistics1);
@@ -1156,7 +1163,15 @@
         } else {
             siteIds.add(statisticsQueryDto.getSiteId());
         }
-        List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list();
+        LocalDateTime selectDate = statisticsQueryDto.getSelectDate();
+        LocalDateTime min = selectDate.with(LocalTime.MIN);
+        LocalDateTime max = selectDate.with(LocalTime.MAX);
+
+
+
+
+
+        List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list();
         //当日的订单总数
         int size = list.size();
         //计算list中paymentAmount的总和
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
index 9a12758..96f71ec 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
@@ -6,6 +6,7 @@
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.domain.BasePojo;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
@@ -63,7 +64,9 @@
                 .like(manageOrderAppealQuery.getCode() != null, TOrderAppeal::getCode, manageOrderAppealQuery.getCode())
                 .like(manageOrderAppealQuery.getPhone() != null, TOrderAppeal::getPhone, manageOrderAppealQuery.getPhone())
                 .eq(manageOrderAppealQuery.getOrderType() != null, TOrderAppeal::getOrderType, manageOrderAppealQuery.getOrderType())
-                .in(TOrderAppeal::getOrderType, 1, 2).page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize()));
+                .in(TOrderAppeal::getOrderType, 1, 2)
+                .orderByDesc(TOrderAppeal::getFeedbackTime)
+                .page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize()));
 
         for (TOrderAppeal record : page.getRecords()) {
             record.setUid(record.getId().toString());
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 e2e2faf..8b7a5c7 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(@PathVariable Integer orderId, Integer orderType){
+    public AjaxResult<OrderEvaluateVo> getOrderEvaluate(Integer 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/dto/ChargingStatisticsQueryDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java
index 7e70f9a..0c028e2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java
@@ -1,9 +1,11 @@
 package com.ruoyi.order.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 @Data
 public class ChargingStatisticsQueryDto {
@@ -16,5 +18,6 @@
     @ApiModelProperty("结束时间")
     private LocalDate endTime;
     @ApiModelProperty("工作台用查询参数")
-    private LocalDate selectDate;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
+    private LocalDateTime selectDate;
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
index 6fd7392..4b5a40a 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
@@ -1,5 +1,6 @@
 package com.ruoyi.order.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -28,10 +29,13 @@
     @ApiModelProperty("支付金额")
     private Double paymentAmount;
     @ApiModelProperty("下单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
     @ApiModelProperty("订单完成时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     @ApiModelProperty("支付时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime payTime;
     private Integer refundStatus;
     private Double finalAmount;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java
index d20be80..ebe73e6 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java
@@ -25,10 +25,10 @@
     private Integer isRefund;
 
     @ApiModelProperty("下单时间1")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime1;
     @ApiModelProperty("下单时间2")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime2;
 
 }
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 4bb5752..f955e49 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
@@ -459,33 +459,33 @@
                 }
                 BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge());
                 tChargingOrder.setTotalAmount(add.toString());
-                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount().toString());
+                tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
                 UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
                 if (data5!=null){
                     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();
@@ -514,7 +514,7 @@
                 electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
                 electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                 }
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){
+                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() !=null && tChargingOrder.getRefundStatus() == 2){
                     refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                 }
                 // 累加累计服务费
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java
index cff3804..a75a12c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java
@@ -52,8 +52,11 @@
 		List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>().in(TChargingOrder::getSiteId, siteIds).eq(TChargingOrder::getStatus, 5)
 				.eq(TChargingOrder::getDelFlag, 0).last(" and start_time between '" + startTime + "' and DATE_FORMAT(now(), '%Y-%m-%d %H:%i:%s')"));
 		List<Long> orderId = list.stream().map(TChargingOrder::getId).collect(Collectors.toList());
-		List<TChargingOrderAccountingStrategy> list1 = this.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().in(TChargingOrderAccountingStrategy::getChargingOrderId, orderId));
-		
+		List<TChargingOrderAccountingStrategy> list1 = new ArrayList<>();
+		if(orderId.size() > 0){
+			list1 = this.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().in(TChargingOrderAccountingStrategy::getChargingOrderId, orderId));
+		}
+
 		List<List<Map<String, Object>>> list2 = new ArrayList<>();
 		for (int i = days; i >= 0; i--) {
 			Calendar nowDateTime = Calendar.getInstance();
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 d895c8d..84b911b 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
@@ -441,7 +441,6 @@
 		chargingOrder.setRechargePaymentStatus(1);
 		chargingOrder.setRechargeAmount(addChargingOrder.getPaymentAmount());
 		chargingOrder.setAppCouponId(addChargingOrder.getAppUserCouponId());
-		chargingOrder.setVipDiscount(new BigDecimal(10));
 		chargingOrder.setVipDiscountAmount(BigDecimal.ZERO);
 		chargingOrder.setOrderSource(0);
 		chargingOrder.setTitle("【充电桩充电】" + chargingPile.getNumber() + "号桩/" + tChargingGun.getCode() + "号枪");
@@ -609,12 +608,12 @@
 						if(times > m){
 							//充电时间跨度两个计费策略,需要继续对下一个策略进行计算
 							serviceCharge = s_server_amount.multiply(new BigDecimal(m));
-							discountAmount = discountAmount.add(serviceCharge.multiply((new BigDecimal(1).subtract(discount))));
+							discountAmount = discountAmount.add(serviceCharge.multiply(new BigDecimal(1).subtract(discount)));
 							rechargeAmount1 = rechargeAmount1.subtract(s_total_amount.multiply(new BigDecimal(m)));
 							nowTimeMillis = null;
 						}else{
 							serviceCharge = s_server_amount.multiply(new BigDecimal(times));
-							discountAmount = discountAmount.add(serviceCharge.multiply((new BigDecimal(1).subtract(discount))));
+							discountAmount = discountAmount.add(serviceCharge.multiply(new BigDecimal(1).subtract(discount)));
 							break;
 						}
 					}
@@ -652,116 +651,10 @@
 		
 		log.error(chargingOrder.getCode() + ":-------------------远程调起开始充电请求-------------------" + platformStartCharging.toString());
 		sendMessageClient.platformStartCharging(platformStartCharging);
-		//异步线程检测远程启动的应答结果。如果失败,则需要全额退款
-		Long id = chargingOrder.getId();
-		//执行5分钟的定时任务检测
-		ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
-		scheduler.scheduleAtFixedRate(()->{
-			if(timingDetection(id)){
-				scheduler.shutdown();
-			}
-		}, 5, 1, TimeUnit.SECONDS);
 		return AjaxResult.success();
 	}
 	
-	
-	/**
-	 * 定时检测mongodb数据库数据
-	 * @param id
-	 * @return
-	 */
-	public boolean timingDetection(Long id){
-		TChargingOrder chargingOrder = this.getById(id);
-		if(chargingOrder.getStatus() != 2){
-			return true;
-		}
-		String code = chargingOrder.getCode();
-		String key = "AQJC_" + chargingOrder.getChargingGunId();
-		//获取安全校验
-		com.ruoyi.integration.api.model.SecurityDetection securityDetection = securityDetectionClient.getSecurityDetection(chargingOrder.getCode()).getData();
-		if(null != securityDetection){
-			PreChargeCheck preChargeCheck1 =  redisService.getCacheObject("AQJC_" + chargingOrder.getChargingGunId());
-			if(null != preChargeCheck1){
-				preChargeCheck1.setElectronicLockLock(true);
-				preChargeCheck1.setInsulationTesting(true);
-				preChargeCheck1.setSecureConnectionDetection(securityDetection.getSecure_connection() == 1);
-				preChargeCheck1.setStartupSuccess(1);
-				redisService.setCacheObject("AQJC_" + chargingOrder.getChargingGunId(), preChargeCheck1, 24L, TimeUnit.HOURS);
-			}
-		}
-		
-		List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
-		if(null == data){
-			return false;
-		}
-		log.error(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
-		if(data.size() != 0){
-			PlatformStartChargingReply platformStartChargingReply = data.get(1);
-			Integer startup_result = platformStartChargingReply.getStartup_result();
-			Integer failure_cause = platformStartChargingReply.getFailure_cause();
-			Integer counter = counter_map.get(code);
-			PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
-			//5分钟内还未插枪则取消充电,退回金额。
-			if(failure_cause == 5 && (null == counter || counter < 300)){
-				counter = (null == counter ? 0 : counter) + 1;
-				counter_map.put(code, counter);
-				//启动失败
-				preChargeCheck1.setStartupSuccess(3);
-				preChargeCheck1.setFailureCause(failure_cause);
-				redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
-				return false;
-			}
-			
-			//清除计时器中的无效数据
-			counter_map.remove(code);
-			TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code));
-			if(0 == startup_result){
-				//启动失败
-				preChargeCheck1.setStartupSuccess(3);
-				preChargeCheck1.setFailureCause(failure_cause);
-				//启动失败后取消订单,退款操作
-				refund(code);
-				order.setStatus(-1);
-				order.setEndMode(0);
-			}else{
-				//启动成功
-				preChargeCheck1.setStartupSuccess(2);
-				order.setStatus(3);
-				order.setStartTime(LocalDateTime.now());
-			}
-			this.updateById(order);
-			redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
-			return true;
-		}else{
-			Integer counter = boot_failed_map.get(code);
-			log.error(code + ":-------------------未上传开启充电结果-------------------" + counter);
-			PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
-			//5分钟内未启动成功,退回金额。
-			if(null == counter || counter < 300){
-				counter = (null == counter ? 0 : counter) + 1;
-				boot_failed_map.put(code, counter);
-				//启动失败
-				preChargeCheck1.setStartupSuccess(3);
-				preChargeCheck1.setFailureCause(0);
-				redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
-				return false;
-			}
-			
-			//清除计时器中的无效数据
-			boot_failed_map.remove(code);
-			TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code));
-			//启动失败
-			preChargeCheck1.setStartupSuccess(3);
-			preChargeCheck1.setFailureCause(0);
-			//启动失败后取消订单,退款操作
-			refund(code);
-			order.setStatus(-1);
-			order.setEndMode(0);
-			this.updateById(order);
-			redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
-			return true;
-		}
-	}
+
 	
 	
 	/**
@@ -928,7 +821,7 @@
 		if(null != data){
 			chargingDetails.setChargeCurrent(data.getOutput_current());
 			chargingDetails.setChargeVoltage(data.getOutput_voltage());
-			BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000));
+			BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000), new MathContext(4, RoundingMode.HALF_EVEN));
 			chargingDetails.setChargePower(power);
 			chargingDetails.setCompletionRatio(data.getSoc());
 			chargingDetails.setRemainingChargeTime(data.getTime_remaining());
@@ -983,70 +876,6 @@
 			sendMessageClient.platformStopCharging(platformStopCharging);
 			log.error(code1 + ":-------------------远程停止充电请求-------------------");
 			log.error(platformStopCharging.toString());
-			//开始查询停机应答,成功后开始计费费用
-			boolean stop_status = false;
-			for (int i = 0; i < 60; i++) {
-				TChargingOrder chargingOrder1 = this.getById(id);
-				if(chargingOrder1.getStatus() != 3){
-					stop_status = true;
-					break;
-				}
-				GetPlatformStopChargingReply query = new GetPlatformStopChargingReply();
-				query.setCharging_gun_code(chargingGun.getCode());
-				query.setCharging_pile_code(chargingPile.getCode());
-				
-				//将时间转换成UTC时间后查询数据(mongodb存储时间以UTC格式存储)
-				ZoneId zoneId = ZoneId.systemDefault();
-				ZonedDateTime zonedDateTime = ZonedDateTime.of(chargingOrder.getEndTime(), zoneId);
-				ZonedDateTime endTime = zonedDateTime.withZoneSameInstant(ZoneId.of("UTC"));
-				query.setEnd_time(endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-				PlatformStopChargingReply reply = platformStopChargingReplyClient.getPlatformStopChargingReply(query).getData();
-				log.error(code1 + ":-------------------查询远程停止充电应答-------------------");
-				if(null == reply){
-					log.error(code1 + ":-------------------远程停止充电应答无数据-------------------");
-					try {
-						Thread.sleep(1000);
-					} catch (InterruptedException e) {
-						throw new RuntimeException(e);
-					}
-					continue;
-				}
-				log.error(reply.toString());
-				
-				if(0 == reply.getStop_result()){
-					String failure_cause = "";
-					switch (reply.getFailure_cause()){
-						case 0:
-							failure_cause = "无";
-							break;
-						case 1:
-							failure_cause = "设备编号不匹配";
-							break;
-						case 2:
-							failure_cause = "枪未处于充电状态";
-							break;
-						case 3:
-							failure_cause = "其他";
-							break;
-					}
-					log.error(code1 + ":停机失败:订单号:{},失败原因:{}", chargingOrder.getCode(), failure_cause);
-					try {
-						Thread.sleep(1000);
-					} catch (InterruptedException e) {
-						throw new RuntimeException(e);
-					}
-				}else{
-					log.error(code1 + ":-------------------远程停止充电请求成功-------------------");
-					stop_status = true;
-					break;
-				}
-			}
-			if(stop_status){
-				chargingOrder.setEndMode(1);
-				this.updateById(chargingOrder);
-			}else{
-				log.error(code1 + ":-------------------远程停止充电应答最终失败-------------------");
-			}
 		});
 		return AjaxResult.success();
 	}
@@ -1124,7 +953,7 @@
 		//处理推荐奖励(被推荐首单奖励)
 		TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
 		long count = this.count(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserId, chargingOrder.getAppUserId())
-				.eq(TChargingOrder::getStatus, 5).isNull(TChargingOrder::getEndMode).eq(TChargingOrder::getDelFlag, 0));
+				.in(TChargingOrder::getStatus, Arrays.asList(4, 5)).eq(TChargingOrder::getDelFlag, 0));
 		if(null != appUser.getInviteUserId() && 1 == count){
 			TIntegralRule integralRule = integralRuleClient.getSet().getData();
 			String inviteUsersToEarnPoints = integralRule.getInviteUsersToEarnPoints();
@@ -1165,6 +994,7 @@
 			appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
 			appUserIntegralChange.setCreateTime(LocalDateTime.now());
 			appUserIntegralChange.setOrderCode(chargingOrder.getCode());
+			appUserIntegralChange.setExtension(chargingOrder.getId().toString());
 			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
 			
 			appUser1.setPoints(appUser1.getPoints() + num1);
@@ -1721,8 +1551,11 @@
 	public void chargeMonitoring(UploadRealTimeMonitoringDataQuery query) {
 		if(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(query.getTransaction_serial_number())){
 			//获取当前的计费策略
-			TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, query.getTransaction_serial_number()));
-			BigDecimal residualAmount = chargingOrder.getRechargeAmount().add(chargingOrder.getVipDiscountAmount()).subtract(query.getPaid_amount());
+			TChargingOrder chargingOrder1 = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, query.getTransaction_serial_number()));
+			BigDecimal residualAmount = chargingOrder1.getRechargeAmount().add(chargingOrder1.getVipDiscountAmount()).subtract(query.getPaid_amount());
+			TChargingOrder chargingOrder = new TChargingOrder();
+			chargingOrder.setId(chargingOrder1.getId());
+			chargingOrder.setAppUserId(chargingOrder1.getAppUserId());
 			chargingOrder.setResidualAmount(residualAmount);
 			if(query.getOutput_current().compareTo(BigDecimal.ZERO) != 0){
 				BigDecimal divide = (query.getOutput_current().multiply(query.getOutput_voltage())).divide(new BigDecimal(1000));
@@ -1732,11 +1565,12 @@
 				chargingOrder.setPower(divide);
 				chargingOrder.setNeedElec(query.getOutput_current());
 				
-				TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
+				TChargingGun chargingGun = new TChargingGun();
+				chargingGun.setId(chargingOrder1.getChargingGunId());
 				chargingGun.setChargingPower(divide);
-				chargingGun.setSoc(query.getSoc());
 				chargingGunClient.updateChargingGunById(chargingGun);
 			}
+			chargingOrder.setChargingCapacity(query.getCharging_degree());
 			chargingOrder.setElectricity(query.getCharging_degree());
 			chargingOrder.setTotalElectricity(new BigDecimal(100 - query.getSoc()));
 			this.updateById(chargingOrder);
@@ -1781,11 +1615,6 @@
 		if(status == 4 || status == 5){
 			return;
 		}
-		
-		//计算用户标签
-		editUserTag(chargingOrder);
-		//用户推荐奖励
-		referralReward(chargingOrder);
 		
 		//如果使用优惠券需要判断优惠券是否满足使用条件
 		//根据实际的充电金额计算退款金额   退回费用=(原金额/总金额)*(总金额-实际充电金额)
@@ -1840,7 +1669,7 @@
 				BigDecimal serviceCharge = originalServicePrice;
 				//计算优惠金额
 				if(null != chargingOrder.getVipDiscount()){
-					serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10))).setScale(2, RoundingMode.DOWN);
+					serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount()).setScale(2, RoundingMode.DOWN);
 				}
 				chargingOrderAccountingStrategy.setChargingCapacity(sharp_peak_charge);
 				chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
@@ -1878,7 +1707,8 @@
 		if(null != chargingOrder.getVipDiscount()){
 			//服务费折扣
 			discountAmount = periodServicePrice_total.multiply((new BigDecimal(1).subtract(chargingOrder.getVipDiscount())));
-			
+			periodServicePrice_total = periodServicePrice_total.multiply(chargingOrder.getVipDiscount());
+
 			TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
 			if(null != appUser.getVipId()){
 				//判断会员是否还有充电优惠次数
@@ -1931,9 +1761,17 @@
 			if(1 == preferentialMode){
 				//满减
 				if(payAmount.compareTo(tCoupon.getMeetTheConditions()) >= 0){
-					refundAmount = refundAmount.add(tCoupon.getDiscountAmount());
-					order.setCouponDiscountAmount(tCoupon.getDiscountAmount());
-					payAmount = payAmount.subtract(tCoupon.getDiscountAmount());
+					BigDecimal couponDiscountAmount = tCoupon.getDiscountAmount();
+					//如果优惠金额大于服务费金额,以服务费作为最大限制
+					if(periodServicePrice_total.compareTo(couponDiscountAmount) < 0){
+						refundAmount = refundAmount.add(periodServicePrice_total);
+						order.setCouponDiscountAmount(periodServicePrice_total);
+						payAmount = payAmount.subtract(periodServicePrice_total);
+					}else{
+						refundAmount = refundAmount.add(couponDiscountAmount);
+						order.setCouponDiscountAmount(couponDiscountAmount);
+						payAmount = payAmount.subtract(couponDiscountAmount);
+					}
 				}else{
 					order.setAppCouponId(null);
 					order.setCouponDiscountAmount(BigDecimal.ZERO);
@@ -1946,9 +1784,16 @@
 					//折扣金额
 					BigDecimal divide = payAmount.multiply(new BigDecimal(10).subtract(tCoupon.getDiscount())).divide(new BigDecimal(10));
 					divide = divide.compareTo(tCoupon.getMaximumDiscountAmount()) > 0 ? tCoupon.getMaximumDiscountAmount() : divide;
-					refundAmount = refundAmount.add(divide);
-					order.setCouponDiscountAmount(divide);
-					payAmount = payAmount.subtract(divide);
+					//如果优惠金额大于服务费金额,以服务费作为最大限制
+					if(periodServicePrice_total.compareTo(divide) < 0){
+						refundAmount = refundAmount.add(periodServicePrice_total);
+						order.setCouponDiscountAmount(periodServicePrice_total);
+						payAmount = payAmount.subtract(periodServicePrice_total);
+					}else{
+						refundAmount = refundAmount.add(divide);
+						order.setCouponDiscountAmount(divide);
+						payAmount = payAmount.subtract(divide);
+					}
 				}else{
 					order.setAppCouponId(null);
 					order.setCouponDiscountAmount(BigDecimal.ZERO);
@@ -1963,10 +1808,10 @@
 		chargingOrder = this.getById(order.getId());
 		
 		// 将枪状态重置为空闲
-		TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
+		TChargingGun chargingGun = new TChargingGun();
+		chargingGun.setId(chargingOrder.getChargingGunId());
 		chargingGun.setStatus(2);
 		chargingGun.setChargingPower(BigDecimal.ZERO);
-		chargingGun.setSoc(0);
 		chargingGunClient.updateChargingGunById(chargingGun);
 		
 		//添加积分
@@ -1992,10 +1837,15 @@
 			appUserIntegralChange.setCurrentIntegral(appUser.getPoints());
 			appUserIntegralChange.setCreateTime(LocalDateTime.now());
 			appUserIntegralChange.setOrderCode(chargingOrder.getCode());
+			appUserIntegralChange.setExtension(chargingOrder.getId().toString());
 			appUserClient.updateAppUser(appUser);
 			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
 		}
-		
+
+		//计算用户标签
+		editUserTag(chargingOrder);
+		//用户推荐奖励
+		referralReward(chargingOrder);
 		
 		//开始构建退款费用
 		if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
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 78d1c96..b0b28a0 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
@@ -347,6 +347,7 @@
                 appUser.setPoints(appUser.getPoints() + num1);
                 appUserClient.updateAppUser(appUser);
     
+                TChargingOrder chargingOrder = chargingOrderService.getById(orderEvaluate.getOrderId());
                 //积分变动明细
                 TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
                 appUserIntegralChange.setAppUserId(appUser.getId());
@@ -354,7 +355,8 @@
                 appUserIntegralChange.setHistoricalIntegral(points);
                 appUserIntegralChange.setCurrentIntegral(points + num1);
                 appUserIntegralChange.setCreateTime(LocalDateTime.now());
-                appUserIntegralChange.setOrderCode(orderEvaluate.getId().toString());
+                appUserIntegralChange.setOrderCode(chargingOrder.getCode());
+                appUserIntegralChange.setExtension(orderEvaluate.getOrderId().toString());
                 appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
             }
         }
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 b8d4244..7f8b25f 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
@@ -153,7 +153,9 @@
                         discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
                         stringBuilder1.append("会员抵扣").append("+");
                     }
-                    stringBuilder1.deleteCharAt(stringBuilder1.length()-1);
+                    if (stringBuilder1.length()>0){
+                        stringBuilder1.deleteCharAt(stringBuilder1.length()-1);
+                    }
                     tActivityStatisticslVO.setType(stringBuilder1.toString());
                     tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                     break;
@@ -202,7 +204,7 @@
     public Map<String, Object> getMyShoppingOrderList(GetMyShoppingOrderList query) {
         Long userId = tokenService.getLoginUserApplet().getUserId();
         LambdaQueryWrapper<TShoppingOrder> wrapper = new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0)
-                .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2).notIn(TShoppingOrder::getStatus, Arrays.asList(4, 5));
+                .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2).notIn(TShoppingOrder::getStatus, Arrays.asList(5));
         if(query.getStatus() != 0){
             wrapper.eq(TShoppingOrder::getStatus, query.getStatus());
         }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
index b6a4265..fdd88a3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -47,11 +47,11 @@
 //    @Scheduled(cron = "0 0 0 2 * ?")
     // 每天凌晨12点执行的定时任务
 
-    @Scheduled(cron = "0 0 12 2 * ?")
-    // 每30秒执行一次的定时任务
-    @Scheduled(cron = "0/30 * * * * ?")
+
+@Scheduled(cron = "0 0 12 1 * ?")
     public void taskMonth() {
         try {
+            System.err.println("执行定时任务生成账单");
             // 获取上个月的开始和结束日期
             LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).
                     withDayOfMonth(2);
@@ -67,6 +67,7 @@
                     .collect(Collectors.joining()); // 将其连接成一个字符串
             tChargingBill.setCode("JSD"+string+randomDigits );
             tChargingBill.setType(1);
+            tChargingBill.setSiteId(0);
             tChargingBill.setBillTime(LocalDateTime.now());
             tChargingBill.setStatus(1);
             tChargingBill.setOrderState(2);
@@ -74,13 +75,13 @@
             // 每月二号给每个站点生成上月账单
             List<Integer> collect = siteClient.getSiteAll().getData().stream().map(Site::getId).collect(Collectors.toList());
             List<TChargingBill> tChargingBills = new ArrayList<>();
-            for (int i = 1; i <= collect.size(); i++) {
+            for (int i = 0; i < collect.size(); i++) {
                 TChargingBill tChargingBill1 = new TChargingBill();
                 Random random1 = new Random();
                 String randomDigits1 = random1.ints(10, 0, 10) // 生成10个随机数字,范围在0-9
                         .mapToObj(String::valueOf)
                         .collect(Collectors.joining()); // 将其连接成一个字符串
-                tChargingBill1.setCode("JSD"+string+randomDigits1+i );
+                tChargingBill1.setCode("JSD"+string+randomDigits1+(i+1) );
                 tChargingBill1.setType(2);
                 tChargingBill1.setSiteId(collect.get(i));
                 tChargingBill1.setBillTime(LocalDateTime.now());
@@ -88,6 +89,7 @@
                 tChargingBill1.setOrderState(2);
                 tChargingBills.add(tChargingBill1);
             }
+            System.err.println("列表"+tChargingBills);
             if (!tChargingBills.isEmpty())chargingBillService.saveBatch(tChargingBills);
 
         } catch (Exception e) {
@@ -95,7 +97,7 @@
         }
     }
     // 每个月最后一天23点执行的定时任务
-    @Scheduled(cron = "0 0 23 L * ?")
+    @Scheduled(cron = "0 0 12 1 * ?")
     public void taskLastDay() {
         try {
             // 获取上个月的开始和结束日期
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
index d0b8691..c1a7ee9 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
@@ -89,7 +89,7 @@
     nacos:
       discovery:
         # 开发环境
-        server-addr: 192.168.110.169:8848 # nacos注册中心地址
+        server-addr: 192.168.110.169:8848
         namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
         group: DEFAULT_GROUP
         application: seata-server #Nacos 中 Seata 名称
@@ -121,6 +121,7 @@
         namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
         username: nacos
         password: nacos
+        ip: 192.168.110.111
       config:
         # 配置中心地址
         server-addr: 192.168.0.137:8848,192.168.0.123:8848
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 b2fd2c8..86a12f8 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
@@ -52,7 +52,7 @@
 
     
     <select id="getMyChargingOrderList" resultMap="BaseResultMap">
-        select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId}
+        select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId} and recharge_payment_status = 2
         <if test="1 == type">
             and id not in (select order_id from t_order_evaluate where order_type = 1 and app_user_id = #{appUserId} and del_flag = 0)
         </if>
@@ -107,6 +107,7 @@
         <if test="endTime1 != null and endTime1!=''">
             and (t1.end_time between #{endTime1} and #{endTime2})
         </if>
+        and t1.del_flag = 0
         order by t1.create_time desc
     </select>
     <select id="payOrderQuery" resultType="com.ruoyi.order.dto.PayOrderDto">
@@ -188,6 +189,7 @@
         LEFT JOIN  `charging_pile_account`.`t_app_user` i on o.app_user_id = i.id
                 <where>
                     o.del_flag = 0
+
                     <if test="data.code != null and data.code != ''">
                         AND o.code LIKE CONCAT('%',#{data.code},'%')
                     </if>
@@ -367,7 +369,7 @@
 
     </select>
     <select id="countAll" resultType="java.util.Map">
-        select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,sum(commission_amount) as commission_amount,sum(sharing_amount) as sharing_amount
+        select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(order_amount) * 0.0006, 2) as commission_amount,sum(sharing_amount) as sharing_amount
         from t_charging_order
         where create_time &gt;= #{sixBefore} and del_flag = 0 and recharge_payment_status = 2
     </select>
@@ -774,6 +776,7 @@
         SELECT
             count(1) as counts,vehicle_use
         from charging_pile_account.t_app_user_car
+        where  del_flag = 0
         GROUP BY vehicle_use
     </select>
     <select id="carUserBrand" resultType="java.util.Map">
@@ -781,6 +784,7 @@
         SELECT
             count(1) as counts,vehicle_brand
         from charging_pile_account.t_app_user_car
+                where  del_flag = 0
         GROUP BY vehicle_brand
     </select>
     <select id="countLocalCar" resultType="java.util.Map">
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 6144472..d0401f3 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,9 +44,18 @@
         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 t9.code ,t9.order_amount as orderAmount,
+        t9.coupon_discount_amount as couponDiscountAmount,
+        t9.vip_discount_amount as vipDiscountAmount,
+        t9.payment_amount as paymentAmount,
+        t9.create_time as createTime,
+        1 as orderType
+        from t_charging_order t9
+        where t9.id = 0 limit 1
         <if test="req.orderType == null or req.orderType == 1">
         <if test="req.type == null or req.type == 1 or req.type == 2">
-        select t1.code ,t1.order_amount as orderAmount,
+            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,
@@ -98,13 +107,13 @@
                 and t2.code  LIKE CONCAT('%',#{req.code},'%')
             </if>
             <if test="req.type != null and req.type != '' and req.type == 1">
-                and t2.coupon_discount_amount  IS NOT NULL and t2.coupon_discount_amount  != 0
+                and (t2.coupon_discount_amount  > 0)
             </if>
             <if test="req.type != null and req.type != '' and req.type == 2">
-                and t2.vip_discount_amount  IS NOT NULL and t2.vip_discount_amount  != 0
+                and ( t2.vip_discount_amount  > 0)
             </if>
             <if test="req.type == null ">
-                and t2.vip_discount_amount  IS NOT NULL and t2.vip_discount_amount  != 0 and t2.coupon_discount_amount  IS NOT NULL and t2.coupon_discount_amount  != 0
+                and (t2.vip_discount_amount  > 0 or t2.coupon_discount_amount  > 0)
             </if>
             <if test="null != req.userIds and req.userIds.size()>0" >
                 and t2.app_user_id in
@@ -115,7 +124,6 @@
             <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''">
                 AND (t2.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
             </if>
-            and t2.refund_status !=2
             and t2.payment_status =2
             AND t2.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
         </if>
diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java
index abaeb88..3bcd182 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java
@@ -1,14 +1,37 @@
 package com.ruoyi.order;
 
 import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.account.api.feignClient.*;
+import com.ruoyi.account.api.model.TAppUserCar;
+import com.ruoyi.chargingPile.api.feignClient.*;
+import com.ruoyi.chargingPile.api.model.Site;
+import com.ruoyi.chargingPile.api.model.TChargingGun;
+import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.integration.api.feignClient.*;
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.order.api.feignClient.AccountingStrategyDetailOrderClient;
+import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.dto.ChargingDetails;
 import com.ruoyi.order.dto.MyChargingOrderInfo;
-import com.ruoyi.order.service.TChargingOrderService;
+import com.ruoyi.order.mapper.TSettlementConfirmMapper;
+import com.ruoyi.order.service.*;
+import com.ruoyi.other.api.feignClient.IntegralRuleClient;
+import com.ruoyi.other.api.feignClient.UserTagClient;
+import com.ruoyi.other.api.feignClient.VipClient;
+import com.ruoyi.payment.api.feignClient.AliPaymentClient;
+import com.ruoyi.payment.api.feignClient.WxPaymentClient;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import javax.annotation.Resource;
 import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.Arrays;
 
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiOrderApplication.class)
 public class RuoYiOrderApplicationTests {
@@ -16,10 +39,137 @@
 	@Resource
 	private TChargingOrderService chargingOrderService;
 	
+	@Resource
+	private ChargingGunClient chargingGunClient;
+	@Resource
+	private TSettlementConfirmMapper tSettlementConfirmMapper;
+	
+	@Resource
+	private SiteClient siteClient;
+	
+	@Resource
+	private AppUserCarClient appUserCarClient;
+	@Resource
+	private AppUserClient appUserClient;
+	
+	@Resource
+	private ChargingPileClient chargingPileClient;
+	
+	@Resource
+	private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
+	
+	@Resource
+	private TokenService tokenService;
+	
+	@Resource
+	private WxPaymentClient wxPaymentClient;
+	
+	@Resource
+	private AliPaymentClient aliPaymentClient;
+	
+	@Resource
+	private AppCouponClient appCouponClient;
+	
+	@Resource
+	private AppUserVipDetailClient appUserVipDetailClient;
+	
+	@Resource
+	private RedisService redisService;
+	
+	@Resource
+	private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
+	
+	@Resource
+	private ChargingHandshakeClient chargingHandshakeClient;
+	
+	@Resource
+	private SendMessageClient sendMessageClient;
+	
+	@Resource
+	private TOrderEvaluateService orderEvaluateService;
+	
+	@Resource
+	private AccountingStrategyDetailClient accountingStrategyDetailClient;
+	
+	@Resource
+	private AccountingStrategyDetailOrderClient accountingStrategyDetailOrderClient;
+	
+	@Resource
+	private AccountingStrategyClient accountingStrategyClient;
+	
+	@Resource
+	private PlatformStartChargingReplyClient platformStartChargingReplyClient;
+	
+	@Resource
+	private TChargingOrderRefundService chargingOrderRefundService;
+	
+	@Resource
+	private PlatformStopChargingReplyClient platformStopChargingReplyClient;
+	
+	@Resource
+	private AccountingStrategyOrderService accountingStrategyOrderService;
+	
+	@Resource
+	private AccountingStrategyDetailOrderService accountingStrategyDetailOrderService;
+	
+	@Resource
+	private InviteUserClient inviteUserClient;
+	
+	@Resource
+	private AppUserIntegralChangeClient appUserIntegralChangeClient;
+	
+	@Resource
+	private IntegralRuleClient integralRuleClient;
+	
+	@Resource
+	private VipClient vipClient;
+	
+	@Resource
+	private UserTagClient userTagClient;
+	
+	@Resource
+	private AppUserTagClient appUserTagClient;
+	
+	@Resource
+	private SecurityDetectionClient securityDetectionClient;
+	
 	
 	@Test
 	public void test(){
-		MyChargingOrderInfo myChargingOrderInfo = chargingOrderService.getMyChargingOrderInfo("1846484071567437825");
-		System.err.println(JSON.toJSONString(myChargingOrderInfo));
+		Integer id = 75;
+		TChargingOrder one = chargingOrderService.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserId, 1839480334642704385L).eq(TChargingOrder::getChargingGunId, id)
+				.eq(TChargingOrder::getRechargePaymentStatus, 2).eq(TChargingOrder::getDelFlag, 0).orderByDesc(TChargingOrder::getStartTime).last(" limit 0, 1"));
+		ChargingDetails chargingDetails = new ChargingDetails();
+		chargingDetails.setId(one.getId().toString());
+		TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData();
+		TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData();
+		Site site = siteClient.getSiteByIds(Arrays.asList(chargingPile.getSiteId())).getData().get(0);
+		chargingDetails.setName(site.getName() + "-" + chargingPile.getName());
+		chargingDetails.setCode(one.getCode());
+		chargingDetails.setStatus(one.getStatus());
+		chargingDetails.setChargingCost(one.getResidualAmount());
+		UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(one.getCode()).getData();
+		if(null != data){
+			chargingDetails.setChargeCurrent(data.getOutput_current());
+			chargingDetails.setChargeVoltage(data.getOutput_voltage());
+			BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000));
+			chargingDetails.setChargePower(power);
+			chargingDetails.setCompletionRatio(data.getSoc());
+			chargingDetails.setRemainingChargeTime(data.getTime_remaining());
+			chargingDetails.setChargedDegrees(data.getCharging_degree());
+			Integer h = Integer.valueOf(data.getCumulative_charging_time() / 60);
+			Integer m = Integer.valueOf(data.getCumulative_charging_time() % 60);
+			chargingDetails.setChargedTime(String.format("%02d", h) + ":" + String.format("%02d", m));
+		}
+		ChargingHandshake chargingHandshake = chargingHandshakeClient.getDataByOrderCode(one.getCode()).getData();
+		if(null != chargingHandshake && null != data && null != one.getAppUserCarId()){
+			BigDecimal bms_battery_capacity = chargingHandshake.getBms_battery_capacity();
+			TAppUserCar appUserCar = appUserCarClient.getCarByIds(Arrays.asList(one.getAppUserCarId())).getData().get(0);
+			//   续航 = 电池容量 / 续航里程 * soc
+			BigDecimal divide = bms_battery_capacity.divide(new BigDecimal(appUserCar.getEndurance()));
+			BigDecimal multiply = new BigDecimal(data.getSoc() / 100).multiply(divide);
+			chargingDetails.setEndurance(multiply);
+		}
+		System.err.println(JSON.toJSONString(chargingDetails));
 	}
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
index f9cda01..e09a61f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -129,16 +129,22 @@
         if (goodType==1){
         TGoods byId = goodsService.getById(id);
         if (byId==null||byId.getStatus()==2){
-            return R.fail(2,"内容不存在");
+            return R.fail(2,"该商品已不存在");
         }
-        return R.ok(byId);}
+//            List<Integer> data = orderClient.getSalesCountByGoodsId(String.valueOf(id)).getData();
+//            for (int i = 0; i < list.size(); i++) {
+//                list.get(i).setSalesCount(data.get(i));
+//            }
+
+        return R.ok(byId);
+        }
         else {
             TCoupon byId = couponService.getById(id);
             if (byId==null||byId.getStatus()==2){
-                return R.fail(2,"内容不存在");
+                return R.fail(2,"该商品已不存在");
             }
-            return R.ok(byId);
-    }
+                return R.ok(byId);
+            }
     }
 
 
@@ -209,8 +215,10 @@
                 return AjaxResult.error("当前用户已兑换"+count+"张");
             }else {
                 //减少库存
-                good.setInventory(good.getInventory()-exchangeDto.getNum());
-                goodsService.updateById(good);
+                if (good.getInventory()!=-1) {
+                    good.setInventory(good.getInventory() - exchangeDto.getNum());
+                    goodsService.updateById(good);
+                }
             }
         if (user.getPoints()<good.getRedeemPoints()){
             return AjaxResult.error("当前用户积分不足");
@@ -226,8 +234,10 @@
             if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) {
                 return AjaxResult.error("当前用户已到达兑换"+coupon+"次");
             }else {
-                coupon.setInventoryQuantity(coupon.getInventoryQuantity()-1);
-                couponService.updateById(coupon);
+                if (coupon.getInventoryQuantity()!=-1) {
+                    coupon.setInventoryQuantity(coupon.getInventoryQuantity() - 1);
+                    couponService.updateById(coupon);
+                }
             }
 
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
index d27cac8..af162fb 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
@@ -309,7 +309,7 @@
         switch (buyType){
             case 1:
                 if (byId.getMonthlyCardDiscountStart()!=null&&(now.isAfter(byId.getMonthlyCardDiscountStart())&&now.isBefore(byId.getMonthlyCardDiscountEnd()))){
-                    payMoney = byId.getMonthlyCard().multiply(byId.getMonthlyCardDiscount());
+                    payMoney = byId.getMonthlyCard().multiply(byId.getMonthlyCardDiscount().divide(new BigDecimal(10)));
                     discountMoney = byId.getMonthlyCard().subtract(payMoney);
                     discount = byId.getMonthlyCardDiscount();
                 }else {
@@ -318,7 +318,7 @@
                 break;
                 case 2:
                     if (byId.getSeasonCardDiscountStart()!=null&&(now.isAfter(byId.getSeasonCardDiscountStart())&&now.isBefore(byId.getSeasonCardDiscountEnd()))){
-                        payMoney = byId.getSeasonCard().multiply(byId.getSeasonCardDiscount());
+                        payMoney = byId.getSeasonCard().multiply(byId.getSeasonCardDiscount().divide(new BigDecimal(10)));
                         discountMoney = byId.getSeasonCard().subtract(payMoney);
                         discount = byId.getSeasonCardDiscount();
                     }else {
@@ -327,7 +327,7 @@
                 break;
             case 3:
                 if (byId.getAnnualCardDiscountStart()!=null&&(now.isAfter(byId.getAnnualCardDiscountStart())&&now.isBefore(byId.getAnnualCardDiscountEnd()))){
-                    payMoney = byId.getAnnualCard().multiply(byId.getAnnualCardDiscount());
+                    payMoney = byId.getAnnualCard().multiply(byId.getAnnualCardDiscount().divide(new BigDecimal(10)));
                     discountMoney = byId.getAnnualCard().subtract(payMoney);
                     discount = byId.getAnnualCardDiscount();
                 }else {
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
index b9f434d..7a58640 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
@@ -83,10 +83,10 @@
         // 订单号加上商品类型
         String res = string+"-"+dto.getType();
 
-//        List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData();
-//        for (int i = 0; i < list.size(); i++) {
-//            list.get(i).setSalesCount(data.get(i));
-//        }
+        List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData();
+        for (int i = 0; i < list.size(); i++) {
+            list.get(i).setSalesCount(data.get(i));
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }

--
Gitblit v1.7.1