by-crm/backend/target/classes/mapper/DealerMapper.xml
2026-01-26 16:01:15 +08:00

72 lines
2.8 KiB
XML

<?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.bycrm.mapper.DealerMapper">
<resultMap id="BaseResultMap" type="com.bycrm.entity.Dealer">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="code" property="code"/>
<result column="contact_person" property="contactPerson"/>
<result column="contact_phone" property="contactPhone"/>
<result column="email" property="email"/>
<result column="status" property="status"/>
<result column="created_at" property="createdAt"/>
<result column="updated_at" property="updatedAt"/>
<result column="user_id" property="userId"/>
</resultMap>
<select id="selectById" resultMap="BaseResultMap">
SELECT * FROM crm_dealer WHERE id = #{id}
</select>
<select id="selectByCode" resultMap="BaseResultMap">
SELECT * FROM crm_dealer WHERE code = #{code}
</select>
<select id="selectList" resultMap="BaseResultMap">
SELECT d.*, u.id as user_id
FROM crm_dealer d
LEFT JOIN crm_user u ON u.dealer_id = d.id
<where>
<if test="name != null and name != ''">
AND d.name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="code != null and code != ''">
AND d.code LIKE CONCAT('%', #{code}, '%')
</if>
<if test="status != null">
AND d.status = #{status}
</if>
</where>
ORDER BY d.created_at DESC
</select>
<insert id="insert" parameterType="com.bycrm.entity.Dealer" useGeneratedKeys="true" keyProperty="id">
INSERT INTO crm_dealer (name, code, contact_person, contact_phone, email, status)
VALUES (#{name}, #{code}, #{contactPerson}, #{contactPhone}, #{email}, #{status})
</insert>
<update id="update" parameterType="com.bycrm.entity.Dealer">
UPDATE crm_dealer
<set>
<if test="name != null and name != ''">name = #{name},</if>
<if test="code != null and code != ''">code = #{code},</if>
<if test="contactPerson != null and contactPerson != ''">contact_person = #{contactPerson},</if>
<if test="contactPhone != null and contactPhone != ''">contact_phone = #{contactPhone},</if>
<if test="email != null">email = #{email},</if>
<if test="status != null">status = #{status},</if>
</set>
WHERE id = #{id}
</update>
<delete id="deleteById">
DELETE FROM crm_dealer WHERE id = #{id}
</delete>
<select id="count" resultType="java.lang.Long">
SELECT COUNT(*) FROM crm_dealer
</select>
</mapper>