From d1d7df6417a76d481e654c96b2db34e4fbab88ea Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 31 十月 2024 15:53:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java                                               |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                                   |   52 +++++--
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java                                        |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java      |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java          |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java                                   |    8 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java                                              |    2 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java                                                 |    3 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java                                  |   36 +++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java                                            |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java                   |    5 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java                           |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java            |    7 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java                                                      |    1 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                                        |   14 +
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java           |    9 -
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                                    |   42 ++++--
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java                                                     |    1 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml                                 |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                                      |   28 +++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                                    |   10 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java |   36 +++++
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java                                                |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java                                          |    4 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml                                                         |    2 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java                                   |    4 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java                      |    5 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java                               |   40 +++++-
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java                       |    4 
 29 files changed, 253 insertions(+), 81 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 72db785..ce10ebb 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 HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDateTime vipExpireTime;
     @ApiModelProperty("当天是否签到")
     private Integer isSign;
@@ -25,6 +25,7 @@
     private Integer points;
     @ApiModelProperty("当前优惠卷数量")
     private Integer couponNum;
+    private Long vipCouponNum;
     @ApiModelProperty("是否第一次添加车")
     private Integer firstAdd;
     @ApiModelProperty("当前绑定的车辆")
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 d51745e..2acc636 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
@@ -87,6 +87,9 @@
     @TableField("coupon_json")
     private String couponJson;
 
+    @TableField("detail_id")
+    private Long detailId;
+
 
 
 }
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 79cae9d..be66883 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
@@ -52,6 +52,8 @@
     private LocalDateTime createTime;
     @TableField(exist = false)
     private String avatar;
+    @TableField(exist = false)
+    private String name;
 
 
 }
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
index 5a46c09..e5298d0 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
@@ -34,9 +34,10 @@
             }
 
             @Override
-            public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(String orderId) {
+            public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(String ids) {
                 return R.fail("根据订单编号s获取所有监测数据失败:" + throwable.getMessage());
             }
+
 
             @Override
             public R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(String code) {
@@ -45,7 +46,7 @@
 
             @Override
             public R<UploadRealTimeMonitoringPageData> getAll(MongoChargingOrderQuery mongoChargingOrderQuery) {
-                return null;
+                return R.fail("getAll:" + throwable.getMessage());
             }
 
             @Override
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
index 5d89233..5d6df9f 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
@@ -7,9 +7,7 @@
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.Set;
@@ -31,11 +29,10 @@
 
 	/**
 	 * 批量查询
-	 * @param orderId
 	 * @return
 	 */
-	@PostMapping(value = "/uploadRealTimeMonitoringData/getOrderInfoByCodes")
-	public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@RequestParam("orderId") String orderId);
+	@GetMapping(value = "/uploadRealTimeMonitoringData/getOrderInfoByCodes/{ids}")
+	public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@PathVariable("ids") String ids);
 	/**
 	 * 根据订单编号获取所有监测数据
 	 * @param code
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
index fe393ff..342055e 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
@@ -1,5 +1,6 @@
 package com.ruoyi.integration.api.model;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.util.Date;
@@ -10,7 +11,8 @@
  */
 @Data
 public class BaseModel {
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private Date last_time = new Date();
-	
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private Date create_time = new Date();
 }
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
index a96a982..f9b33fb 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
@@ -25,9 +25,9 @@
     @ApiModelProperty(value = "充电枪code ")
     private String chargingGunCode;
     @ApiModelProperty(value = "开始时间2020-01-01 00:00:00 - 2021-01-01 23:59:59")
-    private String startTime;
+    private String createTime;
     @ApiModelProperty(value = "结束时间2020-01-01 00:00:00 - 2021-01-01 23:59:59")
-    private String endTime;
+    private String lastTime;
     @ApiModelProperty(value = "订单来源 1明星 2快电 3新电途")
     private Integer orderSource;
     @ApiModelProperty(value = "用户ids 前端忽略")
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 6a9293c..3a6752e 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
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -586,6 +587,8 @@
         return R.ok();
 
     }
+    @Resource
+    private TAppUserVipDetailService appUserVipDetailService;
 
     @ApiOperation(value = "个人中心信息", tags = {"小程序-个人中心"})
     @GetMapping(value = "/user/info")
