src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java
@@ -1,21 +1,33 @@
package com.ruoyi.basic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.CustomerDto;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.basic.vo.CustomerVo;
import com.ruoyi.sales.vo.CustomerTransactionsDetailsVo;
import com.ruoyi.sales.vo.CustomerTransactionsVo;
import com.ruoyi.sales.vo.CustomerTransactionsProductVo;
import com.ruoyi.sales.vo.CustomerTransactionsShipmentVo;
import com.ruoyi.sales.vo.CustomerTransactionsSummaryVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * 客户档案Mapper接口
 *
 *
 * @author ruoyi
 * @date 2025-05-07
 */
@Mapper
public interface CustomerMapper extends BaseMapper<Customer>
{
    /**
     * 查询客户档案
     *
     *
     * @param id 客户档案主键
     * @return 客户档案
     */
@@ -23,7 +35,7 @@
    /**
     * 查询客户档案列表
     *
     *
     * @param customer 客户档案
     * @return 客户档案集合
     */
@@ -31,7 +43,7 @@
    /**
     * 新增客户档案
     *
     *
     * @param customer 客户档案
     * @return 结果
     */
@@ -39,7 +51,7 @@
    /**
     * 修改客户档案
     *
     *
     * @param customer 客户档案
     * @return 结果
     */
@@ -47,7 +59,7 @@
    /**
     * 删除客户档案
     *
     *
     * @param id 客户档案主键
     * @return 结果
     */
@@ -55,9 +67,34 @@
    /**
     * 批量删除客户档案
     *
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteCustomerByIds(Long[] ids);
    IPage<CustomerVo> listPage(Page<CustomerDto> page, @Param("c") CustomerDto customer, @Param("loginUserId") Long loginUserId);
    List<CustomerVo> list(@Param("c") CustomerDto customer, @Param("loginUserId") Long loginUserId);
    IPage<CustomerTransactionsVo> customewTransactions(Page page, @Param("customerName") String customerName);
    IPage<CustomerTransactionsDetailsVo> customewTransactionsDetails(Page page, @Param("customerId") Long customerId);
    /**
     * 查询客户往来统计汇总
     */
    CustomerTransactionsSummaryVo getCustomerTransactionsSummary(@Param("customerId") Long customerId);
    /**
     * 查询客户往来产品明细
     */
    IPage<CustomerTransactionsProductVo> getCustomerTransactionsProducts(Page page,
            @Param("customerId") Long customerId, @Param("salesLedgerId") Long salesLedgerId);
    /**
     * 查询客户往来发货明细
     */
    IPage<CustomerTransactionsShipmentVo> getCustomerTransactionsShipments(Page page,
            @Param("customerId") Long customerId, @Param("salesLedgerId") Long salesLedgerId);
}