liding
2025-05-14 b10d9b8fcbe9eddeb881690bbeddafc7f786077f
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -1,15 +1,24 @@
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.Map;
import java.util.stream.Collectors;
/**
@@ -20,6 +29,7 @@
 */
@Service
@AllArgsConstructor
@Slf4j
public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements ICustomerService {
    private CustomerMapper customerMapper;
@@ -31,7 +41,7 @@
     */
    @Override
    public Customer selectCustomerById(Long id) {
        return customerMapper.selectCustomerById(id);
        return customerMapper.selectById(id);
    }
    /**
@@ -42,7 +52,18 @@
     */
    @Override
    public List<Customer> selectCustomerList(Customer customer) {
        return customerMapper.selectCustomerList(customer);
        LambdaQueryWrapper<Customer> queryWrapper = new LambdaQueryWrapper<>();
        if (StringUtils.isNotBlank(customer.getCustomerName())) {
            queryWrapper.like(Customer::getCustomerName, customer.getCustomerName());
        }
        List<Customer> customerList = customerMapper.selectList(queryWrapper);
        // 使用 Stream 修改每个 Customer 的 addressPhone 字段
        return customerList.stream().peek(c ->
                c.setAddressPhone(c.getCompanyAddress() + "( " + c.getCompanyPhone() + " )")
        ).collect(Collectors.toList());
    }
    /**
@@ -53,7 +74,10 @@
     */
    @Override
    public int insertCustomer(Customer customer) {
        return customerMapper.insertCustomer(customer);
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Integer tenantId = loginUser.getTenantId();
        customer.setTenantId(Long.valueOf(tenantId));
        return customerMapper.insert(customer);
    }
    /**
@@ -64,7 +88,10 @@
     */
    @Override
    public int updateCustomer(Customer customer) {
        return customerMapper.updateCustomer(customer);
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Integer tenantId = loginUser.getTenantId();
        customer.setTenantId(Long.valueOf(tenantId));
        return customerMapper.updateById(customer);
    }
    /**
@@ -75,17 +102,52 @@
     */
    @Override
    public int deleteCustomerByIds(Long[] ids) {
        return customerMapper.deleteCustomerByIds(ids);
        List<Long> idList = Arrays.asList(ids);
        return customerMapper.deleteBatchIds(idList);
    }
    @Override
    public List<Customer> selectCustomerListByIds(Long[] ids) {
        LambdaQueryWrapper<Customer> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(Customer::getId, Arrays.asList(ids));
        return customerMapper.selectList(queryWrapper);
    }
    @Override
    public List<Map<String, Object>> customerList(Customer customer) {
        LambdaQueryWrapper<Customer> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.select(Customer::getId, Customer::getCustomerName,Customer::getTaxpayerIdentificationNumber);
        // 获取原始查询结果
        List<Map<String, Object>> result = customerMapper.selectMaps(queryWrapper);
        // 将下划线命名转换为驼峰命名
        return result.stream().map(map -> map.entrySet().stream()
                .collect(Collectors.toMap(
                        entry -> underlineToCamel(entry.getKey()),
                        Map.Entry::getValue))
        ).collect(Collectors.toList());
    }
    /**
     * 删除客户档案信息
     *
     * @param id 客户档案主键
     * @return 结果
     * 下划线命名转驼峰命名
     */
    @Override
    public int deleteCustomerById(Long id) {
        return customerMapper.deleteCustomerById(id);
    private String underlineToCamel(String param) {
        if (param == null || "".equals(param.trim())) {
            return "";
        }
        int len = param.length();
        StringBuilder sb = new StringBuilder(len);
        for (int i = 0; i < len; i++) {
            char c = param.charAt(i);
            if (c == '_') {
                if (++i < len) {
                    sb.append(Character.toUpperCase(param.charAt(i)));
                }
            } else {
                sb.append(Character.toLowerCase(c));
            }
        }
        return sb.toString();
    }
}