@@ -602,12 +605,14 @@
         if (byId.getVipEndTime()==null||byId.getVipEndTime().isBefore(LocalDateTime.now())){
             appUserInfoDto.setIsVip(0);
         }else {
+            TAppUserVipDetail one = appUserVipDetailService.getOne(new LambdaQueryWrapper<TAppUserVipDetail>()
+                    .eq(TAppUserVipDetail::getAppUserId, userId)
+                    .eq(TAppUserVipDetail::getVipId, byId.getVipId())
+                    .last(" and now() between start_time and end_time"));
+            Long count = appCouponService.lambdaQuery().eq(TAppCoupon::getDetailId, one.getId()).count();
+            appUserInfoDto.setVipCouponNum(count);
             appUserInfoDto.setIsVip(1);
             appUserInfoDto.setVipExpireTime(byId.getVipEndTime());
-
-
-
-
 
 
 
@@ -770,6 +775,7 @@
         for (TInviteUser record : page.getRecords()) {
             TAppUser byId = appUserService.getById(record.getBeInvitedAppUserId());
             record.setAvatar(byId.getAvatar());
+            record.setName(byId.getName());
         }
         return R.ok(page);
     }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
index 85ec054..692caa6 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
@@ -1,16 +1,26 @@
 package com.ruoyi.account.service.impl;
 
+import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.feignClient.AppUserVipDetailClient;
+import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.account.api.model.TAppUserVipDetail;
 import com.ruoyi.account.api.model.TInviteUser;
+import com.ruoyi.account.api.vo.GetAppUserVipDetail;
 import com.ruoyi.account.mapper.TInviteUserMapper;
+import com.ruoyi.account.service.TAppUserService;
 import com.ruoyi.account.service.TInviteUserService;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.other.api.domain.TIntegralRule;
+import com.ruoyi.other.api.domain.TVip;
 import com.ruoyi.other.api.feignClient.IntegralRuleClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.Objects;
 
 /**
  * <p>
@@ -25,9 +35,29 @@
 
     @Autowired
     private IntegralRuleClient integralRuleClient;
+    @Autowired
+    private TAppUserService appUserService;
+    @Resource
+    private AppUserVipDetailClient vipDetailClient;
 
+    /**
+     *
+     * @param appUserId  被邀请人
+     * @param beInvitedAppUserId  邀请人
+     */
     @Override
     public void saveInviteUser(Long appUserId, Long beInvitedAppUserId) {
+
+        // 查询用户信息
+        TAppUser user = appUserService.getById(beInvitedAppUserId);
+        GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+        getAppUserVipDetail.setAppUserId(beInvitedAppUserId);
+        getAppUserVipDetail.setVipId(user.getVipId());
+        R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+        TAppUserVipDetail data1 = appUserVipDetail.getData();
+        String vipJson = data1.getVipJson();
+        TVip vip = JSON.parseObject(vipJson, TVip.class);
+
         // 查询邀请用户获得积分配置
         TIntegralRule integralRule = integralRuleClient.getSet().getData();
         JSONObject jsonObject = JSONObject.parseObject(integralRule.getInviteUsersToEarnPoints());
@@ -35,7 +65,11 @@
         inviteUser.setAppUserId(beInvitedAppUserId);
         inviteUser.setBeInvitedAppUserId(appUserId);
         inviteUser.setCreateTime(LocalDateTime.now());
-        inviteUser.setAward(jsonObject.getInteger("num1"));
+        if(Objects.nonNull(vip) && vip.getDoubleIntegration() == 1){
+            inviteUser.setAward(jsonObject.getInteger("num1")*2);
+        }else {
+            inviteUser.setAward(jsonObject.getInteger("num1"));
+        }
         this.save(inviteUser);
     }
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
index 12dccfc..2e9bd75 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
@@ -77,6 +77,7 @@
                 tAppCoupon.setWaysToObtain(4);
                 tAppCoupon.setStatus(1);
                 tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
+                    tAppCoupon.setDetailId(tAppUserVipDetail.getId());
                 appCouponService.save(tAppCoupon);
                 }
             }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
index 562043a..0c6cab6 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -164,7 +164,10 @@
                 dto.setAuditStatus(1);
                 accountingStrategyService.updateById(dto);
                 // 添加明细
-                dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
+                dto.getAccountingStrategyDetails().forEach(detail -> {
+                    detail.setAccountingStrategyId(dto.getId());
+                    detail.setId(null);
+                });
                 accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails());
             }else {
                 Long userId = SecurityUtils.getLoginUser().getUserid();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
index 3c8920c..7db9f8c 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
@@ -148,7 +148,7 @@
                 .eq(TParkingLot::getSiteId, siteId)));
     }
 
-    @PostMapping(value = "/getRecordById")
+    @GetMapping(value = "/getRecordById")
     public R<TParkingRecord> getRecordById(@RequestParam("id") Long id){
         return R.ok(parkingRecordService.getById(id));
     }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index 9a33506..3a4d301 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -1,9 +1,13 @@
 package com.ruoyi.chargingPile.service.impl;
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.feignClient.AppUserVipDetailClient;
 import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.account.api.model.TAppUserVipDetail;
+import com.ruoyi.account.api.vo.GetAppUserVipDetail;
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
@@ -18,6 +22,7 @@
 import com.ruoyi.chargingPile.domain.SiteMenu;
 import com.ruoyi.chargingPile.mapper.SiteMapper;
 import com.ruoyi.chargingPile.service.*;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.ServletUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -80,7 +85,8 @@
 	
 	@Resource
 	private IntegrationClient integrationClient;
