From 4c11fcb07ed8afc22bef4b26b72224e945d250db Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 22 六月 2026 08:57:52 +0800
Subject: [PATCH] 分账fix

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

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 d7fc008..e072c76 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
@@ -931,11 +931,12 @@
     public R<List<SixChargingDto>> charge(Integer siteId) {
         Long userId = tokenService.getLoginUser().getUserid();
         SysUser sysUser = sysUserClient.getSysUser(userId).getData();
+        boolean partnerView = isPartnerView(sysUser);
         List<Integer> siteIds = resolvePlatformRevenueSiteIds(userId, sysUser, siteId);
         LocalDate sixBefore = PreviousSixMonths.get();
         //通过siteIds进行sql查询统计
         List<SixChargingDto> sixChargingDtos = generateLastSixMonths();
-        List<SixChargingDto> chargingDtos = chargingOrderService.charge(sixBefore, siteIds);
+        List<SixChargingDto> chargingDtos = chargingOrderService.charge(sixBefore, siteIds, partnerView);
         for (SixChargingDto sixChargingDto : sixChargingDtos) {
             for (SixChargingDto chargingDto : chargingDtos) {
                 if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
@@ -973,9 +974,10 @@
     public R<List<SixCircleDto>> circle() {
         Long userId = tokenService.getLoginUser().getUserid();
         SysUser sysUser = sysUserClient.getSysUser(userId).getData();
+        boolean partnerView = isPartnerView(sysUser);
         List<Integer> siteIds = resolvePlatformRevenueSiteIds(userId, sysUser, null);
         LocalDate sixBefore = PreviousSixMonths.get();
-        List<SixCircleDto> sixCircleDtos = chargingOrderService.circle(siteIds,sixBefore);
+        List<SixCircleDto> sixCircleDtos = chargingOrderService.circle(siteIds,sixBefore, partnerView);
         for (SixCircleDto sixCircleDto : sixCircleDtos) {
             Site site = siteClient.getSiteByIds(Arrays.asList(sixCircleDto.getSiteId())).getData().get(0);
             sixCircleDto.setSiteName(site.getName());
@@ -1060,14 +1062,15 @@
         //count近6个月的数据
         Long userId = tokenService.getLoginUser().getUserid();
         SysUser sysUser = sysUserClient.getSysUser(userId).getData();
+        boolean partnerView = isPartnerView(sysUser);
         List<Integer> siteIds = resolvePlatformRevenueSiteIds(userId, sysUser, null);
-        Map<String,Object>  map = chargingOrderService.countAll(siteIds);
-        boolean platformVisible = 1 == sysUser.getObjectId();
+        Map<String,Object>  map = chargingOrderService.countAll(siteIds, partnerView);
+        if (map == null) {
+            map = new HashMap<String,Object>();
+        }
+        boolean platformVisible = !partnerView;
         if(platformVisible){
             BigDecimal data = parkingLotClient.getRecordAmount().getData();
-            if (map ==null){
-                map = new HashMap<String,Object>();
-            }
             map.put("parkingAmount",data);
             BigDecimal data1 =   shoppingOrderService.getSumAmount();
             map.put("shopAmount",data1);
@@ -1089,9 +1092,14 @@
     public R<List<SixIncomeCircleDto>> payTypeCircle() {
         Long userId = tokenService.getLoginUser().getUserid();
         SysUser sysUser = sysUserClient.getSysUser(userId).getData();
+        boolean partnerView = isPartnerView(sysUser);
         List<Integer> siteIds = resolvePlatformRevenueSiteIds(userId, sysUser, null);
         LocalDate sixBefore = PreviousSixMonths.get();
-        return R.ok(chargingOrderService.payTypeCircle(sixBefore, siteIds));
+        return R.ok(chargingOrderService.payTypeCircle(sixBefore, siteIds, partnerView));
+    }
+
+    private boolean isPartnerView(SysUser sysUser) {
+        return sysUser != null && Integer.valueOf(2).equals(sysUser.getRoleType());
     }
 
     /**

--
Gitblit v1.7.1