From 260dd6fe156265832544715192ce1491e9c2afd6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 26 六月 2026 13:41:13 +0800
Subject: [PATCH] fix(stock): 解决库存管理中的重复键异常问题 - 在采购台账服务中添加净合同金额字段设置 - 在销售台账服务中添加净合同金额字段设置 - 在入库记录服务中为库存插入操作添加重复键异常处理 - 在入库记录服务中为非库存插入操作添加重复键异常处理 - 在库存服务中为库存插入操作添加重复键异常处理 - 统一处理数据库唯一键约束冲突,避免系统错误

---
 src/main/java/com/ruoyi/customervisits/service/impl/CustomerVisitsServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++------
 1 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/customervisits/service/impl/CustomerVisitsServiceImpl.java b/src/main/java/com/ruoyi/customervisits/service/impl/CustomerVisitsServiceImpl.java
index e8cfc1a..55c00b9 100644
--- a/src/main/java/com/ruoyi/customervisits/service/impl/CustomerVisitsServiceImpl.java
+++ b/src/main/java/com/ruoyi/customervisits/service/impl/CustomerVisitsServiceImpl.java
@@ -4,12 +4,14 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.customervisits.mapper.CustomerVisitsMapper;
 import com.ruoyi.customervisits.pojo.CustomerVisits;
 import com.ruoyi.customervisits.service.CustomerVisitsService;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author :yys
@@ -17,15 +19,42 @@
  */
 @Service
 @Slf4j
+@RequiredArgsConstructor
 public class CustomerVisitsServiceImpl extends ServiceImpl<CustomerVisitsMapper, CustomerVisits> implements CustomerVisitsService {
 
-    @Autowired
-    private CustomerVisitsMapper customerVisitsMapper;
+    private final CustomerVisitsMapper customerVisitsMapper;
 
     @Override
     public IPage<CustomerVisits> listPage(Page page, CustomerVisits customerVisits) {
-        LambdaQueryWrapper<CustomerVisits> customerVisitsLambdaQueryWrapper = new LambdaQueryWrapper<CustomerVisits>();
-        Page page1 = customerVisitsMapper.selectPage(page, customerVisitsLambdaQueryWrapper);
-        return page1;
+        LambdaQueryWrapper<CustomerVisits> wrapper = new LambdaQueryWrapper<>();
+
+        if (customerVisits != null) {
+            if (StringUtils.hasText(customerVisits.getCustomerName())) {
+                wrapper.like(CustomerVisits::getCustomerName, customerVisits.getCustomerName());
+            }
+
+            if (StringUtils.hasText(customerVisits.getVisitingPeople())) {
+                wrapper.like(CustomerVisits::getVisitingPeople, customerVisits.getVisitingPeople());
+            }
+        }
+        wrapper.orderByDesc(CustomerVisits::getId);
+        return customerVisitsMapper.selectPage(page, wrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateCustomerVisit(CustomerVisits customerVisits) {
+        if (customerVisits == null || customerVisits.getId() == null) {
+            return false;
+        }
+
+        if (StringUtils.isEmpty(customerVisits.getCustomerName())
+                || StringUtils.isEmpty(customerVisits.getPurposeVisit())
+                || StringUtils.isEmpty(customerVisits.getVisitAddress())
+                || StringUtils.isEmpty(customerVisits.getPurposeDate())) {
+            return false;
+        }
+
+        return updateById(customerVisits);
     }
 }

--
Gitblit v1.9.3