package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.CustomerMapper; import com.ruoyi.basic.pojo.Customer; import com.ruoyi.basic.service.ICustomerService; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.security.LoginUser; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * 客户档案Service业务层处理 * * @author ruoyi * @date 2025-05-07 */ @Service @AllArgsConstructor @Slf4j public class CustomerServiceImpl extends ServiceImpl implements ICustomerService { private CustomerMapper customerMapper; /** * 查询客户档案 * * @param id 客户档案主键 * @return 客户档案 */ @Override public Customer selectCustomerById(Long id) { return customerMapper.selectById(id); } /** * 查询客户档案列表 * * @param customer 客户档案 * @return 客户档案 */ @Override public List selectCustomerList(Customer customer) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotBlank(customer.getCustomerName())) { queryWrapper.eq(Customer::getCustomerName, customer.getCustomerName()); } List customerList = customerMapper.selectList(queryWrapper); // 使用 Stream 修改每个 Customer 的 addressPhone 字段 return customerList.stream().peek(c -> c.setAddressPhone(c.getCompanyAddress() + "( " + c.getCompanyPhone() + " )") ).collect(Collectors.toList()); } /** * 新增客户档案 * * @param customer 客户档案 * @return 结果 */ @Override public int insertCustomer(Customer customer) { LoginUser loginUser = SecurityUtils.getLoginUser(); Integer tenantId = loginUser.getTenantId(); customer.setTenantId(Long.valueOf(tenantId)); return customerMapper.insert(customer); } /** * 修改客户档案 * * @param customer 客户档案 * @return 结果 */ @Override public int updateCustomer(Customer customer) { LoginUser loginUser = SecurityUtils.getLoginUser(); Integer tenantId = loginUser.getTenantId(); customer.setTenantId(Long.valueOf(tenantId)); return customerMapper.updateById(customer); } /** * 批量删除客户档案 * * @param ids 需要删除的客户档案主键 * @return 结果 */ @Override public int deleteCustomerByIds(Long[] ids) { List idList = Arrays.asList(ids); return customerMapper.deleteBatchIds(idList); } @Override public List selectCustomerListByIds(Long[] ids) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(Customer::getId, Arrays.asList(ids)); return customerMapper.selectList(queryWrapper); } @Override public List customerList(Customer customer) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); queryWrapper.select(Customer::getId, Customer::getCustomerName); return customerMapper.selectMaps(queryWrapper); } }