From 69a0e318bb6ce1efec4d67d8751b7574b37ba49e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 23 九月 2025 18:07:13 +0800
Subject: [PATCH] AI对接

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
index 5448866..65d9130 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
@@ -1,22 +1,29 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.dto.TCrmSupplierDTO;
 import com.ruoyi.system.mapper.TCrmSupplierMapper;
 import com.ruoyi.system.model.TCrmSupplier;
+import com.ruoyi.system.model.TCrmSupplierToWarehouse;
 import com.ruoyi.system.query.TCrmSupplierQuery;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.TCrmSupplierService;
+import com.ruoyi.system.service.TCrmSupplierToWarehouseService;
 import com.ruoyi.system.vo.TCrmSupplierVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -31,11 +38,26 @@
 
     @Autowired
     private ISysUserService sysUserService;
+    @Autowired
+    private TCrmSupplierToWarehouseService crmSupplierToWarehouseService;
 
     @Override
     public PageInfo<TCrmSupplierVO> pageList(TCrmSupplierQuery query) {
         PageInfo<TCrmSupplierVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<TCrmSupplierVO> list = this.baseMapper.pageList(query,pageInfo);
+        if(CollectionUtils.isEmpty(list)){
+            return pageInfo;
+        }
+        List<String> supplierIds = list.stream().map(TCrmSupplierVO::getId).collect(Collectors.toList());
+        List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = crmSupplierToWarehouseService.list(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class)
+                .eq(TCrmSupplierToWarehouse::getSupplierId, supplierIds));
+        for (TCrmSupplierVO crmSupplierVO : list) {
+            List<TCrmSupplierToWarehouse> supplierToWarehouses = crmSupplierToWarehouses.stream().filter(crmSupplierToWarehouse -> crmSupplierToWarehouse.getSupplierId().equals(crmSupplierVO.getId())).collect(Collectors.toList());
+            if(!CollectionUtils.isEmpty(supplierToWarehouses)){
+                List<String> warehouseIds = supplierToWarehouses.stream().map(TCrmSupplierToWarehouse::getWarehouseId).collect(Collectors.toList());
+                crmSupplierVO.setWarehouseIds(warehouseIds);
+            }
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -48,6 +70,18 @@
             return R.fail(dto.getAccount()+"-账号已存在");
         }
         this.save(dto);
+        // 添加供应商和仓库关联关系
+        TCrmSupplierToWarehouse crmSupplierToWarehouse = new TCrmSupplierToWarehouse();
+        List<String> warehouseIds = dto.getWarehouseIds();
+        if(!CollectionUtils.isEmpty(warehouseIds)){
+            List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = new ArrayList<>();
+            for (String warehouseId : warehouseIds) {
+                crmSupplierToWarehouse.setSupplierId(dto.getId());
+                crmSupplierToWarehouse.setWarehouseId(warehouseId);
+                crmSupplierToWarehouses.add(crmSupplierToWarehouse);
+            }
+            crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses);
+        }
         // 添加账号
         SysUser user = new SysUser();
         user.setUserName(dto.getAccount());
@@ -73,12 +107,28 @@
         }
         SysUser user = sysUserService.selectUserById(dto.getUserId());
         this.updateById(dto);
+        // 删除供应商和仓库关联关系
+        crmSupplierToWarehouseService.remove(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class).eq(TCrmSupplierToWarehouse::getSupplierId, dto.getId()));
+        // 添加供应商和仓库关联关系
+        List<String> warehouseIds = dto.getWarehouseIds();
+        if(!CollectionUtils.isEmpty(warehouseIds)){
+            List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = new ArrayList<>();
+            for (String warehouseId : warehouseIds) {
+                TCrmSupplierToWarehouse crmSupplierToWarehouse = new TCrmSupplierToWarehouse();
+                crmSupplierToWarehouse.setSupplierId(dto.getId());
+                crmSupplierToWarehouse.setWarehouseId(warehouseId);
+                crmSupplierToWarehouses.add(crmSupplierToWarehouse);
+            }
+            crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses);
+        }
         if(Objects.nonNull(user)){
             // 修改账号
             user.setPhonenumber(dto.getPhone());
             user.setUserName(dto.getAccount());
             user.setNickName(dto.getSupplierName());
-            user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+            if(StringUtils.isNotEmpty(dto.getPassword())){
+                user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+            }
             sysUserService.updateUser(user);
         }
         return R.ok();

--
Gitblit v1.7.1