CusFollowStaffMapper.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.dk.mdm.mapper.mst.CusFollowStaffMapper">
  4. <!-- 通用设置 -->
  5. <!-- 通用查询列 -->
  6. <sql id="Base_Column_List">
  7. cus_id, follow_staff, last_follow_id, last_follow_status, last_follow_time, follow_count, cp_id
  8. </sql>
  9. <!-- 通用查询映射结果 -->
  10. <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.CusFollowStaff">
  11. <id column="cus_id" property="cusId"/>
  12. <result column="follow_staff" property="followStaff" typeHandler="UuidTypeHandler"/>
  13. <result column="last_follow_id" property="lastFollowId" typeHandler="UuidTypeHandler"/>
  14. <result column="last_follow_status" property="lastFollowStatus"/>
  15. <result column="last_follow_time" property="lastFollowTime" typeHandler="TimestampTypeHandler"/>
  16. <result column="follow_count" property="followCount"/>
  17. <result column="cp_id" property="cpId"/>
  18. </resultMap>
  19. <!-- 通用条件列 -->
  20. <sql id="Condition">
  21. <where>
  22. <if test="followStaff != null and followStaff != ''">
  23. AND follow_staff = #{followStaff}
  24. </if>
  25. <if test="lastFollowId != null and lastFollowId != ''">
  26. AND last_follow_id = #{lastFollowId}
  27. </if>
  28. <if test="lastFollowStatus != null and lastFollowStatus != ''">
  29. AND last_follow_status = #{lastFollowStatus}
  30. </if>
  31. <if test="lastFollowTime != null">
  32. AND last_follow_time = #{lastFollowTime}
  33. </if>
  34. <if test="followCount != null">
  35. AND follow_count = #{followCount}
  36. </if>
  37. <if test="cpId != null">
  38. AND cp_id = #{cpId}
  39. </if>
  40. </where>
  41. </sql>
  42. <sql id="idsForeach">
  43. <!-- 根据主键cusId批量操作 -->
  44. WHERE cus_id in
  45. <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
  46. #{item}
  47. </foreach>
  48. </sql>
  49. <!-- 查询表t_crm_cus_follow_staff,(条件查询+分页)列表 -->
  50. <select id="selectByCond" resultMap="BaseResultMap">
  51. SELECT
  52. <include refid="Base_Column_List"/>
  53. FROM t_crm_cus_follow_staff
  54. <include refid="Condition"/>
  55. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  56. limit #{end} offset #{start}
  57. </if>
  58. </select>
  59. <!-- 查询表t_crm_cus_follow_staff,(条件查询)个数 -->
  60. <select id="countByCond" resultType="Long">
  61. SELECT
  62. count(1)
  63. FROM t_crm_cus_follow_staff
  64. <include refid="Condition"/>
  65. </select>
  66. <!-- 根据主键查询表t_crm_cus_follow_staff的一行数据 -->
  67. <select id="selectById" resultMap="BaseResultMap">
  68. SELECT
  69. <include refid="Base_Column_List"/>
  70. FROM t_crm_cus_follow_staff
  71. WHERE cus_id = #{cusId}::uuid
  72. </select>
  73. <!-- 根据主键锁定表t_crm_cus_follow_staff的一行数据 -->
  74. <select id="selectByIdForUpdate" resultMap="BaseResultMap">
  75. SELECT
  76. <include refid="Base_Column_List"/>
  77. FROM t_crm_cus_follow_staff
  78. WHERE cus_id = #{cusId}
  79. for update
  80. </select>
  81. <!-- 根据主键锁定表t_crm_cus_follow_staff的多行数据 -->
  82. <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
  83. SELECT
  84. <include refid="Base_Column_List"/>
  85. FROM t_crm_cus_follow_staff
  86. <include refid="idsForeach"/>
  87. for update
  88. </select>
  89. <insert id="insertBatch">
  90. insert into t_crm_cus_follow_staff
  91. (
  92. <trim suffixOverrides=",">
  93. follow_staff,
  94. last_follow_id,
  95. last_follow_status,
  96. last_follow_time,
  97. follow_count,
  98. cp_id,
  99. </trim>
  100. )
  101. values
  102. <foreach collection="list" index="index" item="item" separator=",">
  103. (
  104. <trim suffixOverrides=",">
  105. #{item.followStaff}::uuid,
  106. #{item.lastFollowId}::uuid,
  107. #{item.lastFollowStatus},
  108. #{item.lastFollowTime},
  109. #{item.followCount},
  110. #{item.cpId},
  111. </trim>
  112. )
  113. </foreach>
  114. </insert>
  115. <select id="selectByCusFollowStaffId" resultMap="BaseResultMap">
  116. SELECT
  117. <include refid="Base_Column_List"/>
  118. FROM dkic_b.t_crm_cus_follow_staff
  119. where cus_id = #{cusId} and follow_staff = #{followStaff}
  120. </select>
  121. </mapper>