CmPortraitMapper.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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.caimei.modules.user.dao.CmPortraitDao">
  4. <select id="selTotal" resultType="com.caimei.modules.user.entity.CmPortrait">
  5. SELECT
  6. (SELECT COUNT(shopOrderId) FROM cm_shop_order WHERE clubID = #{clubID} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotal,
  7. (SELECT IFNULL(SUM(totalAmount), 0) FROM cm_shop_order WHERE clubID = #{clubID} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotalAmount,
  8. (SELECT COUNT(cbr.recordID) FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID WHERE cbr.pageType IN (8, 9) AND c.clubID = #{clubID} AND cbr.accessDate <![CDATA[ < ]]> now()) AS totalkeywords ,
  9. (SELECT COUNT(remarks) FROM cm_club_remarks WHERE clubID = #{clubID} AND addTime <![CDATA[ < ]]> now()) AS remarksTotal,
  10. (SELECT COUNT(cbr.recordID) FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID WHERE c.clubID = #{clubID} AND cbr.accessDate <![CDATA[ < ]]> NOW()) AS visitTotal
  11. </select>
  12. <select id="getClubRemarks" resultType="java.lang.String">
  13. select remarks from cm_club_remarks
  14. where clubId = #{clubId}
  15. <if test="startTime != null and startTime != ''">
  16. and addTime > #{startTime}
  17. </if>
  18. <if test="endTime != null and endTime != ''">
  19. and addTime <![CDATA[ < ]]> #{endTime}
  20. </if>
  21. GROUP BY remarks ORDER BY COUNT(remarks) DESC
  22. </select>
  23. <select id="getClubBehavior" resultType="java.lang.String">
  24. SELECT cbr.pageLabel FROM cm_behavior_record cbr LEFT JOIN club c ON c.userID = cbr.userId
  25. WHERE pageType IN (6, 8, 9, 11, 14) AND c.clubId = #{clubId}
  26. <if test="startTime != null and startTime != ''">
  27. and cbr.accessTime > #{startTime}
  28. </if>
  29. <if test="endTime != null and endTime != ''">
  30. and cbr.accessTime <![CDATA[ < ]]> #{endTime}
  31. </if>
  32. GROUP BY cbr.pageLabel ORDER BY COUNT(cbr.pageLabel) DESC
  33. </select>
  34. <select id="selClubData" resultType="com.caimei.modules.user.entity.ClubStatistics">
  35. select
  36. c.clubID,
  37. c.name,
  38. c.linkMan,
  39. c.contractMobile,
  40. c.linkManIdentity,
  41. c.address,
  42. c.businessLicenseImage,
  43. u.userIdentity,
  44. c.sname,
  45. c.contractEmail,
  46. c.contractPhone,
  47. c.fax,
  48. c.headpic,
  49. c.socialCreditCode,
  50. c.info,
  51. (CASE WHEN c.linkManIdentity=1 THEN '老板'
  52. WHEN c.linkManIdentity=2 THEN '采购'
  53. WHEN c.linkManIdentity=3 THEN '运营'
  54. WHEN c.linkManIdentity=4 THEN '其他'
  55. END) AS linkManStatus,
  56. c.provinceID,
  57. c.cityID,
  58. d.name AS province,
  59. ct.name AS city,
  60. b.name AS town,
  61. (CASE WHEN c.firstClubType=1 THEN '医美'
  62. WHEN c.firstClubType=2 THEN '生美'
  63. WHEN c.firstClubType=3 THEN '项目公司'
  64. WHEN c.firstClubType=4 THEN '个人'
  65. ELSE '其他' END) AS firstClubType,
  66. (CASE WHEN c.secondClubType=1 THEN '诊所'
  67. WHEN c.secondClubType=2 THEN '门诊'
  68. WHEN c.secondClubType=3 THEN '医院'
  69. WHEN c.secondClubType=5 THEN '美容院'
  70. WHEN c.secondClubType=6 THEN '养生馆'
  71. WHEN c.secondClubType=7 THEN '其他'
  72. END) AS classify,
  73. u.registerTime as registerTime,
  74. covs.activeState as activeState,
  75. covs.customerValue as customerValues,
  76. c.addTime AS addTime
  77. FROM club c
  78. LEFT JOIN USER u ON u.userID = c.userID
  79. LEFT JOIN town b ON b.townID=c.townID
  80. LEFT JOIN city ct ON ct.cityID=c.cityID
  81. LEFT JOIN province d ON d.provinceID=c.provinceID
  82. LEFT JOIN (SELECT userID, activeState, customerValue FROM cm_organ_value_system WHERE stage = 0 AND delType = 1) AS covs ON covs.userID = c.userID
  83. where c.clubID = #{clubID}
  84. </select>
  85. <select id="getClubRemarksInfo" resultType="com.caimei.modules.user.entity.CmClubRemarks">
  86. SELECT id, communicationSituation, communicationMethods, customerSource, customerGender, customerAge, groupAddition,addTime
  87. FROM cm_club_remarks WHERE clubId = #{clubID} ORDER BY ADDTIME DESC LIMIT 1
  88. </select>
  89. <select id="selOrderList" resultType="com.caimei.modules.order.entity.NewOrder">
  90. SELECT
  91. DISTINCT cso.shopOrderId as shopOrderID,
  92. (SELECT COUNT(shopOrderId) FROM cm_shop_order WHERE clubID = #{clubID} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotal,
  93. (SELECT IFNULL(SUM(totalAmount), 0) FROM cm_shop_order WHERE clubID = #{clubID} AND shopStatus != 4 AND shopStatus != 5 AND refundStatus != 2 AND orderTime <![CDATA[ < ]]> NOW()) AS orderTotalAmount,
  94. cso.clubID,
  95. co.secondHandOrderFlag,
  96. co.rebateFlag,
  97. cso.totalAmount AS payTotalFee,
  98. ifnull(cso.refundStatus,1) as refundType,
  99. cso.shopStatus AS STATUS,
  100. cso.orderTime
  101. FROM cm_shop_order cso
  102. LEFT JOIN cm_order co ON cso.orderId = co.orderId
  103. LEFT JOIN cm_order_product cop ON cso.shopOrderId = cop.shopOrderId
  104. <where>
  105. cso.clubID = #{clubID} AND cso.shopStatus != 4 AND cso.shopStatus != 5 AND cso.refundStatus != 2 AND cop.productId != 999
  106. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  107. AND cso.orderTime <![CDATA[ >= ]]> #{startTime} AND cso.orderTime <![CDATA[ <= ]]> #{endTime}
  108. </if>
  109. </where>
  110. </select>
  111. <select id="selBehaviorList" resultType="com.caimei.modules.user.entity.CmBehaviorRecord">
  112. SELECT
  113. c.clubID,
  114. COUNT(cbr.pageLabel) as number,
  115. cbr.pageLabel,
  116. cbr.accessDate
  117. FROM cm_behavior_record cbr LEFT JOIN club c ON cbr.userID = c.userID
  118. <where>
  119. cbr.pageType IN (8, 9) AND c.clubID = #{clubID} AND cbr.pageLabel IS NOT NULL AND cbr.pageLabel != ''
  120. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  121. AND cbr.accessDate <![CDATA[ >= ]]> #{startTime} AND cbr.accessDate <![CDATA[ <= ]]> #{endTime}
  122. </if>
  123. </where>
  124. GROUP BY cbr.pageLabel
  125. ORDER BY COUNT(cbr.pageLabel) LIMIT 10
  126. </select>
  127. <select id="selRemarksList" resultType="com.caimei.modules.user.entity.CmClubRemarks">
  128. SELECT
  129. (SELECT COUNT(remarks) FROM cm_club_remarks WHERE clubID = #{clubID}) as numbers,
  130. clubID,
  131. COUNT(remarks) as number,
  132. remarks,
  133. addTime
  134. FROM cm_club_remarks
  135. <where>
  136. clubID = #{clubID}
  137. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  138. AND addTime <![CDATA[ >= ]]> #{startTime} AND addTime <![CDATA[ <= ]]> #{endTime}
  139. </if>
  140. </where>
  141. GROUP BY remarks ORDER BY COUNT(remarks) LIMIT 10
  142. </select>
  143. <select id="selBehaviorPageTypeList" resultType="com.caimei.modules.user.entity.CmBehaviorRecord">
  144. SELECT
  145. c.clubID,
  146. COUNT(cbr.pageType) as numbers,
  147. cbr.pageLabel,
  148. cbr.accessDate
  149. FROM cm_behavior_record cbr
  150. LEFT JOIN club c ON cbr.userID = c.userID
  151. <where>
  152. c.clubID = #{clubID}
  153. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  154. AND cbr.accessDate <![CDATA[ >= ]]> #{startTime} AND cbr.accessDate <![CDATA[ <= ]]> #{endTime}
  155. </if>
  156. </where>
  157. GROUP BY cbr.pageType ORDER BY COUNT(cbr.pageType) LIMIT 10
  158. </select>
  159. </mapper>