From b8af1e51e9d6d8762be946cd29ecabfefcf0f060 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 31 十月 2024 15:53:02 +0800
Subject: [PATCH] 合并代码

---
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MD5Util.java                            |   48 --------
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetOrderEvaluatePageList.java                        |    2 
 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/TOrderEvaluateMapper.java                         |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java          |    2 
 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/java/com/ruoyi/chargingPile/controller/PartnerController.java          |   14 ++
 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-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java              |   65 +++++++++-
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java                |    2 
 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 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/TFaultMessageMapper.java            |    3 
 16 files changed, 220 insertions(+), 81 deletions(-)

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-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-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/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/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-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/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/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/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">

--
Gitblit v1.7.1