gongchunyi
2026-05-10 fec6c1c27cc4333f1f3b39bd09bd3f4cc201772b
src/main/resources/mapper/basic/CustomerMapper.xml
@@ -1,91 +1,55 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.basic.mapper.CustomerMapper">
    <resultMap type="com.ruoyi.basic.pojo.Customer" id="CustomerResult">
        <result property="id"    column="id"    />
        <result property="customerName"    column="customer_name"    />
        <result property="taxpayerIdentificationNumber"    column="taxpayer_identification_number"    />
        <result property="companyAddress"    column="company_address"    />
        <result property="companyPhone"    column="company_phone"    />
        <result property="contactPerson"    column="contact_person"    />
        <result property="contactPhone"    column="contact_phone"    />
        <result property="maintainer"    column="maintainer"    />
        <result property="maintenanceTime"    column="maintenance_time"    />
    </resultMap>
    <sql id="selectCustomerVo">
        select id, customer_name, taxpayer_identification_number, company_address, company_phone, contact_person, contact_phone, maintainer, maintenance_time from customer
    </sql>
    <select id="selectCustomerList" parameterType="com.ruoyi.basic.pojo.Customer" resultMap="CustomerResult">
        <include refid="selectCustomerVo"/>
        <where>
            <if test="customerName != null  and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
            <if test="taxpayerIdentificationNumber != null  and taxpayerIdentificationNumber != ''"> and taxpayer_identification_number = #{taxpayerIdentificationNumber}</if>
            <if test="companyAddress != null  and companyAddress != ''"> and company_address = #{companyAddress}</if>
            <if test="companyPhone != null  and companyPhone != ''"> and company_phone = #{companyPhone}</if>
            <if test="contactPerson != null  and contactPerson != ''"> and contact_person = #{contactPerson}</if>
            <if test="contactPhone != null  and contactPhone != ''"> and contact_phone = #{contactPhone}</if>
            <if test="maintainer != null  and maintainer != ''"> and maintainer = #{maintainer}</if>
            <if test="maintenanceTime != null "> and maintenance_time = #{maintenanceTime}</if>
        </where>
    </select>
    <select id="selectCustomerById" parameterType="Long" resultMap="CustomerResult">
        <include refid="selectCustomerVo"/>
        where id = #{id}
    </select>
    <insert id="insertCustomer" parameterType="com.ruoyi.basic.pojo.Customer" useGeneratedKeys="true" keyProperty="id">
        insert into customer
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="customerName != null and customerName != ''">customer_name,</if>
            <if test="taxpayerIdentificationNumber != null and taxpayerIdentificationNumber != ''">taxpayer_identification_number,</if>
            <if test="companyAddress != null and companyAddress != ''">company_address,</if>
            <if test="companyPhone != null and companyPhone != ''">company_phone,</if>
            <if test="contactPerson != null and contactPerson != ''">contact_person,</if>
            <if test="contactPhone != null and contactPhone != ''">contact_phone,</if>
            <if test="maintainer != null and maintainer != ''">maintainer,</if>
            <if test="maintenanceTime != null">maintenance_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="customerName != null and customerName != ''">#{customerName},</if>
            <if test="taxpayerIdentificationNumber != null and taxpayerIdentificationNumber != ''">#{taxpayerIdentificationNumber},</if>
            <if test="companyAddress != null and companyAddress != ''">#{companyAddress},</if>
            <if test="companyPhone != null and companyPhone != ''">#{companyPhone},</if>
            <if test="contactPerson != null and contactPerson != ''">#{contactPerson},</if>
            <if test="contactPhone != null and contactPhone != ''">#{contactPhone},</if>
            <if test="maintainer != null and maintainer != ''">#{maintainer},</if>
            <if test="maintenanceTime != null">#{maintenanceTime},</if>
         </trim>
    </insert>
    <update id="updateCustomer" parameterType="com.ruoyi.basic.pojo.Customer">
        update customer
        <trim prefix="SET" suffixOverrides=",">
            <if test="customerName != null and customerName != ''">customer_name = #{customerName},</if>
            <if test="taxpayerIdentificationNumber != null and taxpayerIdentificationNumber != ''">taxpayer_identification_number = #{taxpayerIdentificationNumber},</if>
            <if test="companyAddress != null and companyAddress != ''">company_address = #{companyAddress},</if>
            <if test="companyPhone != null and companyPhone != ''">company_phone = #{companyPhone},</if>
            <if test="contactPerson != null and contactPerson != ''">contact_person = #{contactPerson},</if>
            <if test="contactPhone != null and contactPhone != ''">contact_phone = #{contactPhone},</if>
            <if test="maintainer != null and maintainer != ''">maintainer = #{maintainer},</if>
            <if test="maintenanceTime != null">maintenance_time = #{maintenanceTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteCustomerById" parameterType="Long">
        delete from customer where id = #{id}
    </delete>
    <delete id="deleteCustomerByIds" parameterType="String">
        delete from customer where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
    <select id="selectCustomerDtoListByIds" resultType="com.ruoyi.basic.excel.CustomerExcelDTO">
        SELECT
            c.customer_name AS customerName,
            c.taxpayer_identification_number AS taxpayerIdentificationNumber,
            c.company_address AS companyAddress,
            c.company_phone AS companyPhone,
            c.contact_person AS contactPerson,
            c.contact_phone AS contactPhone,
            c.maintainer AS maintainer,
            c.basic_bank_account AS basicBankAccount,
            c.bank_account AS bankAccount,
            c.bank_code AS bankCode,
            cfu.follow_up_time AS followUpTime,
            cfu.follow_up_method AS followUpMethod,
            cfu.follow_up_level AS followUpLevel,
            cfu.follower_user_name AS followerUserName,
            cfu.content AS content
        FROM customer c
        LEFT JOIN customer_follow_up cfu ON c.id = cfu.customer_id
        WHERE c.id IN
        <foreach collection="ids" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
        ORDER BY c.create_user
    </select>
    <select id="selectCustomerDtoLists" resultType="com.ruoyi.basic.excel.CustomerExcelDTO">
        SELECT
            c.customer_name AS customerName,
            c.taxpayer_identification_number AS taxpayerIdentificationNumber,
            c.company_address AS companyAddress,
            c.company_phone AS companyPhone,
            c.contact_person AS contactPerson,
            c.contact_phone AS contactPhone,
            c.maintainer AS maintainer,
            c.basic_bank_account AS basicBankAccount,
            c.bank_account AS bankAccount,
            c.bank_code AS bankCode,
            cfu.follow_up_time AS followUpTime,
            cfu.follow_up_method AS followUpMethod,
            cfu.follow_up_level AS followUpLevel,
            cfu.follower_user_name AS followerUserName,
            cfu.content AS content
        FROM
            customer c
                LEFT JOIN customer_follow_up cfu ON c.id = cfu.customer_id
        ORDER BY
            c.create_user
    </select>
</mapper>