From ca01cb6a493c9b3ddf6508a458e6c561fe0f81a8 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 31 十月 2024 16:05:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                              |   47 ++++-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java                                        |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java |    5 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java                       |   62 +++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java                                         |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java                                         |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java                          |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java                          |   14 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java                                       |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java                              |   65 ++++++-
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java              |    5 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java                                |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java       |    7 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                                   |    1 
 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                                               |   35 ++-
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java                            |    3 
 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                                 |   23 ++
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java                                            |   48 ------
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java                                           |    2 
 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-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml                                               |    6 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java                         |   13 +
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml                                  |    7 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java                                  |    4 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java                    |    7 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java                 |   57 ++++++
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml                                        |    7 
 30 files changed, 318 insertions(+), 129 deletions(-)

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-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
index d2f3666..f5053f5 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
@@ -7,6 +7,8 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
+import java.util.Set;
+
 
 /**
  * 充电桩服务降级处理
@@ -27,6 +29,11 @@
 			public R<Partner> getPartnerById(Integer id) {
 				return R.fail("根据id获取合作商信息失败:" + throwable.getMessage());
 			}
+			
+			@Override
+			public R<Set<Integer>> authSite(Integer partnerId, String siteMenu) {
+				return R.fail("获取合作商授权的站点数据失败:" + throwable.getMessage());
+			}
 		};
 	}
 }
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java
index 198aeaa..5d3aa49 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java
@@ -8,6 +8,9 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Set;
 
 /**
  * @author zhibing.pu
@@ -24,4 +27,14 @@
 	 */
 	@PostMapping("/partner/getPartnerById/{id}")
 	R<Partner> getPartnerById(@PathVariable("id") Integer id);
+	
+	
+	/**
+	 * 获取合作商授权的站点数据
+	 * @param partnerId
+	 * @param siteMenu
+	 * @return
+	 */
+	@PostMapping("/partner/authSite/{partnerId}")
+	R<Set<Integer>> authSite(@PathVariable("partnerId") Integer partnerId, @RequestParam("siteMenu") String siteMenu);
 }
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-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-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java
index 1037459..e13282a 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java
@@ -73,52 +73,4 @@
         return "";
     }
  
-    /**
-     * 获取32位大写
-     *
-     * @param str
-     * @return
-     */
-    public static String getMD5_32_upper(String str) {
-        if (StringUtils.isNotEmpty(str))
-            return getMD5(str).toUpperCase();
-        return "";
-    }
- 
-    /**
-     * 获取32位小写
-     *
-     * @param str
-     * @return
-     */
-    public static String getMD5_32_lower(String str) {
-        if (StringUtils.isNotEmpty(str))
-            return getMD5(str).toLowerCase();
-        return "";
-    }
- 
-    /**
-     * 获取16位大写
-     *
-     * @param str
-     * @return
-     */
-    public static String getMD5_16_upper(String str) {
-        if (StringUtils.isNotEmpty(str))
-            return getMD5(str).substring(8, 24).toUpperCase();
-        return "";
-    }
- 
-    /**
-     * 获取16位小写
-     *
-     * @param str
-     * @return
-     */
-    public static String getMD5_16_lower(String str) {
-        if (StringUtils.isNotEmpty(str))
-            return getMD5(str).substring(8, 24).toLowerCase();
-        return "";
-    }
- 
 }
\ No newline at end of file
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 70d9802..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
@@ -775,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-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
index 9739d0d..8494f33 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -7,6 +7,7 @@
 import com.ruoyi.chargingPile.api.model.Partner;
 import com.ruoyi.chargingPile.api.query.GetPartnerList;
 import com.ruoyi.chargingPile.api.query.SetPermissionConfiguration;
+import com.ruoyi.chargingPile.domain.SiteMenu;
 import com.ruoyi.chargingPile.dto.ResetPassword;
 import com.ruoyi.chargingPile.service.IPartnerService;
 import com.ruoyi.common.core.domain.R;
@@ -24,6 +25,7 @@
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author zhibing.pu
@@ -158,4 +160,16 @@
 		Partner partner = partnerService.getPartner(id);
 		return R.ok(partner);
 	}
+	
+	/**
+	 * 获取合作商授权的站点数据
+	 * @param partnerId
+	 * @param siteMenu
+	 * @return
+	 */
+	@PostMapping("/authSite/{partnerId}")
+	public R<Set<Integer>> authSite(@PathVariable("partnerId") Integer partnerId, @RequestParam("siteMenu") String siteMenu){
+		Set<Integer> integers = partnerService.authSite(partnerId, SiteMenu.valueOf(siteMenu));
+		return R.ok(integers);
+	}
 }
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/TRepairController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java
index 5ae633b..fd964e2 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java
@@ -63,7 +63,7 @@
 	@ResponseBody
 	@GetMapping("/getRepairList")
 	@ApiOperation(value = "获取报修记录列表数据", tags = {"管理后台-设备监控"})
