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 | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 116 insertions(+), 0 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 d07d38b..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,10 +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> @@ -17,4 +36,101 @@ @Service public class TCrmSupplierServiceImpl extends ServiceImpl<TCrmSupplierMapper, TCrmSupplier> implements TCrmSupplierService { + @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; + } + + @Override + public R<Boolean> addSupplier(TCrmSupplierDTO dto) { + // 判断账号是否已存在 + SysUser sysUser = sysUserService.selectUserByUserName(dto.getAccount()); + if(Objects.nonNull(sysUser)){ + 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()); + user.setPhonenumber(dto.getPhone()); + user.setNickName(dto.getSupplierName()); + user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); + user.setStatus("0"); + user.setDelFlag("0"); + user.setRoleType(4); + user.setRoleId(4L); + sysUserService.insertUser(user); + dto.setUserId(user.getUserId()); + this.updateById(dto); + return R.ok(); + } + + @Override + public R<Boolean> updateSupplier(TCrmSupplierDTO dto) { + // 判断账号是否已存在 + SysUser sysUser1 = sysUserService.selectUserByUserName(dto.getAccount()); + if(Objects.nonNull(sysUser1) && !sysUser1.getUserId().equals(dto.getUserId())){ + return R.fail(dto.getAccount()+"-账号已存在"); + } + 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()); + if(StringUtils.isNotEmpty(dto.getPassword())){ + user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); + } + sysUserService.updateUser(user); + } + return R.ok(); + } } -- Gitblit v1.7.1