MemberEnquiryReadMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  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.slodon.b2b2c.dao.read.member.MemberEnquiryReadMapper">
  4. <resultMap id="resultMap" type="com.slodon.b2b2c.member.pojo.MemberEnquiry">
  5. <id column="id" property="id"/>
  6. <result column="web_site" property="webSite"/>
  7. <result column="name" property="name"/>
  8. <result column="email" property="email"/>
  9. <result column="phone_code" property="phoneCode"/>
  10. <result column="phone" property="phone"/>
  11. <result column="quantity" property="quantity" />
  12. <result column="company" property="company"/>
  13. <result column="message" property="message"/>
  14. <result column="country" property="country"/>
  15. <result column="region" property="region"/>
  16. <result column="ip" property="ip"/>
  17. <result column="page_url" property="pageUrl"/>
  18. <result column="item_type" property="itemType"/>
  19. <result column="item_id" property="itemId"/>
  20. <result column="create_uid" property="createUid"/>
  21. <result column="create_time" property="createTime"/>
  22. <result column="status" property="status"/>
  23. <result column="last_uid" property="lastUid"/>
  24. <result column="last_username" property="lastUsername"/>
  25. <result column="last_time" property="lastTime"/>
  26. <result column="vendor_id" property="vendorId"/>
  27. <result column="vendor_name" property="vendorName"/>
  28. <result column="store_id" property="storeId"/>
  29. <result column="valid_status" property="validStatus"/>
  30. <result column="enquiry_day" property="enquiryDay"/>
  31. <result column="enquiry_num" property="enquiryNum"/>
  32. <result column="goods_name" property="goodsName"/>
  33. </resultMap>
  34. <!--按照主键值进行操作-->
  35. <sql id="pkWhere">
  36. WHERE `id` = #{primaryKey}
  37. </sql>
  38. <!--操作条件-->
  39. <sql id="whereCondition">
  40. <if test="example != null">
  41. <trim prefix="WHERE" prefixOverrides="AND|OR">
  42. <if test="example.createUid != null">
  43. AND `create_uid` = #{example.createUid}
  44. </if>
  45. <if test="example.statusNotEqual != null">
  46. AND `status` != #{example.statusNotEqual}
  47. </if>
  48. <if test="example.webSite != null">
  49. AND `web_site` = #{example.webSite}
  50. </if>
  51. <if test="example.storeId != null">
  52. AND `store_id` = #{example.storeId}
  53. </if>
  54. <if test="example.statusEqual != null">
  55. AND `status` = #{example.statusEqual}
  56. </if>
  57. <if test="example.validStatus != null">
  58. AND `valid_status` = #{example.validStatus}
  59. </if>
  60. <if test="example.createTimeLte != null">
  61. AND `create_time` <![CDATA[ <= ]]> #{example.createTimeLte}
  62. </if>
  63. <if test="example.createTimeGte != null">
  64. AND `create_time` >= #{example.createTimeGte}
  65. </if>
  66. <if test="example.keyword != null">
  67. AND (
  68. `name` like concat('%',#{example.keyword},'%')
  69. or `email` like concat('%',#{example.keyword},'%')
  70. or `company` like concat('%',#{example.keyword},'%')
  71. or `message` like concat('%',#{example.keyword},'%')
  72. )
  73. </if>
  74. <if test="example.nameLike != null">
  75. AND `name` like concat('%',#{example.nameLike},'%')
  76. </if>
  77. <if test="example.emailLike != null">
  78. AND `email` like concat('%',#{example.emailLike},'%')
  79. </if>
  80. <if test="example.itemType != null">
  81. AND `item_type` = #{example.itemType}
  82. </if>
  83. <if test="example.itemTypeIn != null">
  84. AND `item_type` in ${example.itemTypeIn}
  85. </if>
  86. </trim>
  87. </if>
  88. </sql>
  89. <!--排序条件-->
  90. <sql id="orderBy">
  91. ORDER BY `id` DESC
  92. </sql>
  93. <sql id="orderByOther">
  94. order by ${example.orderBy}
  95. </sql>
  96. <!--分组条件-->
  97. <sql id="groupBy">
  98. group by ${example.groupBy}
  99. </sql>
  100. <!--分页条件-->
  101. <sql id="limit">
  102. <if test="size != null and size &gt; 0">
  103. limit #{startRow},#{size}
  104. </if>
  105. </sql>
  106. <!--查询符合条件的记录数-->
  107. <select id="countByExample" parameterType="com.slodon.b2b2c.member.example.MemberExample"
  108. resultType="java.lang.Integer">
  109. SELECT
  110. COUNT(*)
  111. FROM `enquiry`
  112. <include refid="whereCondition"/>
  113. </select>
  114. <!--根据主键查询记录-->
  115. <select id="getByPrimaryKey" resultMap="resultMap">
  116. SELECT
  117. *
  118. FROM `enquiry`
  119. <include refid="pkWhere"/>
  120. </select>
  121. <!--查询符合条件的记录(所有字段)-->
  122. <select id="listByExample" resultMap="resultMap">
  123. SELECT
  124. *
  125. FROM `enquiry`
  126. <include refid="whereCondition"/>
  127. <if test="example.groupBy != null">
  128. <include refid="groupBy"/>
  129. </if>
  130. <choose>
  131. <when test="example.orderBy != null">
  132. <include refid="orderByOther"/>
  133. </when>
  134. <otherwise>
  135. <include refid="orderBy"/>
  136. </otherwise>
  137. </choose>
  138. </select>
  139. <!--分页查询符合条件的记录(所有字段)-->
  140. <select id="listPageByExample" resultMap="resultMap">
  141. SELECT
  142. *
  143. FROM `enquiry`
  144. <include refid="whereCondition"/>
  145. <if test="example.groupBy != null">
  146. <include refid="groupBy"/>
  147. </if>
  148. <choose>
  149. <when test="example.orderBy != null">
  150. <include refid="orderByOther"/>
  151. </when>
  152. <otherwise>
  153. <include refid="orderBy"/>
  154. </otherwise>
  155. </choose>
  156. <include refid="limit"/>
  157. </select>
  158. <!--查询符合条件的记录(指定字段)-->
  159. <select id="listFieldsByExample" resultMap="resultMap">
  160. SELECT
  161. ${fields}
  162. FROM `enquiry`
  163. <include refid="whereCondition"/>
  164. <if test="example.groupBy != null">
  165. <include refid="groupBy"/>
  166. </if>
  167. <choose>
  168. <when test="example.orderBy != null">
  169. <include refid="orderByOther"/>
  170. </when>
  171. <otherwise>
  172. <include refid="orderBy"/>
  173. </otherwise>
  174. </choose>
  175. </select>
  176. <!--分页查询符合条件的记录(指定字段)-->
  177. <select id="listFieldsPageByExample" resultMap="resultMap">
  178. SELECT
  179. ${fields}
  180. FROM `enquiry`
  181. <include refid="whereCondition"/>
  182. <if test="example.groupBy != null">
  183. <include refid="groupBy"/>
  184. </if>
  185. <choose>
  186. <when test="example.orderBy != null">
  187. <include refid="orderByOther"/>
  188. </when>
  189. <otherwise>
  190. <include refid="orderBy"/>
  191. </otherwise>
  192. </choose>
  193. <include refid="limit"/>
  194. </select>
  195. <!--分页查询符合条件的记录(指定字段)-->
  196. <select id="enquiryListPageCount" resultType="java.lang.Integer">
  197. select COUNT(*) from enquiry t1 LEFT JOIN enquiry_assign t2 on t1.id = t2.enquiry_id LEFT JOIN vendor t3 ON t2.vendor_id = t3.vendor_id LEFT JOIN goods t4 on t1.item_id = t4.default_product_id and t1.`item_type` = 'GOODS' where t1.`status` != 'DELETE' AND (t1.`item_type` = 'SHOP' or t1.`item_type` = 'GOODS')
  198. <if test="storeId != null">
  199. AND t1.`store_id` = #{storeId}
  200. </if>
  201. <if test="nameLike != null">
  202. AND t1.`name` like concat('%',#{nameLike},'%')
  203. </if>
  204. <if test="emailLike != null">
  205. AND t1.`email` like concat('%',#{emailLike},'%')
  206. </if>
  207. <if test="isStoreAdmin == 0">
  208. AND t2.`vendor_id` = #{vendorId}
  209. </if>
  210. <if test="validStatus != null">
  211. AND t1.`valid_status` = #{validStatus}
  212. </if>
  213. <if test="webSite != null">
  214. AND t1.`web_site` = #{webSite}
  215. </if>
  216. order by t1.id desc
  217. </select>
  218. <!--分页查询符合条件的记录(指定字段)-->
  219. <select id="enquiryListPage" resultMap="resultMap">
  220. select t1.*,t2.vendor_id,t3.vendor_name,t4.goods_name from enquiry t1 LEFT JOIN enquiry_assign t2 on t1.id = t2.enquiry_id LEFT JOIN vendor t3 ON t2.vendor_id = t3.vendor_id LEFT JOIN goods t4 on t1.item_id = t4.default_product_id and t1.`item_type` = 'GOODS' where t1.`status` != 'DELETE' AND (t1.`item_type` = 'SHOP' or t1.`item_type` = 'GOODS')
  221. <if test="storeId != null">
  222. AND t1.`store_id` = #{storeId}
  223. </if>
  224. <if test="nameLike != null">
  225. AND t1.`name` like concat('%',#{nameLike},'%')
  226. </if>
  227. <if test="emailLike != null">
  228. AND t1.`email` like concat('%',#{emailLike},'%')
  229. </if>
  230. <if test="isStoreAdmin == 0">
  231. AND t2.`vendor_id` = #{vendorId}
  232. </if>
  233. <if test="validStatus != null">
  234. AND t1.`valid_status` = #{validStatus}
  235. </if>
  236. <if test="webSite != null">
  237. AND t1.`web_site` = #{webSite}
  238. </if>
  239. order by t1.id desc
  240. <include refid="limit"/>
  241. </select>
  242. <!--分页查询符合条件的记录(指定字段)-->
  243. <select id="enquiryAdminListPageCount" resultType="java.lang.Integer">
  244. select COUNT(*) from enquiry t1 LEFT JOIN enquiry_assign t2 on t1.id = t2.enquiry_id LEFT JOIN vendor t3 ON t2.vendor_id = t3.vendor_id where t1.`status` != 'DELETE'
  245. <if test="nameLike != null">
  246. AND t1.`name` like concat('%',#{nameLike},'%')
  247. </if>
  248. <if test="emailLike != null">
  249. AND t1.`email` like concat('%',#{emailLike},'%')
  250. </if>
  251. <!-- <if test="isSupAdmin == 0">-->
  252. <!-- AND t2.`vendor_id` = #{sysAdminId}-->
  253. <!-- </if>-->
  254. <if test="validStatus != null">
  255. AND t1.`valid_status` = #{validStatus}
  256. </if>
  257. <if test="storeId != null">
  258. AND t1.`store_id` = #{storeId}
  259. </if>
  260. order by t1.id desc
  261. </select>
  262. <!--分页查询符合条件的记录(指定字段)-->
  263. <select id="enquiryAdminListPage" resultMap="resultMap">
  264. select t1.*,t2.vendor_id,t3.admin_name as vendor_name,(select store_name from store s where s.store_id = t1.store_id) storeName
  265. from enquiry t1 LEFT JOIN enquiry_assign t2 on t1.id = t2.enquiry_id LEFT JOIN sys_admin t3 ON t2.vendor_id = t3.admin_id where t1.`status` != 'DELETE'
  266. <if test="nameLike != null">
  267. AND t1.`name` like concat('%',#{nameLike},'%')
  268. </if>
  269. <if test="emailLike != null">
  270. AND t1.`email` like concat('%',#{emailLike},'%')
  271. </if>
  272. <!-- <if test="isSupAdmin == 0">-->
  273. <!-- AND t2.`vendor_id` = #{sysAdminId}-->
  274. <!-- </if>-->
  275. <if test="validStatus != null">
  276. AND t1.`valid_status` = #{validStatus}
  277. </if>
  278. <if test="storeId != null">
  279. AND t1.`store_id` = #{storeId}
  280. </if>
  281. order by t1.id desc
  282. <include refid="limit"/>
  283. </select>
  284. <!--分页查询符合条件的记录(指定字段)-->
  285. <select id="getSellerEnquiryTrendByTime" resultMap="resultMap">
  286. SELECT
  287. DATE_FORMAT( t1.create_time, '%Y-%m-%d' ) enquiry_day,
  288. count( 1 ) enquiry_num
  289. FROM
  290. enquiry t1
  291. WHERE
  292. t1.`status` != 'DELETE' AND ( t1.`item_type` = 'SHOP' OR t1.`item_type` = 'GOODS' )
  293. and t1.create_time >= #{startTime} and #{endTime} > t1.create_time
  294. AND t1.`store_id` = #{storeId}
  295. GROUP BY
  296. date_format( t1.create_time, '%Y-%m-%d' )
  297. ORDER BY enquiry_day
  298. </select>
  299. <!--分页查询符合条件的记录(指定字段)-->
  300. <select id="getSellerEnquiryTrendByHour" resultMap="resultMap">
  301. SELECT
  302. DATE_FORMAT( t1.create_time, '%H:00' ) enquiry_day,
  303. count( 1 ) enquiry_num
  304. FROM
  305. enquiry t1
  306. WHERE
  307. t1.`status` != 'DELETE' AND ( t1.`item_type` = 'SHOP' OR t1.`item_type` = 'GOODS' )
  308. and t1.create_time >= #{startTime} and #{endTime} > t1.create_time
  309. AND t1.`store_id` = #{storeId}
  310. GROUP BY
  311. date_format( t1.create_time, '%H:00' )
  312. ORDER BY
  313. enquiry_day
  314. </select>
  315. <!--分页查询符合条件的记录(指定字段)-->
  316. <select id="getAdminEnquiryTrendByTime" resultMap="resultMap">
  317. SELECT
  318. DATE_FORMAT( t1.create_time, '%Y-%m-%d' ) enquiry_day,
  319. count( 1 ) enquiry_num
  320. FROM
  321. enquiry t1
  322. WHERE
  323. t1.`status` != 'DELETE' AND ( t1.`item_type` = 'MALL')
  324. and t1.create_time >= #{startTime} and #{endTime} > t1.create_time
  325. GROUP BY
  326. date_format( t1.create_time, '%Y-%m-%d' )
  327. ORDER BY enquiry_day
  328. </select>
  329. <!--分页查询符合条件的记录(指定字段)-->
  330. <select id="getAdminEnquiryTrendByHour" resultMap="resultMap">
  331. SELECT
  332. DATE_FORMAT( t1.create_time, '%H:00' ) enquiry_day,
  333. count( 1 ) enquiry_num
  334. FROM
  335. enquiry t1
  336. WHERE
  337. t1.`status` != 'DELETE' AND ( t1.`item_type` = 'MALL')
  338. and t1.create_time >= #{startTime} and #{endTime} > t1.create_time
  339. GROUP BY
  340. date_format( t1.create_time, '%H:00' )
  341. ORDER BY
  342. enquiry_day
  343. </select>
  344. </mapper>