From 8438d50aef0bb78e5e6c41ca1c1bc09b4e61add1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 29 七月 2026 09:18:29 +0800
Subject: [PATCH] feat(customer): 添加公海客户归属查看权限控制
---
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 51 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 38 insertions(+), 13 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..4404387 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -130,7 +130,8 @@
public IPage<CustomerVo> selectCustomerList(Page<CustomerDto> page, CustomerDto customer) {
LoginUser loginUser = SecurityUtils.getLoginUser();
Long loginUserId = loginUser.getUserId();
- IPage<CustomerVo> customerPage = customerMapper.listPage(page, customer, loginUserId);
+ boolean isAdmin = SecurityUtils.hasPermi("customer:viewAll");
+ IPage<CustomerVo> customerPage = customerMapper.listPage(page, customer, loginUserId, isAdmin);
List<CustomerVo> records = customerPage.getRecords();
if (CollectionUtils.isEmpty(records)) {
@@ -199,7 +200,21 @@
LoginUser loginUser = SecurityUtils.getLoginUser();
Long tenantId = loginUser.getTenantId();
customer.setTenantId(tenantId);
- return customerMapper.insert(customer);
+ int result = customerMapper.insert(customer);
+
+ // 绉佹捣鏂板鏃跺悓姝ヤ竴鏉″埌鍏捣
+ if (customer.getType() != null && customer.getType() == 0) {
+ Customer publicSeaCustomer = new Customer();
+ BeanUtils.copyProperties(customer, publicSeaCustomer);
+ publicSeaCustomer.setId(null);
+ publicSeaCustomer.setType(1);
+ publicSeaCustomer.setIsAssigned(0);
+ publicSeaCustomer.setUsageUser(loginUser.getUserId());
+ publicSeaCustomer.setUsageStatus(1L);
+ customerMapper.insert(publicSeaCustomer);
+ }
+
+ return result;
}
/**
@@ -281,7 +296,8 @@
public List<CustomerVo> selectCustomerLists(CustomerDto customer) {
LoginUser loginUser = SecurityUtils.getLoginUser();
Long loginUserId = loginUser.getUserId();
- return customerMapper.list(customer, loginUserId);
+ boolean isAdmin = SecurityUtils.hasPermi("customer:viewAll");
+ return customerMapper.list(customer, loginUserId, isAdmin);
}
@Override
@@ -310,18 +326,27 @@
@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();
+ boolean isAdmin = SecurityUtils.hasPermi("customer:viewAll");
+ 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, isAdmin);
+ 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