From 55d694aaae4e421b5e55cd941500e08f85cb5d4d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 27 八月 2026 18:21:33 +0800
Subject: [PATCH] feat(sales): 添加框架合同订单功能并优化销售台账管理
---
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 41 ++++++++++++++++++++++++++++-------------
1 files changed, 28 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 4404387..7e307b5 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -365,20 +366,34 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void recycleCustomer(CustomerDto customerDto) {
- Customer customer = customerMapper.selectById(customerDto.getId());
- if (customer.getType() == 1 && customer.getIsAssigned() == 1) { // 鍏捣涓斿凡鍒嗛厤
- validatePublicSeaRecyclePermission(customer.getId());
- customer.setIsAssigned(0);
- customer.setUsageStatus(0L);
- customer.setUsageUser(0L);
- customerMapper.updateById(customer);
-
- // 鍒犻櫎璇ュ鎴风殑鎵�鏈夊叡浜叧绯�
- customerUserService.remove(
- new QueryWrapper<CustomerUser>().lambda()
- .eq(CustomerUser::getCustomerId, customerDto.getId())
- );
+ if (customerDto == null || customerDto.getId() == null) {
+ throw new RuntimeException("瀹㈡埛ID涓嶈兘涓虹┖");
}
+ Customer customer = customerMapper.selectById(customerDto.getId());
+ if (customer == null) {
+ throw new RuntimeException("瀹㈡埛妗f涓嶅瓨鍦�");
+ }
+ boolean assigned = Objects.equals(customer.getIsAssigned(), 1)
+ || Objects.equals(customer.getUsageStatus(), 1L)
+ || (customer.getUsageUser() != null && customer.getUsageUser() > 0);
+ if (!assigned) {
+ throw new RuntimeException("璇ュ鎴峰綋鍓嶆湭澶勪簬棰嗙敤鐘舵�侊紝鏃犳硶鍥炴敹");
+ }
+ validatePublicSeaRecyclePermission(customer.getId());
+ int updated = customerMapper.update(null, new UpdateWrapper<Customer>()
+ .eq("id", customer.getId())
+ .set("is_assigned", 0)
+ .set("usage_status", 0)
+ .set("usage_user", null));
+ if (updated == 0) {
+ throw new RuntimeException("瀹㈡埛鍥炴敹澶辫触锛岃鍒锋柊鍚庨噸璇�");
+ }
+
+ // 鍒犻櫎璇ュ鎴风殑鎵�鏈夊叡浜叧绯�
+ customerUserService.remove(
+ new QueryWrapper<CustomerUser>().lambda()
+ .eq(CustomerUser::getCustomerId, customerDto.getId())
+ );
}
// 瀹㈡埛鍏变韩
--
Gitblit v1.9.3