FsUserCompanyUserMapper.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.fs.course.mapper.FsUserCompanyUserMapper">
  6. <resultMap type="FsUserCompanyUser" id="FsUserCompanyUserResult">
  7. <result property="id" column="id" />
  8. <result property="userId" column="user_id" />
  9. <result property="companyUserId" column="company_user_id" />
  10. <result property="companyId" column="company_id" />
  11. <result property="isRepeatFans" column="is_repeat_fans" />
  12. <result property="projectId" column="project_id" />
  13. <result property="qwUserId" column="qw_user_id" />
  14. <result property="qwExternalContactId" column="qw_external_contact_id" />
  15. <result property="qwCompanyId" column="qw_company_id" />
  16. <result property="status" column="status" />
  17. <result property="remark" column="remark" />
  18. <result property="createTime" column="create_time" />
  19. </resultMap>
  20. <sql id="selectFsUserCompanyUserVo">
  21. select id, user_id, company_user_id, company_id, is_repeat_fans, project_id, qw_user_id, qw_external_contact_id, qw_company_id, `status`, remark, create_time from fs_user_company_user
  22. </sql>
  23. <select id="selectFsUserCompanyUserList" parameterType="FsUserCompanyUser" resultMap="FsUserCompanyUserResult">
  24. <include refid="selectFsUserCompanyUserVo"/>
  25. <where>
  26. <if test="userId != null "> and user_id = #{userId}</if>
  27. <if test="companyUserId != null "> and company_user_id = #{companyUserId}</if>
  28. <if test="companyId != null "> and company_id = #{companyId}</if>
  29. <if test="isRepeatFans != null "> and is_repeat_fans = #{isRepeatFans}</if>
  30. <if test="projectId != null "> and project_id = #{projectId}</if>
  31. <if test="qwUserId != null "> and qw_user_id = #{qwUserId}</if>
  32. <if test="qwExternalContactId != null "> and qw_external_contact_id = #{qwExternalContactId}</if>
  33. <if test="qwCompanyId != null "> and qw_company_id = #{qwCompanyId}</if>
  34. <if test="status != null "> and `status` = #{status}</if>
  35. <if test="remark != null "> and remark = #{remark}</if>
  36. <if test="createTime != null "> and create_time = #{createTime}</if>
  37. </where>
  38. </select>
  39. <select id="selectFsUserCompanyUserById" parameterType="Long" resultMap="FsUserCompanyUserResult">
  40. <include refid="selectFsUserCompanyUserVo"/>
  41. where id = #{id}
  42. </select>
  43. <insert id="insertFsUserCompanyUser" parameterType="FsUserCompanyUser" useGeneratedKeys="true" keyProperty="id">
  44. insert into fs_user_company_user
  45. <trim prefix="(" suffix=")" suffixOverrides=",">
  46. <if test="id != null">id,</if>
  47. <if test="userId != null">user_id,</if>
  48. <if test="companyUserId != null">company_user_id,</if>
  49. <if test="companyId != null">company_id,</if>
  50. <if test="isRepeatFans != null">is_repeat_fans,</if>
  51. <if test="projectId != null">project_id,</if>
  52. <if test="qwUserId != null">qw_user_id,</if>
  53. <if test="qwExternalContactId != null">qw_external_contact_id,</if>
  54. <if test="qwCompanyId != null">qw_company_id,</if>
  55. <if test="status != null">`status`,</if>
  56. <if test="remark != null">remark,</if>
  57. <if test="createTime != null">create_time,</if>
  58. </trim>
  59. <trim prefix="values (" suffix=")" suffixOverrides=",">
  60. <if test="id != null">#{id},</if>
  61. <if test="userId != null">#{userId},</if>
  62. <if test="companyUserId != null">#{companyUserId},</if>
  63. <if test="companyId != null">#{companyId},</if>
  64. <if test="isRepeatFans != null">#{isRepeatFans},</if>
  65. <if test="projectId != null">#{projectId},</if>
  66. <if test="qwUserId != null">#{qwUserId},</if>
  67. <if test="qwExternalContactId != null">#{qwExternalContactId},</if>
  68. <if test="qwCompanyId != null">#{qwCompanyId},</if>
  69. <if test="status != null">#{status},</if>
  70. <if test="remark != null">#{remark},</if>
  71. <if test="createTime != null">#{createTime},</if>
  72. </trim>
  73. </insert>
  74. <update id="updateFsUserCompanyUser" parameterType="FsUserCompanyUser">
  75. update fs_user_company_user
  76. <trim prefix="SET" suffixOverrides=",">
  77. <if test="userId != null">user_id = #{userId},</if>
  78. <if test="companyUserId != null">company_user_id = #{companyUserId},</if>
  79. <if test="companyId != null">company_id = #{companyId},</if>
  80. <if test="isRepeatFans != null">is_repeat_fans = #{isRepeatFans},</if>
  81. <if test="projectId != null">project_id = #{projectId},</if>
  82. <if test="qwUserId != null">qw_user_id = #{qwUserId},</if>
  83. <if test="qwExternalContactId != null">qw_external_contaact_id = #{qwExternalContactId},</if>
  84. <if test="qwCompanyId != null">qw_company_id = #{qwCompanyId},</if>
  85. <if test="status != null">`status` = #{status},</if>
  86. <if test="remark != null">remark = #{remark},</if>
  87. <if test="createTime != null">create_time = #{createTime},</if>
  88. </trim>
  89. where id = #{id}
  90. </update>
  91. <update id="transfer">
  92. update fs_user_company_user set company_user_id=#{param.targetCompanyUserId}
  93. <where>
  94. <if test="param.userIds != null and param.userIds.size() > 0">
  95. user_id in
  96. <foreach collection="param.userIds" item="item" separator="," open="(" close=")">
  97. #{item}
  98. </foreach>
  99. </if>
  100. </where>
  101. </update>
  102. <update id="changeUserProjectStatus">
  103. update fs_user_company_user ucu
  104. set ucu.`status` = #{status}
  105. where (ucu.user_id, ucu.project_id) in
  106. <foreach collection="ids" item="item" separator="," open="(" close=")">
  107. (#{item.userId}, #{item.projectId})
  108. </foreach>
  109. </update>
  110. <update id="batchUpdateStatus">
  111. update fs_user_company_user ucu
  112. set ucu.`status` = #{status}
  113. where id in
  114. <foreach collection="ids" item="item" separator="," open="(" close=")">
  115. (#{item})
  116. </foreach>
  117. </update>
  118. <delete id="deleteFsUserCompanyUserById" parameterType="Long">
  119. delete from fs_user_company_user where id = #{id}
  120. </delete>
  121. <delete id="deleteFsUserCompanyUserByIds" parameterType="String">
  122. delete from fs_user_company_user where id in
  123. <foreach item="id" collection="array" open="(" separator="," close=")">
  124. #{id}
  125. </foreach>
  126. </delete>
  127. <select id="selectRepeatCompanyUserName" resultType="FsUserCompanyUser">
  128. SELECT
  129. GROUP_CONCAT( company_user.nick_name ) AS repeatCompanyUserName,
  130. fs_user_company_user.user_id
  131. FROM
  132. fs_user_company_user
  133. LEFT JOIN company_user ON company_user.user_id = fs_user_company_user.company_user_id
  134. <where>
  135. fs_user_company_user.user_id IN
  136. <foreach item="userId" collection="userIds" open="(" separator="," close=")">
  137. #{userId}
  138. </foreach>
  139. </where>
  140. GROUP BY
  141. fs_user_company_user.user_id
  142. </select>
  143. <select id="selectFsUserCompanyUserListByMap" resultType="java.lang.Long">
  144. select fucu.project_id
  145. from fs_user_company_user fucu
  146. left join fs_user_project_tag ft on fucu.id =ft.user_company_user_id
  147. <where>
  148. <if test="param.tagIds != null and param.tagIds.size() > 0">
  149. and ft.tag_id in
  150. <foreach collection="param.tagIds" item="item" separator="," open="(" close=")">
  151. #{item}
  152. </foreach>
  153. </if>
  154. <if test="param.companyUserId != null">
  155. and fucu.company_user_id = #{param.companyUserId}
  156. </if>
  157. </where>
  158. group by fucu.project_id
  159. </select>
  160. </mapper>