-
+	@Resource
+	private AppUserVipDetailClient vipDetailClient;
 	
 	
 	/**
@@ -88,6 +94,7 @@
 	 * @param siteList
 	 * @return
 	 */
+
 	@Override
 	public PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList) {
 		Set<Integer> ids = null;
@@ -95,12 +102,15 @@
 		SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
 		Integer roleType = sysUser.getRoleType();
 		Integer objectId = sysUser.getObjectId();
+		R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
 		//合作商
 		if(roleType == 2){
 			ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
 		}else{
 			//非管理员需要根据角色和用户配置查询允许的站点数据
-			if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+			//改用roleId=1来判断
+			if(admin.getData()!=1){
+//			if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
 				List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
 				List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
 				if(data2.size() > 0){
@@ -134,12 +144,14 @@
 		SysUser sysUser = sysUserClient.getSysUser(userId).getData();
 		Integer roleType = sysUser.getRoleType();
 		Integer objectId = sysUser.getObjectId();
+		R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
+
 		//合作商
 		if(roleType == 2){
 			ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
 		}else{
 			//非管理员需要根据角色和用户配置查询允许的站点数据
-			if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+			if(admin.getData()!=1){
 				List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
 				List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
 				List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
@@ -280,9 +292,9 @@
 	@Override
 	public PageInfo<SiteVO> pageList(SiteQuery query,Integer isLogin) {
 		TAppUser appUser = null;
+		// 获取当前登录用户id
+		Long userId = tokenService.getLoginUserApplet().getUserId();
 		if(isLogin == 1){
-			// 获取当前登录用户id
-			Long userId = tokenService.getLoginUserApplet().getUserId();
 			// 根据id查询用户信息
 			appUser = appUserClient.getUserById(userId).getData();
 		}
@@ -290,7 +302,14 @@
 		List<SiteVO> list = this.baseMapper.pageList(query,pageInfo);
 		if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
 			// 查询会员信息
-			TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+//			TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+			GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+			getAppUserVipDetail.setAppUserId(userId);
+			getAppUserVipDetail.setVipId(appUser.getVipId());
+			R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+			TAppUserVipDetail data1 = appUserVipDetail.getData();
+			String vipJson = data1.getVipJson();
+			TVip vip = JSON.parseObject(vipJson, TVip.class);
 			if(Objects.nonNull(vip) && vip.getType() == 2){
 				list.forEach(item -> {
 					if(Objects.nonNull(vip.getDiscount())){
@@ -380,7 +399,14 @@
 		List<SiteVO> list = this.baseMapper.getMapSiteList(query);
 		if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
 			// 查询会员信息
-			TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+//			TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+			GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+			getAppUserVipDetail.setAppUserId(userId);
+			getAppUserVipDetail.setVipId(appUser.getVipId());
+			R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+			TAppUserVipDetail data1 = appUserVipDetail.getData();
+			String vipJson = data1.getVipJson();
+			TVip vip = JSON.parseObject(vipJson, TVip.class);
 			if(Objects.nonNull(vip) && vip.getType() == 2){
 				list.forEach(item -> {
 					item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal()));
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 3c8051d..f7019e4 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
@@ -482,13 +482,14 @@
 		Set<Integer> siteIds = new HashSet<>();
 		if(0 == query.getSiteId()){
 			SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
+			R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
 			Integer roleType = sysUser.getRoleType();
 			Integer objectId = sysUser.getObjectId();
 			if(2 == roleType){
 				siteIds = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
 			}else{
 				//非管理员需要根据角色和用户配置查询允许的站点数据
-				if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+				if(admin.getData()!=1){
 					List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
                     List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
                     List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
@@ -600,7 +601,7 @@
 				chargingGunService.updateById(chargingGun1);
 				
 				//桩处于正常,桩所属的枪都处于非正常,修改桩状态为异常
-				TChargingPile chargingPile = this.getById(chargingGun1.getChargingPileId());
+				TChargingPile chargingPile = this.getById(chargingGun.getChargingPileId());
 				List<TChargingGun> list1 = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0));
 				int size = list1.stream().filter(s -> s.getStatus() == 1 || s.getStatus() == 7).collect(Collectors.toList()).size();
 				if(chargingPile.getStatus() == 1 && list1.size() == size){
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
index c9b1ea5..34cc583 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
@@ -57,7 +57,7 @@
             </if>
             AND site_id IS NULL
             AND (parent_id IS NULL OR audit_status = 1 OR audit_status = 2)
-            AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+
         </where>
         ORDER BY create_time DESC
     </select>
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 f1271ae..1fa5baf 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
@@ -43,13 +43,12 @@
 
     /**
      * 批量查询
-     * @param orderId
      * @return
      */
-    @PostMapping(value = "/getOrderInfoByCodes")
-    public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@RequestParam("orderId") String orderId){
+    @GetMapping(value = "/getOrderInfoByCodes/{ids}")
+    public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@PathVariable("ids") String ids){
         List<UploadRealTimeMonitoringData> res = new ArrayList<>();
-        for (String s : orderId.split(",")) {
+        for (String s : ids.split(",")) {
             List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(s);
             if(dataByOrderCode.size() > 0){
                 UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0);
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
index 2463e5e..ed002bf 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -6,6 +6,7 @@
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
 
 import java.text.ParseException;
+import java.util.Date;
 import java.util.List;
 
 public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> {
@@ -26,4 +27,6 @@
     UploadRealTimeMonitoringData getLastDataById(String transaction_serial_number);
 
 	void delete(String id);
+
+	void updateById(String id);
 }
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 c23a6a6..529427e 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
@@ -8,12 +8,14 @@
 import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
 import org.springframework.stereotype.Service;
 
 import java.text.ParseException;
@@ -68,7 +70,7 @@
 //            query.addCriteria(Criteria.where("transaction_serial_number").in(values));
 //        }
         if (mongoChargingOrderQuery.getCode() != null && !mongoChargingOrderQuery.getCode().isEmpty()) {
-            query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(), "i")); // "i" 表示不区分大小写
+            query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(),"i")); // "i" 表示不区分大小写
         }
         if (mongoChargingOrderQuery.getOrderType() !=null){
             query.addCriteria(Criteria.where("orderType").is(mongoChargingOrderQuery.getOrderType()));
@@ -112,17 +114,31 @@
 
 
         long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
-        // 设置分页
-        Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageCurr(), mongoChargingOrderQuery.getPageSize());
+
+        // 创建带有排序的 Pageable 对象
+        Pageable pageable = PageRequest.of(
+                mongoChargingOrderQuery.getPageCurr()-1,
+                mongoChargingOrderQuery.getPageSize(),
+                Sort.by(Sort.Direction.DESC, "create_time")
+        );
+
+        // 设置分页和排序
         query.with(pageable);
-        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
+
+        // 执行查询并获取 Page 对象
+        List<UploadRealTimeMonitoringData> page = mongoTemplate.find(query, UploadRealTimeMonitoringData.class,"upload_real_time_monitoring_data");
+
+        // 设置分页
+//        Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageSize()*(mongoChargingOrderQuery.getPageCurr()-1), mongoChargingOrderQuery.getPageSize());
+//        query.with(pageable);
+//        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
         List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
                 query
                 , UploadRealTimeMonitoringData.class);
 
         UploadRealTimeMonitoringPageData uploadRealTimeMonitoringPageData = new UploadRealTimeMonitoringPageData();
         uploadRealTimeMonitoringPageData.setCount(totalElements);
-        uploadRealTimeMonitoringPageData.setRecords(uploadRealTimeMonitoringData);
+        uploadRealTimeMonitoringPageData.setRecords(page);
         return uploadRealTimeMonitoringPageData;
     }
 
@@ -145,4 +161,14 @@
         mongoTemplate.remove(byId);
     }
 
+    @Override
+    public void updateById(String id) {
+        // 创建查询条件
+        Query query = new Query(Criteria.where("_id").is(id));
+        // 创建更新对象
+        Update update = new Update().set("last_time", new Date());
+        // 执行更新操作
+        mongoTemplate.updateFirst(query, update, UploadRealTimeMonitoringData.class);
+    }
+
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
index 0ba5a50..4a4cb95 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
@@ -201,7 +201,7 @@
                     uploadRealTimeMonitoringData.setElectrovalence_all(accountingStrategyDetail.getElectrovalence());
                     uploadRealTimeMonitoringData.setService_charge(accountingStrategyDetail.getServiceCharge());
                     if (Objects.nonNull(data)) {
-                        data.setLast_time(new Date());
+                        uploadRealTimeMonitoringDataService.updateById(data.getId());
                         uploadRealTimeMonitoringData.setPeriod_electric_price(uploadRealTimeMonitoringDataMessage.getPaid_amount().subtract(data.getPaid_amount()));
                         uploadRealTimeMonitoringData.setPeriod_charging_degree(uploadRealTimeMonitoringDataMessage.getCharging_degree().subtract(data.getCharging_degree()));
                         uploadRealTimeMonitoringData.setPeriod_service_price(uploadRealTimeMonitoringDataMessage.getCharging_degree().multiply(accountingStrategyDetail.getServiceCharge()).setScale(4, RoundingMode.HALF_UP));
@@ -337,7 +337,7 @@
                 // 添加实时上传记录结束记录
                 // 查询mogondb上一条数据
                 UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataService.getLastDataById(transactionRecordMessage.getTransaction_serial_number());
-                if(Objects.nonNull(data)){
+                if(Objects.nonNull(data) && data.getStatus() != 5){
                     UploadRealTimeMonitoringData uploadRealTimeMonitoringData = new UploadRealTimeMonitoringData();
                     BeanUtils.copyProperties(data,uploadRealTimeMonitoringData);
                     uploadRealTimeMonitoringData.setStatus(5);
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 ed45896..e3ab58d 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
@@ -196,6 +196,7 @@
                 payOrderInfoDto.setPayAmount(byId.getPaymentAmount());
                 payOrderInfoDto.setPayTime(byId.getCreateTime());
                 payOrderInfoDto.setRefundAmount(byId.getRefundAmount());
+                payOrderInfoDto.setRechargeAmount(byId.getRechargeAmount());
                 return R.ok(payOrderInfoDto);
             case 2:
                 TShoppingOrder byId1 = shoppingOrderService.getById(orderId);
@@ -207,6 +208,7 @@
                 payOrderInfoDto1.setPayAmount(byId1.getPaymentAmount());
                 payOrderInfoDto1.setPayTime(byId1.getCreateTime());
                 payOrderInfoDto1.setRefundAmount(byId1.getRefundAmount());
+                payOrderInfoDto1.setRechargeAmount(byId1.getPaymentAmount());
                 return R.ok(payOrderInfoDto1);
             case 3:
                 TVipOrder byId2 = vipOrderService.getById(orderId);
@@ -218,6 +220,7 @@
                 payOrderInfoDto2.setPayAmount(byId2.getPaymentAmount());
                 payOrderInfoDto2.setPayTime(byId2.getCreateTime());
                 payOrderInfoDto2.setRefundAmount(byId2.getRefundAmount());
+                payOrderInfoDto2.setRechargeAmount(byId2.getPaymentAmount());
                 return R.ok(payOrderInfoDto2);
             //todo luo 停车场订单
 //                case 4:
@@ -366,14 +369,14 @@
         List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list();
 
         for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) {
-            if (byId.getVipDiscountAmount()!=null){
+            if (byId.getVipDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){
                 BigDecimal multiply = byId.getVipDiscountAmount().divide(byId.getServiceCharge(), 2)
                         .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
                 tChargingOrderAccountingStrategy.setVipDiscount(multiply);
             }
             bigDecimal = bigDecimal.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
 
-            if (byId.getCouponDiscountAmount()!=null){
+            if (byId.getCouponDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){
                 BigDecimal multiply = byId.getCouponDiscountAmount().divide(byId.getServiceCharge(), 2)
                         .multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
                 tChargingOrderAccountingStrategy.setCouponDiscount(multiply);
@@ -775,6 +778,9 @@
         LocalDate sixBefore = PreviousSixMonths.get();
         Map<String,Object>  map = chargingOrderService.countAll(sixBefore);
         BigDecimal data = parkingLotClient.getRecordAmount(sixBefore).getData();
+        if (map ==null){
+            map = new HashMap<String,Object>();
+        }
         map.put("parkingAmount",data);
         BigDecimal data1 =   shoppingOrderService.getSumAmount(sixBefore);
         map.put("shopAmount",data1);
@@ -794,7 +800,8 @@
     public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
 
         mongoChargingOrderQuery.setPageSize(10);
-        UploadRealTimeMonitoringPageData data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
+        R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery);
+        UploadRealTimeMonitoringPageData data1 = all.getData();
 
         List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
         Map<String,ChargingOrderVO> map  = new HashMap<>();
@@ -1255,8 +1262,19 @@
 
         //车辆用途
         List<Map<String, Object>> carMap = chargingOrderService.carUserMethod();
+
         //车辆品牌
         List<Map<String, Object>> carBrandMap = chargingOrderService.carUserBrand();
+        List<String> brands = new ArrayList<>();
+        for (Map<String, Object> objectMap : carBrandMap) {
+            brands.add(objectMap.get("vehicle_brand").toString());
+        }
+
+        Long count = chargingOrderService.countCar(brands);
+        Map<String, Object> others = new HashMap<>();
+        others.put("vehicle_brand","其他");
+        others.put("counts",count);
+        carBrandMap.add(others);
         //本地车数量
         Map<String,Object> localCarMap = chargingOrderService.countLocalCar();
 
@@ -1319,7 +1337,7 @@
     @ApiOperation(value = "电站评价", tags = {"管理后台-数据分析-设备运维分析"})
     public R<TCharingUserEquimentVO> equipment(@RequestBody ChargingStatisticsQueryDto statisticsQueryDto){
         List<Integer> siteIds =new ArrayList<>();
-        if (statisticsQueryDto.getSiteId()==null) {
+        if (statisticsQueryDto.getSiteId()==null||statisticsQueryDto.getSiteId()==0) {
             Long userId = SecurityUtils.getUserId();
             //获取当前登录的siteIds
             List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData();
@@ -1679,7 +1697,7 @@
         Long userId = tokenService.getLoginUserApplet().getUserId();
         List<TChargingOrder> list = chargingOrderService.list(Wrappers.lambdaQuery(TChargingOrder.class)
                 .eq(TChargingOrder::getAppUserId, userId)
-                .eq(TChargingOrder::getStatus, 3));
+                .in(TChargingOrder::getStatus, Arrays.asList(1,2,3,4)));
         List<Integer> gunIds = list.stream().map(TChargingOrder::getChargingGunId).collect(Collectors.toList());
         return R.ok(gunIds);
     }
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 96f71ec..0322582 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
@@ -65,7 +65,7 @@
                 .like(manageOrderAppealQuery.getPhone() != null, TOrderAppeal::getPhone, manageOrderAppealQuery.getPhone())
                 .eq(manageOrderAppealQuery.getOrderType() != null, TOrderAppeal::getOrderType, manageOrderAppealQuery.getOrderType())
                 .in(TOrderAppeal::getOrderType, 1, 2)
-                .orderByDesc(TOrderAppeal::getFeedbackTime)
+                .orderByDesc(TOrderAppeal::getCreateTime)
                 .page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize()));
 
         for (TOrderAppeal record : page.getRecords()) {
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java
index 880dca7..ae3424d 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java
@@ -24,6 +24,7 @@
     private LocalDateTime payTime;
     @ApiModelProperty("退款金额")
     private BigDecimal refundAmount;
+    private BigDecimal rechargeAmount;
 
 
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
index f5d173a..ee99d41 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -139,4 +139,6 @@
 	List<Map<String, Object>> needElec1(@Param("siteIds")List<Integer> siteIds,@Param("statisticsQueryDto")  ChargingStatisticsQueryDto statisticsQueryDto);
 
 	Long countNoTag();
+
+    Long countCar(@Param("brands") List<String> brands);
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index 57b0caa..c6ed1b2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -277,4 +277,6 @@
 	 * @return
 	 */
 	List<TChargingOrder> getChargingOrder(TChargingOrderVo order);
+
+    Long countCar(List<String> brands);
 }
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 9d59216..bb69665 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
@@ -91,6 +91,7 @@
         chargingBillVO.setOrderCount(list1.size());
         BigDecimal paymentAmountTotal = new BigDecimal("0");
         BigDecimal orderAmountTotal = new BigDecimal("0");
+        BigDecimal refundAmountTotal = new BigDecimal("0");
         BigDecimal electrovalenceTotal = new BigDecimal("0");
         BigDecimal serviceChargeTotal = new BigDecimal("0");
         BigDecimal commissionAmountTotal = new BigDecimal("0");
@@ -364,6 +365,7 @@
                 }else if (tChargingOrder.getPaymentAmount()!=null){
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
+
                 // 累加订单金额
                 if (tChargingOrder.getOrderAmount()!=null){
                     orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
@@ -372,8 +374,10 @@
                 if (tChargingOrder.getElectrovalence()!=null){
                     electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                 }
-                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus()!=null&&  tChargingOrder.getRefundStatus()==2){
-                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
+                List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId())
+                        .eq(TChargingOrderRefund::getRefundStatus, 2).list();
+                for (TChargingOrderRefund tChargingOrderRefund : list2) {
+                    refundAmountTotal =refundAmountTotal.add(tChargingOrder.getRefundAmount());
                 }
                 // 累加累计服务费
                 if (tChargingOrder.getServiceCharge()!=null){
@@ -410,7 +414,7 @@
         chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
         chargingBillVO.setDiscount(discountTotal);
-
+        chargingBillVO.setRefundAmount(refundAmountTotal);
 
         pageInfo.setRecords(list);
         chargingBillVO.setList(pageInfo);
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 2fdbf77..7619236 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
@@ -256,11 +256,13 @@
 		myChargingOrderInfo.setChargeMode(chargingGun.getChargeMode());
 		String name = chargingGunClient.getAllName(chargingOrder.getChargingGunId()).getData();
 		myChargingOrderInfo.setName(name);
-		if(null != chargingOrder.getAppUserCarId()){
-			TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(chargingOrder.getAppUserCarId())).getData().get(0);
-			myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate());
-		}else{
-			myChargingOrderInfo.setLicensePlate("无");
+		if(Objects.nonNull(chargingOrder.getAppUserCarId())){
+			TAppUserCar tAppUserCar = appUserCarClient.getCarById(chargingOrder.getAppUserCarId().toString()).getData();
+			if(null != tAppUserCar){
+				myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate());
+			}else{
+				myChargingOrderInfo.setLicensePlate("无");
+			}
 		}
 		myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
 		myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
@@ -687,9 +689,6 @@
 		String key = "AQJC_" + chargingOrder.getChargingGunId();
 		List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
 		log.error(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
-		if(null == data || data.size() == 0){
-			return false;
-		}
 		if(data.size() != 0){
 			PlatformStartChargingReply platformStartChargingReply = data.get(1);
 			Integer startup_result = platformStartChargingReply.getStartup_result();
@@ -738,7 +737,7 @@
 				counter = (null == counter ? 0 : counter) + 1;
 				boot_failed_map.put(code, counter);
 				//启动失败
-				preChargeCheck1.setStartupSuccess(3);
+				preChargeCheck1.setStartupSuccess(1);
 				preChargeCheck1.setFailureCause(0);
 				redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
 				return false;
@@ -2243,6 +2242,9 @@
 				if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
 					return R.fail("退款金额需小于支付金额");
 				}
+				if ((tChargingOrder.getRechargeAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){
+					tChargingOrder.setStatus(5);
+				}
 
 
 				TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
@@ -2309,6 +2311,10 @@
 				if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
 					return R.fail("退款金额需小于支付金额");
 				}
+				if ((tChargingOrder.getPaymentAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){
+					tChargingOrder.setStatus(5);
+				}
+
 				TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund();
 				chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId());
 				chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2359,9 +2365,7 @@
 						tChargingOrder.setRefundStatus(2);
 						tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
 
-						if (payOrderQueryDto.getRefundAmount().compareTo(tChargingOrder.getPaymentAmount())==0){
-							tChargingOrder.setStatus(5);
-						}
+
 						shoppingOrderService.updateById(tChargingOrder);
 
 						shoppingOrderRefundService.save(chargingOrderRefund);
@@ -2376,6 +2380,8 @@
 			if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
 				return R.fail("退款金额需小于支付金额");
 			}
+
+
 			TVipOrderRefund chargingOrderRefund = new TVipOrderRefund();
 			chargingOrderRefund.setVipOrderId(tChargingOrder.getId());
 			chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2588,7 +2594,7 @@
 			tSettlementConfirm.setRemark(dto.getRemark());
 			tSettlementConfirm.setServicePartner(dto.getServicePartner());
 			tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
-			BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
+			BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01")));
 			// 总电损费用
 			BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
 			// 平台承担电损
@@ -2750,10 +2756,17 @@
 			}
 			// 充电总时长
 
-			Long temp = 0L;
+			Long temp = 1L;
 			if (StringUtils.hasLength(stringBuilder.toString())){
-				List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(stringBuilder.substring(0,stringBuilder.length()-1)).getData();
-				temp+=(data6.stream().mapToLong(UploadRealTimeMonitoringData::getCumulative_charging_time).sum()*60);
+				String substring = stringBuilder.substring(0, stringBuilder.length() - 1);
+				for (String s : substring.split(",")) {
+					UploadRealTimeMonitoringData data6 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(s).getData();
+					if (data6!=null){
+						temp+=(data6.getCumulative_charging_time()*60);
+
+					}
+
+				}
 			}
 			List<TChargingPile> data = siteClient.getPileListBySiteId(tSettlementConfirm.getSiteId()).getData();
 			// 计算充电桩的功率平均值
@@ -2793,7 +2806,7 @@
 				if (tSettlementConfirm.getSiteId().equals(settlementConfirm.getSiteId())){
 					// 电站相同比较收入涨幅跌幅
 					if (tSettlementConfirm.getIncome().compareTo(BigDecimal.ZERO)>0){
-						BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome()).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
+						BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome(),2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
 						tSettlementConfirm.setIncomePercentage(subtract+"%");
 					}else {
 						tSettlementConfirm.setIncomePercentage("100"+"%");
@@ -2999,4 +3012,9 @@
 		}
 		return this.list(queryWrapper.orderByDesc(TChargingOrder::getCreateTime));
 	}
+
+	@Override
+	public Long countCar(List<String> brands) {
+		return this.baseMapper.countCar(brands);
+	}
 }
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 f25778c..5716b77 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
@@ -187,7 +187,15 @@
                     break;
             }
         }
+
+        List<Long> appUserIds = list.stream().map(TActivityStatisticslVO::getAppUserId).collect(Collectors.toList());
+        List<TAppUser> appUsers = appUserClient.getUserByIds(appUserIds).getData();
+
         for (TActivityStatisticslVO tActivityStatisticslVO : list) {
+            TAppUser appUser = appUsers.stream().filter(user -> user.getId().equals(tActivityStatisticslVO.getAppUserId())).findFirst().orElse(null);
+            if(Objects.nonNull(appUser)){
+                tActivityStatisticslVO.setPhone(appUser.getPhone());
+            }
             // 判断享有了哪些类型
             switch (tActivityStatisticslVO.getOrderType()){
                 case 1:
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 232d838..f126021 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
@@ -121,12 +121,12 @@
         title,
         `status`,
         order_amount,
-        order_amount as payment_amount ,
+        payment_amount as payment_amount ,
         create_time,
         end_time,
         pay_time,
         refund_status,
-        (order_amount) as final_amount,
+        (recharge_amount-refund_amount) as final_amount,
         del_flag,
         app_user_id
         FROM
@@ -372,7 +372,7 @@
 
     </select>
     <select id="countAll" resultType="java.util.Map">
-        select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.0006, 2) as commission_amount,sum(sharing_amount) as sharing_amount
+        select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.006, 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>
@@ -398,7 +398,7 @@
     <select id="getDateData" resultType="java.util.Map">
         SELECT
             DATE_FORMAT( create_time, '%H:00' ) as time,
-        CAST(SUM(service_charge-coupon_discount_amount) AS DECIMAL(20, 6)) as  servicecharge,
+        CAST(SUM(service_charge) AS DECIMAL(20, 6)) as  servicecharge,
         CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence,
         CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount,
         SUM(payment_amount) AS paymoney,
@@ -423,7 +423,7 @@
     <select id="getWeekData" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(service_charge) as servicecharge,
         SUM(charging_capacity) as electrovalence,
         SUM(electrovalence) AS paymentAmount,
         SUM(payment_amount) AS paymoney,
@@ -448,7 +448,7 @@
     <select id="getMonthData" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(service_charge) as servicecharge,
         SUM(charging_capacity) as electrovalence,
         SUM(electrovalence) AS paymentAmount,
         SUM(payment_amount) AS paymoney,
@@ -473,7 +473,7 @@
     <select id="getYearData" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(service_charge) as servicecharge,
         SUM(charging_capacity) as electrovalence,
         SUM(electrovalence) AS paymentAmount,
         SUM(payment_amount) AS paymoney,
@@ -500,7 +500,7 @@
     <select id="getByDate" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(service_charge) as servicecharge,
         SUM(charging_capacity) as electrovalence,
         SUM(electrovalence) AS paymentAmount,
         SUM(payment_amount) AS paymoney,
@@ -629,14 +629,12 @@
         SELECT
             'today' AS data_type,
             '1' as type,
-            DATE_FORMAT( create_time, '%Y-%m-%d %H' ) AS time,
+            DATE_FORMAT( create_time, '%H:00' ) AS time,
         count(DISTINCT  app_user_id) AS counts
         FROM
             t_charging_order
         WHERE
             del_flag = 0
-          AND recharge_payment_status = 2
-          AND ISNULL( refund_status )
           AND DATE ( create_time ) = CURDATE()
         GROUP BY
             time
@@ -972,7 +970,7 @@
             `charging_pile_order`.`t_charging_order` co
                 LEFT JOIN  `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
                 LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
-        WHERE
+        WHERE co.del_flag = 0 and
             co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type = 4
         <if test="siteIds != null and siteIds.size() > 0">
             and co.site_id IN
@@ -1032,7 +1030,7 @@
         `charging_pile_order`.`t_charging_order` co
         LEFT JOIN  `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
         LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
-        WHERE
+        WHERE co.del_flag = 0 and
         co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type in (2,3)
         <if test="siteIds != null and siteIds.size() > 0">
             and co.site_id IN
@@ -1254,7 +1252,7 @@
         `charging_pile_service`.`t_fault_message` co
         LEFT JOIN  `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
         WHERE
-        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =1
+        co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 2 and co.status =1
         <if test="siteIds != null and siteIds.size() > 0">
             and co.site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1448,6 +1446,13 @@
         <if test="statisticsQueryDto.dayType == 1">
             AND DATE( create_time ) between #{statisticsQueryDto.startTime} and #{statisticsQueryDto.endTime}
         </if>
+
+        <if test="siteIds != null and siteIds.size() > 0">
+            and site_id IN
+            <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
+                #{siteId}
+            </foreach>
+        </if>
         GROUP BY
             time
         ORDER BY
@@ -1533,4 +1538,13 @@
         )  and au.del_flag = 0
 
     </select>
+    <select id="countCar" resultType="java.lang.Long">
+        select count(1)
+        from
+            charging_pile_account.t_app_user_car
+        where del_flag = 0 and vehicle_brand  not in
+        <foreach collection="brands" item="brand" open="(" separator="," close=")">
+            #{brand}
+        </foreach>
+    </select>
 </mapper>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
index 8c13bc7..b8f42ed 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
@@ -78,7 +78,7 @@
     </select>
     <select id="getSumAmout" resultType="java.math.BigDecimal">
         SELECT
-            SUM(payment_amount) AS paymentAmount
+            SUM(payment_amount-refund_amount) AS paymentAmount
         FROM
             t_vip_order
         WHERE

--
Gitblit v1.7.1