-	public AjaxResult<PageInfo<TRepair>> getRepairList(String name, String siteId, BasePage basePage){
+	public AjaxResult<PageInfo<TRepair>> getRepairList(String name, Integer siteId, BasePage basePage){
 		PageInfo<TRepair> pageInfo = new PageInfo<>(basePage.getPageCurr(), basePage.getPageSize());
 		List<TRepair> repairList = repairService.getRepairList(pageInfo, name, siteId);
 		pageInfo.setRecords(repairList);
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java
index 70c0e9c..f85b500 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java
@@ -20,8 +20,7 @@
 	/**
 	 * 获取故障信息列表
 	 * @param pageInfo
-	 * @param siteId
 	 * @return
 	 */
-	List<TFaultMessage> getFaultMessageList(PageInfo<TFaultMessage> pageInfo, @Param("siteId") Integer siteId);
+	List<TFaultMessage> getFaultMessageList(PageInfo<TFaultMessage> pageInfo, @Param("siteIds") List<Integer> siteIds);
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java
index c9190aa..1da2e90 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TRepairMapper.java
@@ -22,9 +22,9 @@
 	 * 获取列表数据
 	 * @param pageInfo
 	 * @param name
-	 * @param siteId
+	 * @param siteIds
 	 * @return
 	 */
-	List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, @Param("name") String name, @Param("siteId") String siteId);
+	List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, @Param("name") String name, @Param("siteIds") List<Integer> siteIds);
 
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java
index 02edf11..9bedb5f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java
@@ -23,7 +23,7 @@
 	 * @param siteId
 	 * @return
 	 */
-	List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, String siteId);
+	List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, Integer siteId);
 
 	/**
 	 * 添加报修记录
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
index c9cf126..6ddc88c 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
@@ -2,24 +2,33 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.chargingPile.api.feignClient.PartnerClient;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.model.TFaultMessage;
+import com.ruoyi.chargingPile.domain.SiteMenu;
 import com.ruoyi.chargingPile.mapper.TFaultMessageMapper;
-import com.ruoyi.chargingPile.service.ISiteService;
-import com.ruoyi.chargingPile.service.TChargingPileNotificationService;
-import com.ruoyi.chargingPile.service.TChargingPileService;
-import com.ruoyi.chargingPile.service.TFaultMessageService;
+import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.constant.MsgConstants;
 import com.ruoyi.common.core.utils.HttpUtils;
 import com.ruoyi.common.core.utils.MsgUtil;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.other.api.feignClient.RoleSiteClient;
+import com.ruoyi.other.api.feignClient.UserSiteClient;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.ruoyi.system.api.feignClient.SysUserRoleClient;
+import com.ruoyi.system.api.model.SysUserRoleVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -39,6 +48,21 @@
     private TChargingPileService chargingPileService;
     @Autowired
     private TChargingPileNotificationService chargingPileNotificationService;
+    
+    @Resource
+    private SysUserClient sysUserClient;
+    
+    @Resource
+    private IPartnerService partnerService;
+    
+    @Resource
+    private UserSiteClient userSiteClient;
+    
+    @Resource
+    private RoleSiteClient roleSiteClient;
+    
+    @Resource
+    private SysUserRoleClient sysUserRoleClient;
 
     @Override
     public void add(TFaultMessage dto) {
@@ -66,6 +90,29 @@
      */
     @Override
     public List<TFaultMessage> getFaultMessageList(PageInfo<TFaultMessage> pageInfo, Integer siteId) {
-        return this.baseMapper.getFaultMessageList(pageInfo, siteId);
+        //校验合作商权限
+        List<Integer> siteIds = new ArrayList<>();
+        if(null == siteId || 0 == siteId){
+            SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
+            Integer roleType = sysUser.getRoleType();
+            Integer objectId = sysUser.getObjectId();
+            //合作商
+            if(roleType == 2){
+                Set<Integer> data = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
+                siteIds = new ArrayList<>(data);
+            }else{
+                //非管理员需要根据角色和用户配置查询允许的站点数据
+                if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+                    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();
+                    data.addAll(data1);
+                    siteIds = data;
+                }
+            }
+        }else{
+            siteIds.add(siteId);
+        }
+        return this.baseMapper.getFaultMessageList(pageInfo, siteIds);
     }
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
index 3832dc5..c1f07c9 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
@@ -5,24 +5,32 @@
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.model.TRepair;
+import com.ruoyi.chargingPile.domain.SiteMenu;
 import com.ruoyi.chargingPile.mapper.TRepairMapper;
