FsUserCompanyUserMapper.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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.store.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. </resultMap>
  19. <sql id="selectFsUserCompanyUserVo">
  20. 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 from fs_user_company_user
  21. </sql>
  22. <select id="selectFsUserCompanyUserList" parameterType="FsUserCompanyUser" resultMap="FsUserCompanyUserResult">
  23. <include refid="selectFsUserCompanyUserVo"/>
  24. <where>
  25. <if test="userId != null "> and user_id = #{userId}</if>
  26. <if test="companyUserId != null "> and company_user_id = #{companyUserId}</if>
  27. <if test="companyId != null "> and company_id = #{companyId}</if>
  28. <if test="isRepeatFans != null "> and is_repeat_fans = #{isRepeatFans}</if>
  29. <if test="projectId != null "> and project_id = #{projectId}</if>
  30. <if test="qwUserId != null "> and qw_user_id = #{qwUserId}</if>
  31. <if test="qwExternalContactId != null "> and qw_external_contact_id = #{qwExternalContactId}</if>
  32. <if test="qwCompanyId != null "> and qw_company_id = #{qwCompanyId}</if>
  33. <if test="status != null "> and `status` = #{status}</if>
  34. <if test="remark != null "> and remark = #{remark}</if>
  35. </where>
  36. </select>
  37. <select id="selectFsUserCompanyUserById" parameterType="Long" resultMap="FsUserCompanyUserResult">
  38. <include refid="selectFsUserCompanyUserVo"/>
  39. where id = #{id}
  40. </select>
  41. <insert id="insertFsUserCompanyUser" parameterType="FsUserCompanyUser" useGeneratedKeys="true" keyProperty="id">
  42. insert into fs_user_company_user
  43. <trim prefix="(" suffix=")" suffixOverrides=",">
  44. <if test="id != null">id,</if>
  45. <if test="userId != null">user_id,</if>
  46. <if test="companyUserId != null">company_user_id,</if>
  47. <if test="companyId != null">company_id,</if>
  48. <if test="isRepeatFans != null">is_repeat_fans,</if>
  49. <if test="projectId != null">project_id,</if>
  50. <if test="qwUserId != null">qw_user_id,</if>
  51. <if test="qwExternalContactId != null">qw_external_contact_id,</if>
  52. <if test="qwCompanyId != null">qw_company_id,</if>
  53. <if test="status != null">`status`,</if>
  54. <if test="remark != null">remark,</if>
  55. </trim>
  56. <trim prefix="values (" suffix=")" suffixOverrides=",">
  57. <if test="id != null">#{id},</if>
  58. <if test="userId != null">#{userId},</if>
  59. <if test="companyUserId != null">#{companyUserId},</if>
  60. <if test="companyId != null">#{companyId},</if>
  61. <if test="isRepeatFans != null">#{isRepeatFans},</if>
  62. <if test="projectId != null">#{projectId},</if>
  63. <if test="qwUserId != null">#{qwUserId},</if>
  64. <if test="qwExternalContactId != null">#{qwExternalContactId},</if>
  65. <if test="qwCompanyId != null">#{qwCompanyId},</if>
  66. <if test="status != null">#{status},</if>
  67. <if test="remark != null">#{remark},</if>
  68. </trim>
  69. </insert>
  70. <update id="updateFsUserCompanyUser" parameterType="FsUserCompanyUser">
  71. update fs_user_company_user
  72. <trim prefix="SET" suffixOverrides=",">
  73. <if test="userId != null">user_id = #{userId},</if>
  74. <if test="companyUserId != null">company_user_id = #{companyUserId},</if>
  75. <if test="companyId != null">company_id = #{companyId},</if>
  76. <if test="isRepeatFans != null">is_repeat_fans = #{isRepeatFans},</if>
  77. <if test="projectId != null">project_id = #{projectId},</if>
  78. <if test="qwUserId != null">qw_user_id = #{qwUserId},</if>
  79. <if test="qwExternalContactId != null">qw_external_contaact_id = #{qwExternalContactId},</if>
  80. <if test="qwCompanyId != null">qw_company_id = #{qwCompanyId},</if>
  81. <if test="status != null">`status` = #{status},</if>
  82. <if test="remark != null">remark = #{remark},</if>
  83. </trim>
  84. where id = #{id}
  85. </update>
  86. <update id="transfer">
  87. update fs_user_company_user set company_user_id=#{targetCompanyUserId}
  88. <where>
  89. <if test="param.userIds != null and param.userIds.size() > 0">
  90. user_id in
  91. <foreach collection="param.userIds" item="item" separator="," open="(" close=")">
  92. #{item}
  93. </foreach>
  94. </if>
  95. </where>
  96. </update>
  97. <update id="changeUserProjectStatus">
  98. update fs_user_company_user ucu
  99. set ucu.`status` = #{status}
  100. where (ucu.user_id, ucu.project_id) in
  101. <foreach collection="ids" item="item" separator="," open="(" close=")">
  102. (#{item.userId}, #{item.projectId})
  103. </foreach>
  104. </update>
  105. <delete id="deleteFsUserCompanyUserById" parameterType="Long">
  106. delete from fs_user_company_user where id = #{id}
  107. </delete>
  108. <delete id="deleteFsUserCompanyUserByIds" parameterType="String">
  109. delete from fs_user_company_user where id in
  110. <foreach item="id" collection="array" open="(" separator="," close=")">
  111. #{id}
  112. </foreach>
  113. </delete>
  114. <select id="selectRepeatCompanyUserName" resultType="FsUserCompanyUser">
  115. SELECT
  116. GROUP_CONCAT( company_user.nick_name ) AS repeatCompanyUserName,
  117. fs_user_company_user.user_id
  118. FROM
  119. fs_user_company_user
  120. LEFT JOIN company_user ON company_user.user_id = fs_user_company_user.company_user_id
  121. <where>
  122. fs_user_company_user.user_id IN
  123. <foreach item="userId" collection="userIds" open="(" separator="," close=")">
  124. #{userId}
  125. </foreach>
  126. </where>
  127. GROUP BY
  128. fs_user_company_user.user_id
  129. </select>
  130. </mapper>