From bac50872dc8d80fd8c3879f02aa98084db4d6cc8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 26 十月 2026 21:53:07 +0800
Subject: [PATCH] fix(basic): 超级管理员查询客户不再受领用/共享范围限制
---
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 39 +++++++++++++++++++++++++++------------
1 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
index 0b0c6cd..b2f407d 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -129,7 +129,8 @@
@Override
public IPage<CustomerVo> selectCustomerList(Page<CustomerDto> page, CustomerDto customer) {
LoginUser loginUser = SecurityUtils.getLoginUser();
- Long loginUserId = loginUser.getUserId();
+ // 瓒呯骇绠$悊鍛樹笉鍙楀鎴烽鐢�/鍏变韩鑼冨洿闄愬埗锛屽彲鏌ョ湅鍏ㄩ儴瀹㈡埛
+ Long loginUserId = isSuperAdmin(loginUser) ? null : loginUser.getUserId();
IPage<CustomerVo> customerPage = customerMapper.listPage(page, customer, loginUserId);
List<CustomerVo> records = customerPage.getRecords();
@@ -280,8 +281,14 @@
@Override
public List<CustomerVo> selectCustomerLists(CustomerDto customer) {
LoginUser loginUser = SecurityUtils.getLoginUser();
- Long loginUserId = loginUser.getUserId();
+ // 瓒呯骇绠$悊鍛樹笉鍙楀鎴烽鐢�/鍏变韩鑼冨洿闄愬埗锛屽彲瀵煎嚭鍏ㄩ儴瀹㈡埛
+ Long loginUserId = isSuperAdmin(loginUser) ? null : loginUser.getUserId();
return customerMapper.list(customer, loginUserId);
+ }
+
+ /** 瓒呯骇绠$悊鍛橈細涓嶅彈瀹㈡埛棰嗙敤/鍏变韩鑼冨洿闄愬埗 */
+ private boolean isSuperAdmin(LoginUser loginUser) {
+ return loginUser != null && loginUser.getUser() != null && loginUser.getUser().isAdmin();
}
@Override
@@ -310,18 +317,26 @@
@Override
public List<Map<String, Object>> customerList(Customer customer) {
- LambdaQueryWrapper<Customer> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.select(Customer::getId, Customer::getCustomerName, Customer::getTaxpayerIdentificationNumber);
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ Long loginUserId = loginUser.getUserId();
+ CustomerDto query = new CustomerDto();
+ if (customer != null) {
+ BeanUtils.copyProperties(customer, query);
+ }
- // 鑾峰彇鍘熷鏌ヨ缁撴灉
- List<Map<String, Object>> result = customerMapper.selectMaps(queryWrapper);
+ // 澶嶇敤瀹㈡埛鍒楄〃鐨勫彲瑙佹�ц鍒欙紝閬垮厤鎶婂埆浜虹殑绉佹捣瀹㈡埛鏆撮湶缁欏綋鍓嶈处鍙�
+ List<CustomerVo> visibleCustomers = customerMapper.list(query, loginUserId);
+ if (CollectionUtils.isEmpty(visibleCustomers)) {
+ return Collections.emptyList();
+ }
- // 灏嗕笅鍒掔嚎鍛藉悕杞崲涓洪┘宄板懡鍚�
- return result.stream().map(map -> map.entrySet().stream()
- .collect(Collectors.toMap(
- entry -> underlineToCamel(entry.getKey()),
- Map.Entry::getValue))
- ).collect(Collectors.toList());
+ return visibleCustomers.stream().map(item -> {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("id", item.getId());
+ map.put("customerName", item.getCustomerName());
+ map.put("taxpayerIdentificationNumber", item.getTaxpayerIdentificationNumber());
+ return map;
+ }).collect(Collectors.toList());
}
// 鍒嗛厤鍏捣瀹㈡埛缁欑娴�
--
Gitblit v1.9.3