-import com.ruoyi.chargingPile.service.ISiteService;
-import com.ruoyi.chargingPile.service.TChargingPileNotificationService;
-import com.ruoyi.chargingPile.service.TChargingPileService;
-import com.ruoyi.chargingPile.service.TRepairService;
+import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.constant.MsgConstants;
 import com.ruoyi.common.core.utils.HttpUtils;
 import com.ruoyi.common.core.utils.MsgUtil;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.page.BasePage;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.other.api.feignClient.RoleSiteClient;
+import com.ruoyi.other.api.feignClient.UserSiteClient;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.ruoyi.system.api.feignClient.SysUserRoleClient;
+import com.ruoyi.system.api.model.SysUserRoleVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -41,6 +49,25 @@
 	private TChargingPileService chargingPileService;
 	@Autowired
 	private TChargingPileNotificationService chargingPileNotificationService;
+	
+	@Resource
+	private SysUserClient sysUserClient;
+	
+	@Resource
+	private IPartnerService partnerService;
+	
+	@Resource
+	private UserSiteClient userSiteClient;
+	
+	@Resource
+	private RoleSiteClient roleSiteClient;
+	
+	@Resource
+	private SysUserRoleClient sysUserRoleClient;
+	
+	
+	
+	
 	/**
 	 * 获取报修记录列表
 	 * @param name
@@ -48,8 +75,31 @@
 	 * @return
 	 */
 	@Override
-	public List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, String siteId) {
-		return this.baseMapper.getRepairList(pageInfo, name, siteId);
+	public List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, Integer siteId) {
+		//校验合作商权限
+		List<Integer> siteIds = new ArrayList<>();
+		if(null == siteId || 0 == siteId){
+			SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
+			Integer roleType = sysUser.getRoleType();
+			Integer objectId = sysUser.getObjectId();
+			//合作商
+			if(roleType == 2){
+				Set<Integer> data = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
+				siteIds = new ArrayList<>(data);
+			}else{
+				//非管理员需要根据角色和用户配置查询允许的站点数据
+				if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+					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();
+					data.addAll(data1);
+					siteIds = data;
+				}
+			}
+		}else{
+			siteIds.add(siteId);
+		}
+		return this.baseMapper.getRepairList(pageInfo, name, siteIds);
 	}
 
 	@Override
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-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml
index cd1ff30..538c633 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TFaultMessageMapper.xml
@@ -32,8 +32,11 @@
         left join t_charging_pile b on (a.charging_pile_id = b.id)
         left join t_site c on (a.site_id = c.id)
         where a.del_flag = 0
-        <if test="null != siteId">
-            and a.site_id = #{siteId}
+        <if test="null != siteIds and siteIds.size() > 0">
+            and a.site_id in
+            <foreach collection="siteIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
         </if>
         order by a.create_time desc
     </select>
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml
index 6c7b52f..6e02964 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TRepairMapper.xml
@@ -33,8 +33,11 @@
         <if test="null != name and '' != name">
             and a.repairman like CONCAT('%', #{name}, '%')
         </if>
-        <if test="null != siteId">
-            and a.site_id = #{siteId}
+        <if test="null != siteIds and siteIds.size() > 0">
+            and a.site_id in
+            <foreach collection="siteIds" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
         </if>
         order by a.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-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 4207889..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
@@ -369,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);
@@ -778,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);
@@ -797,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<>();
@@ -1258,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();
 
