UserInfoDao.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  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.crm.manager.dao.mapper.UserInfoDao">
  6. <select id="getStampById" parameterType="Long" resultType="String">
  7. select stamp
  8. from user_info
  9. where id = #{id}
  10. </select>
  11. <select id="getStampListByIds" parameterType="java.util.List" resultType="String">
  12. select stamp
  13. from user_info
  14. where id in
  15. <foreach collection="list" index="idx" item="item" separator="," open="(" close=")">
  16. #{item}
  17. </foreach>
  18. </select>
  19. <select id="searchByPageList" parameterType="com.crm.rely.backend.core.entity.user.info.UserInfoSearchEntity"
  20. resultType="com.crm.rely.backend.core.pojo.view.UserInfoView">
  21. SELECT user_info.*,
  22. user_group.`name` AS group_name,
  23. user_group.en_name AS group_en_name,
  24. agent_level.`name` AS agent_level_name,
  25. agent_level.en_name AS agent_level_en_name,
  26. user_role.`name` as role_name,
  27. area.area_name as area_name,
  28. coun.`name` countryName,coun.`en_name` countryEnName
  29. FROM user_info
  30. LEFT JOIN user_group ON user_group.id= user_info.group_id
  31. LEFT JOIN agent_level ON agent_level.id=user_info.agent_level
  32. LEFT JOIN user_role ON user_role.id =user_info.role_id
  33. LEFT JOIN sys_area area ON area.id =user_info.area_id
  34. LEFT JOIN sys_country coun ON coun.code =user_info.country
  35. <include refid="selectCondition">
  36. </include>
  37. order by user_info.add_time desc
  38. <if test="page != null">
  39. limit #{page.offset},#{page.row}
  40. </if>
  41. </select>
  42. <select id="searchByPageCount" parameterType="com.crm.rely.backend.core.entity.user.info.UserInfoSearchEntity"
  43. resultType="integer">
  44. SELECT count(user_info.id)
  45. FROM user_info
  46. <include refid="selectCondition">
  47. </include>
  48. </select>
  49. <sql id="selectCondition">
  50. where user_info.role_id!=-1
  51. <if test="name!=null and name!=''">
  52. and user_info.name like concat('%',#{name},'%')
  53. </if>
  54. <if test="username!=null and username!=''">
  55. and user_info.username like concat('%',#{username},'%')
  56. </if>
  57. <if test="email!=null and email!=''">
  58. and user_info.email like concat('%',#{email},'%')
  59. </if>
  60. <if test="ibNo!=null and ibNo!=''">
  61. and user_info.ib_no like concat('%',#{ibNo},'%')
  62. </if>
  63. <if test="roleId!=null">
  64. and user_info.role_id =#{roleId}
  65. </if>
  66. <if test="valid!=null">
  67. and user_info.valid =#{valid}
  68. </if>
  69. <if test="startDate != null">
  70. AND user_info.add_time>#{startDate}
  71. </if>
  72. <if test="verified != null">
  73. AND user_info.verified>#{verified}
  74. </if>
  75. <if test="secretKey != null">
  76. <if test="secretKey == 0">
  77. AND (user_info.secret_key is null or user_info.secret_key='')
  78. </if>
  79. <if test="secretKey == 1">
  80. AND user_info.secret_key is not null and user_info.secret_key!=''
  81. </if>
  82. </if>
  83. <if test="endDate != null">
  84. AND #{endDate}>user_info.add_time
  85. </if>
  86. <if test="country!=null and country!=''">
  87. and user_info.country = #{country}
  88. </if>
  89. <if test="merchantId != null">
  90. and user_info.merchant_id = #{merchantId}
  91. </if>
  92. </sql>
  93. <select id="getOne" resultType="com.crm.rely.backend.core.pojo.view.UserInfoView">
  94. SELECT user_info.*,
  95. user_group.`name` AS group_name,
  96. user_group.en_name AS group_en_name,
  97. agent_level.`name` AS agent_level_name,
  98. agent_level.en_name AS agent_level_en_name,
  99. user_role.`name` as role_name,
  100. user_role.department_id,
  101. area.area_name
  102. FROM user_info
  103. LEFT JOIN user_group ON user_group.id = user_info.group_id
  104. LEFT JOIN agent_level ON agent_level.id = user_info.agent_level
  105. LEFT JOIN user_role ON user_role.id = user_info.role_id
  106. LEFT JOIN sys_area area ON area.id = user_info.area_id
  107. where user_info.id = #{id}
  108. </select>
  109. <select id="findAllByRoleCode"
  110. resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  111. select sales.id, sales.`name`, sales.email, sales.ib_no
  112. from user_info sales
  113. left join user_role role on sales.role_id = role.id
  114. where role.`code` = #{roleCode}
  115. and sales.valid=1
  116. <if test="pId != null">
  117. and sales.pid = #{pId}
  118. </if>
  119. </select>
  120. <select id="getAllByLeader"
  121. resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  122. <!-- select sales.id, sales.`name`, sales.email, sales.ib_no-->
  123. <!-- from user_info sales-->
  124. <!-- left join user_role role on sales.role_id = role.id-->
  125. <!-- where role.`code` = 'ROLE_SALE'-->
  126. <!-- and sales.leader_id = sales.id-->
  127. <!-- and sales.valid = 1-->
  128. select sales.id, sales.`name`, sales.email, sales.ib_no
  129. from user_info sales
  130. left join user_role role on sales.role_id = role.id
  131. where role.`code` ='ROLE_SALE' and ifnull(sales.leader_id,0) != sales.id
  132. and sales.sales_type=2
  133. and sales.valid=1 ;
  134. </select>
  135. <select id="getSuperAdminInfo" resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  136. select *
  137. from user_info
  138. where role_id is null limit 0,1
  139. </select>
  140. <select id="findAllByStamp" parameterType="String" resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  141. select *
  142. from user_info
  143. where stamp like binary concat(#{stamp}
  144. , '%')
  145. and stamp != binary #{stamp}
  146. </select>
  147. <select id="findAllAndSelfByStamp" parameterType="String"
  148. resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  149. select *
  150. from user_info
  151. where stamp like binary concat(#{stamp}
  152. , '%')
  153. </select>
  154. <select id="findAllSalesAndSelfByStamp" parameterType="String"
  155. resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  156. select ui.*
  157. from user_info ui
  158. inner join user_role ur on ui.role_id = ur.id
  159. where ur.`code` = 'ROLE_SALE'
  160. and ui.stamp like binary concat(#{stamp}
  161. , '%')
  162. </select>
  163. <select id="getMaxStampByPid" parameterType="Long" resultType="String">
  164. select MAX(binary stamp)
  165. from user_info
  166. where pid = #{pid}
  167. </select>
  168. <update id="updateUserStampByBatch" parameterType="java.util.List">
  169. update user_info
  170. <trim prefix="set" suffixOverrides=",">
  171. <trim prefix="stamp = case " suffix="end,">
  172. <foreach collection="list" item="item" index="idx">
  173. when id=#{item.id} then #{item.stamp}
  174. </foreach>
  175. </trim>
  176. <trim prefix="p_stamp = case" suffix="end,">
  177. <foreach collection="list" item="item" index="idx">
  178. when id=#{item.id} then #{item.pStamp}
  179. </foreach>
  180. </trim>
  181. <trim prefix="id_stamp = case" suffix="end,">
  182. <foreach collection="list" item="item" index="idx">
  183. when id=#{item.id} then #{item.idStamp}
  184. </foreach>
  185. </trim>
  186. </trim>
  187. <where>
  188. and id in
  189. <foreach collection="list" index="idx" item="item" separator="," open="(" close=")">
  190. #{item.id}
  191. </foreach>
  192. </where>
  193. </update>
  194. <select id="findStampById" parameterType="Long" resultType="String">
  195. select stamp
  196. from user_info
  197. where id = #{id}
  198. </select>
  199. <update id="updateShareByStamp">
  200. update user_info sales
  201. set sales.sales_share = #{share}
  202. where stamp like binary concat(#{stamp}
  203. , '%')
  204. </update>
  205. <select id="findFirstByIbNo" parameterType="String" resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  206. select *
  207. from user_info
  208. where ib_no = #{ibNo} limit 0,1
  209. </select>
  210. <select id="existsByAreaId" parameterType="Long" resultType="Integer">
  211. select 1
  212. from user_info
  213. where area_id = #{areaId} limit 1
  214. </select>
  215. <update id="batchUpdateIdStamp" parameterType="java.util.List">
  216. update user_info
  217. <trim prefix="set" suffixOverrides=",">
  218. <trim prefix="id_stamp = case" suffix="end,">
  219. <foreach collection="list" item="item" index="idx">
  220. when id=#{item.id} then #{item.idStamp}
  221. </foreach>
  222. </trim>
  223. </trim>
  224. <where>
  225. and id in
  226. <foreach collection="list" index="idx" item="item" separator="," open="(" close=")">
  227. #{item.id}
  228. </foreach>
  229. </where>
  230. </update>
  231. <select id="findAllByIbNoIn" parameterType="java.util.List"
  232. resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  233. select id,ib_no
  234. from user_info
  235. where ib_no in
  236. <foreach collection="list" index="idx" item="item" separator="," open="(" close=")">
  237. #{item}
  238. </foreach>
  239. </select>
  240. <update id="updateUserBalanceById">
  241. update user_info
  242. set balance = #{balance}
  243. where id = #{id}
  244. </update>
  245. <select id="getDataById" parameterType="Long" resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  246. select *
  247. from user_info
  248. where id = #{id}
  249. </select>
  250. <select id="getDataByRoleId" parameterType="Long" resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  251. select id, pid, ib_no, `name`, ib_no_temp
  252. from user_info
  253. where role_id = #{roleId}
  254. order by pid asc
  255. </select>
  256. <select id="getDataByEmail" parameterType="String" resultType="com.crm.rely.backend.core.pojo.table.UserInfoTable">
  257. select id, pid, ib_no, `name`
  258. from user_info
  259. where email = #{email}
  260. </select>
  261. <select id="getEntryUserCount" parameterType="com.crm.rely.backend.core.entity.user.info.UserInfoSearchEntity"
  262. resultType="integer">
  263. SELECT count(a.id) FROM user_info a
  264. LEFT JOIN user_role b ON a.role_id = b.id
  265. where b.code = 'ROLE_SALE'
  266. <if test="name!=null and name!=''">
  267. and a.name like concat('%',#{name},'%')
  268. </if>
  269. <if test="email!=null and email!=''">
  270. and a.email like concat('%',#{email},'%')
  271. </if>
  272. <if test="ibNo!=null and ibNo!=''">
  273. and a.ib_no like concat('%',#{ibNo},'%')
  274. </if>
  275. </select>
  276. <select id="getEntryUserList" parameterType="com.crm.rely.backend.core.entity.user.info.UserInfoSearchEntity"
  277. resultType="com.crm.rely.backend.core.pojo.view.UserInfoView">
  278. SELECT a.id,a.email, a.ib_no, a.name ,a.username, a.ib_no_temp,a.valid,
  279. b.name role_name, c.`name` group_name,c.en_name group_en_name, d.area_name
  280. FROM user_info a
  281. LEFT JOIN user_role b ON a.role_id = b.id
  282. LEFT JOIN user_group c ON a.group_id= c.id
  283. LEFT JOIN sys_area d ON a.area_id= d.id
  284. where b.code = 'ROLE_SALE' and valid = 1
  285. <if test="name!=null and name!=''">
  286. and a.name like concat('%',#{name},'%')
  287. </if>
  288. <if test="email!=null and email!=''">
  289. and a.email like concat('%',#{email},'%')
  290. </if>
  291. <if test="ibNo!=null and ibNo!=''">
  292. and a.ib_no like concat('%',#{ibNo},'%')
  293. </if>
  294. order by a.id desc
  295. <if test="type!=null">
  296. limit #{page.offset},#{page.row}
  297. </if>
  298. </select>
  299. <select id="getUserList" parameterType="com.crm.rely.backend.core.entity.user.info.UserInfoListEntity"
  300. resultType="com.crm.rely.backend.core.pojo.view.UserInfoView">
  301. SELECT a.id,a.email, a.ib_no, a.name ,a.username, a.ib_no_temp,a.valid
  302. FROM user_info a
  303. <where>
  304. <if test="email!=null and email!=''">
  305. and a.email like concat(#{email},'%')
  306. </if>
  307. <if test="ibNo!=null and ibNo!=''">
  308. and a.ib_no like concat(,#{ibNo},'%')
  309. </if>
  310. </where>
  311. order by a.id desc
  312. </select>
  313. <select id="findAddIbByIbNoIn" parameterType="java.util.List" resultType="String">
  314. select ib_no
  315. from user_info
  316. where role_id = -1 and ib_no in
  317. <foreach collection="list" index="idx" item="item" separator="," open="(" close=")">
  318. #{item}
  319. </foreach>
  320. </select>
  321. </mapper>