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