@@ -1322,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();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java
index c195f20..9bfc93d 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java
@@ -5,6 +5,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author zhibing.pu
  * @Date 2024/8/12 19:07
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/mapper/TOrderEvaluateMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java
index 75a7287..831fde2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java
@@ -41,7 +41,7 @@
      * @return
      */
     List<GetOrderEvaluatePageListDTO> getPageList(@Param("query") GetOrderEvaluatePageList pageList, @Param("evaluationTagIds") List<Integer> evaluationTagIds,
-                                                  PageInfo<GetOrderEvaluatePageListDTO> pageInfo);
+                                                  @Param("siteIds") List<Integer> siteIds, PageInfo<GetOrderEvaluatePageListDTO> pageInfo);
 
     /**
      * 查询站点下的所有订单评价
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/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index cc70d8a..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);
@@ -2240,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();
@@ -2306,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());
@@ -2356,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);
@@ -2373,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());
@@ -2585,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);
 			// 平台承担电损
@@ -2747,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();
 			// 计算充电桩的功率平均值
@@ -2790,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"+"%");
@@ -2996,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/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
index d0bf4ea..c9c9f8a 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
@@ -15,6 +15,7 @@
 import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.api.model.TAppUserIntegralChange;
+import com.ruoyi.chargingPile.api.feignClient.PartnerClient;
 import com.ruoyi.chargingPile.api.feignClient.SiteClient;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO;
@@ -24,6 +25,7 @@
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TOrderEvaluate;
 import com.ruoyi.order.api.model.TOrderEvaluateTag;
@@ -41,10 +43,12 @@
 import com.ruoyi.other.api.domain.TEvaluationTag;
 import com.ruoyi.other.api.domain.TIntegralRule;
 import com.ruoyi.other.api.domain.TVip;
-import com.ruoyi.other.api.feignClient.IntegralRuleClient;
-import com.ruoyi.other.api.feignClient.TEvaluationTagClient;
-import com.ruoyi.other.api.feignClient.VipClient;
+import com.ruoyi.other.api.feignClient.*;
 import com.ruoyi.other.api.vo.TEvaluationTagVO;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.ruoyi.system.api.feignClient.SysUserRoleClient;
+import com.ruoyi.system.api.model.SysUserRoleVo;
 import io.seata.spring.annotation.GlobalTransactional;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,11 +58,7 @@
 import java.math.BigDecimal;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -100,6 +100,21 @@
     
     @Resource
     private VipClient vipClient;
+    
+    @Resource
+    private SysUserClient sysUserClient;
+    
+    @Resource
+    private PartnerClient partnerService;
+    
+    @Resource
+    private UserSiteClient userSiteClient;
+    
+    @Resource
+    private RoleSiteClient roleSiteClient;
+    
+    @Resource
+    private SysUserRoleClient sysUserRoleClient;
     
     
     
@@ -251,7 +266,32 @@
             List<TEvaluationTagVO> data = evaluationTagClient.getTagList(pageList.getEvaluateType()).getData();
             evaluationTagIds = data.stream().map(TEvaluationTagVO::getId).collect(Collectors.toList());
         }
-        List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, pageInfo);
+    
+        //校验合作商权限
+        List<Integer> siteIds = new ArrayList<>();
+        if(null == pageList.getSiteId() || 0 == pageList.getSiteId()){
+            SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
+            Integer roleType = sysUser.getRoleType();
+            Integer objectId = sysUser.getObjectId();
+            //合作商
+            if(roleType == 2){
+                Set<Integer> data = partnerService.authSite(objectId, "/data/site").getData();
+                siteIds = new ArrayList<>(data);
+            }else{
+                //非管理员需要根据角色和用户配置查询允许的站点数据
+                if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+                    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();
+                    data.addAll(data1);
+                    siteIds = data;
+                }
+            }
+        }else{
+            siteIds.add(pageList.getSiteId());
+        }
+        
+        List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, siteIds, pageInfo);
         for (GetOrderEvaluatePageListDTO dto : list) {
             TAppUser appUser = appUserClient.getUserById(dto.getAppUserId()).getData();
             if(null != appUser){
@@ -259,8 +299,11 @@
                 String phone = appUser.getPhone();
                 dto.setPhone(phone.substring(0, 3) + "****" + phone.substring(6));
             }
-            Site site = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData().get(0);
-            dto.setSiteName(site.getName());
+            List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData();
+            if(null != data1 && data1.size() > 0){
+                Site site = data1.get(0);
+                dto.setSiteName(site.getName());
+            }
             List<TOrderEvaluateTag> tOrderEvaluateTags = orderEvaluateTagMapper.selectList(new LambdaQueryWrapper<TOrderEvaluateTag>().eq(TOrderEvaluateTag::getOrderEvaluateId, dto.getId()));
             List<Integer> tagIds = tOrderEvaluateTags.stream().map(TOrderEvaluateTag::getEvaluationTagId).collect(Collectors.toList());
             if(tagIds.size() > 0){
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 55d1a4c..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=")">
@@ -1540,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/TOrderEvaluateMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
index 7a4d65a..75427e3 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
@@ -123,6 +123,12 @@
         <if test="null != query.siteId">
             and b.site_id = #{query.siteId}
         </if>
+        <if test="null != siteIds and siteIds.size() > 0">
+            and b.site_id in
+            <foreach collection="siteIds" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         order by a.create_time desc
     </select>
     <select id="goodTop" resultType="java.util.Map">
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