MessageCenter.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  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.caimei365.tools.mapper.MessageCenterMapper">
  4. <insert id="addMessageCenter">
  5. INSERT INTO message_center (shopID, clubID, userType, messageType, content, time, accountType, couponType, orderID, orderMessageType,
  6. couponFee, couponMessageType, ShopMessType, ShopTieredType, reasonContent)
  7. VALUES (#{shopId}, #{clubId}, #{userType}, #{messageType}, #{content}, now(), #{accountType}, #{couponType},#{orderId},#{orderMessageType},
  8. #{couponFee}, #{couponMessageType}, #{shopMessType}, #{shopTieredType}, #{reasonContent})
  9. </insert>
  10. <insert id="sendInsideMessage">
  11. INSERT INTO message_center (shopID, clubID, orderID, userType, messageType, accountType, orderMessageType,
  12. couponMessageType, couponFee, content, time, saved, shopMessType,
  13. shopTieredType, couponType, productID,reasonContent,mobile,name,userName,superUserName,thisId,sum)
  14. VALUES (#{shopId}, #{clubId}, #{orderId}, #{userType}, #{messageType}, #{accountType}, #{orderMessageType},
  15. #{couponMessageType}, #{couponFee}, #{content}, now(), 0, #{shopMessType},
  16. #{shopTieredType}, #{couponType}, #{productId}, #{reasonContent},#{mobile},#{name},#{userName},#{superUserName},#{thisId},#{sum})
  17. </insert>
  18. <insert id="addNotification">
  19. INSERT INTO notification(theme, newTime, shopContent, porductID, shopID)
  20. VALUES (#{theme}, NOW(), #{shopContent}, #{productId}, #{shopId})
  21. </insert>
  22. <select id="clubIdCule" resultType="java.lang.Integer">
  23. SELECT clubID
  24. FROM `user`
  25. WHERE userId = #{userId}
  26. </select>
  27. <select id="shopID" resultType="java.lang.Integer">
  28. SELECT shopID
  29. FROM `shop`
  30. WHERE userId = #{userId}
  31. </select>
  32. <select id="MessageCount" resultType="java.lang.Integer">
  33. SELECT COUNT(1) FROM `message_center`
  34. <where>
  35. <if test="userType == 1">
  36. and clubID=#{commonId}
  37. </if>
  38. <if test="userType == 2">
  39. and shopID=#{commonId}
  40. </if>
  41. AND messageType=#{messageType}
  42. and userType=#{userType}
  43. AND saved=0
  44. </where>
  45. </select>
  46. <select id="Count" resultType="java.lang.Integer">
  47. SELECT COUNT(1) FROM `message_center`
  48. <where>
  49. <if test="userType == 1">
  50. and clubID=#{commonId}
  51. </if>
  52. <if test="userType == 2">
  53. and shopID=#{commonId}
  54. </if>
  55. and userType=#{userType}
  56. AND saved=0
  57. </where>
  58. </select>
  59. <select id="receStatct" resultType="java.lang.Integer">
  60. SELECT COUNT(*)
  61. FROM `cm_discern_receipt`
  62. WHERE newReceiptType = 1
  63. AND shopID = #{shopID}
  64. AND receStatct = 2
  65. </select>
  66. <select id="listingFee" resultType="java.lang.Integer">
  67. SELECT COUNT(*)
  68. FROM `cm_discern_receipt`
  69. WHERE newReceiptType = 1
  70. AND shopID = #{shopID}
  71. </select>
  72. <select id="listingfeeExpire" resultType="java.lang.Integer">
  73. SELECT COUNT(*)
  74. FROM `cm_discern_receipt`
  75. WHERE newReceiptType = 1
  76. AND shopID = #{shopID}
  77. AND NOW() > DATE_ADD(receiptDate, INTERVAL 1 YEAR)
  78. </select>
  79. <select id="contractMobile" resultType="java.lang.String">
  80. SELECT contractMobile
  81. FROM club
  82. WHERE clubID = #{clubID}
  83. </select>
  84. <select id="contractMobiles" resultType="java.lang.String">
  85. SELECT contractMobile
  86. FROM shop
  87. WHERE shopID = #{shopID}
  88. </select>
  89. <select id="getOpenidListByPermission" resultType="java.lang.String">
  90. SELECT openid
  91. FROM wechat_user
  92. WHERE unionId = (
  93. SELECT unionID
  94. FROM cm_order co
  95. LEFT JOIN shop s ON co.userId = s.userId
  96. WHERE s.shopId = #{shopId}
  97. AND unionID IS NOT NULL
  98. ORDER BY orderID DESC
  99. LIMIT 1)
  100. </select>
  101. <select id="FromUnionId" resultType="java.lang.String">
  102. SELECT unionID
  103. FROM `cm_order`
  104. WHERE userID = #{userID}
  105. AND unionID IS NOT NULL
  106. ORDER BY orderID DESC
  107. LIMIT 1
  108. </select>
  109. <select id="getVipHistoryCount" resultType="java.lang.Integer">
  110. SELECT count(1)
  111. FROM cm_svip_history
  112. WHERE userId = #{userId}
  113. </select>
  114. <select id="MainImage" resultType="com.caimei365.tools.model.po.MessageCenterPo">
  115. SELECT co.refundType,COUNT(p.productID)AS productCount ,p.mainImage,co.onlinePayFlag,ifnull(p.name,'') as
  116. productName,co.orderID as orderID,co.status as status
  117. FROM cm_order co
  118. LEFT JOIN bp_order_userinfo bou ON bou.orderId = co.orderID
  119. LEFT JOIN USER u ON u.userID = co.userID
  120. LEFT JOIN club c ON u.userID = c.userID
  121. LEFT JOIN serviceprovider sp ON c.spID = sp.serviceProviderID AND sp.status = 90
  122. LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
  123. LEFT JOIN product p ON cop.productID = p.productID
  124. LEFT JOIN cm_shop_order cso ON co.orderid=cso.orderID
  125. <where>
  126. <if test="userType == 1">
  127. and c.clubID=#{commonId}
  128. </if>
  129. <if test="userType == 2">
  130. and p.shopID=#{commonId}
  131. </if>
  132. and co.orderID=#{orderID}
  133. </where>
  134. LIMIT 1
  135. </select>
  136. <select id="productImage" resultType="com.caimei365.tools.model.po.MessageCenterPo">
  137. SELECT s.name as shopName,p.`shopID`,p.`productID`,p.`name` as productName,p.mainImage
  138. FROM product p
  139. LEFT JOIN cm_order_product cop ON p.productID = cop.productID
  140. LEFT JOIN shop s ON s.shopID = p.shopID
  141. <where>
  142. <if test="productID != null">
  143. and p.productID=#{productID}
  144. </if>
  145. and p.shopID=#{shopID}
  146. </where>
  147. LIMIT 1
  148. </select>
  149. <select id="productCount" resultType="java.lang.Integer">
  150. SELECT COUNT(productID)
  151. FROM cm_order_product
  152. WHERE orderID = #{orderID}
  153. </select>
  154. <select id="receiptDate" resultType="java.lang.String">
  155. SELECT c.dateStrings
  156. FROM cm_receipt c
  157. LEFT JOIN cm_discern_receipt a ON c.receiptID = a.id
  158. LEFT JOIN shop s ON s.shopID = a.shopID
  159. WHERE a.shopID = 10324
  160. AND a.newReceiptType = 1
  161. ORDER BY a.id DESC
  162. LIMIT 1
  163. </select>
  164. <select id="receiptAmount" resultType="java.lang.Double">
  165. SELECT a.receiptAmount
  166. FROM cm_discern_receipt a
  167. LEFT JOIN shop s ON s.shopID = a.shopID
  168. where a.shopID = #{shopID}
  169. AND a.newReceiptType = 1
  170. LIMIT 1
  171. </select>
  172. <select id="newReceiptType" resultType="java.lang.Integer">
  173. SELECT a.newReceiptType
  174. FROM cm_discern_receipt a
  175. LEFT JOIN shop s ON s.shopID = a.shopID
  176. where a.shopID = #{shopID}
  177. LIMIT 1
  178. </select>
  179. <update id="updateMessageAsRead">
  180. UPDATE message_center SET saved = 1
  181. <where>
  182. <if test="userType == 1">
  183. and clubID=#{commonId}
  184. </if>
  185. <if test="userType == 2">
  186. and shopID=#{commonId}
  187. </if>
  188. <if test="messageType !=null">
  189. and messageType = #{messageType}
  190. </if>
  191. and userType=#{userType}
  192. </where>
  193. </update>
  194. <select id="userId" resultType="java.lang.Integer">
  195. SELECT userID
  196. FROM `cm_mall_operation_user`
  197. WHERE openid = #{openid}
  198. LIMIT 1
  199. </select>
  200. <delete id="deleteMessage">
  201. DELETE
  202. FROM message_center
  203. WHERE id = #{id}
  204. </delete>
  205. <update id="updateRead">
  206. UPDATE message_center
  207. SET saved = 1
  208. where userType = #{userType}
  209. and id = #{Id}
  210. </update>
  211. <select id="receiptShopID" resultType="java.lang.Integer">
  212. SELECT DISTINCT shopID
  213. FROM cm_discern_receipt
  214. WHERE newReceiptType = 1
  215. </select>
  216. <select id="userIds" resultType="java.lang.Integer">
  217. SELECT DISTINCT a.userID
  218. FROM shop a
  219. WHERE a.shopOD = #{shopID}
  220. </select>
  221. <select id="ClubIds" resultType="java.lang.Integer">
  222. SELECT clubID
  223. FROM `user`
  224. WHERE YEAR(loginTime) > YEAR(NOW()) - 3
  225. AND clubID IS NOT NULL
  226. # ORDER BY clubID DESC
  227. </select>
  228. <select id="couponTime" resultType="com.caimei365.tools.model.po.CmCouponPo">
  229. SELECT *
  230. FROM `cm_coupon`
  231. WHERE NOW() >= startDate
  232. AND endDate >= NOW()
  233. AND STATUS = 1
  234. AND delFlag = 0
  235. </select>
  236. <select id="clubList" resultType="com.caimei365.tools.model.po.CmUserPo">
  237. SELECT *
  238. FROM `user`
  239. WHERE clubId = #{clubId}
  240. LIMIT 1
  241. </select>
  242. <select id="clubLists" resultType="com.caimei365.tools.model.po.CmUserPo">
  243. SELECT *
  244. FROM `user`
  245. WHERE userId = #{userId}
  246. LIMIT 1
  247. </select>
  248. <select id="CouponList" resultType="com.caimei365.tools.model.po.CmCouponPo">
  249. SELECT *
  250. FROM cm_coupon
  251. WHERE couponType = #{couponType}
  252. AND NOW() >= startDate
  253. AND endDate >= NOW()
  254. AND status = 1
  255. AND delFlag = 0
  256. ORDER BY id DESC
  257. LIMIT 1
  258. </select>
  259. <select id="CouponUserId" resultType="java.lang.Integer">
  260. SELECT DISTINCT `userId`
  261. FROM `cm_coupon_club`
  262. WHERE useDate IS NULL
  263. </select>
  264. <select id="CouponLists" resultType="com.caimei365.tools.model.po.CmCouponPo">
  265. SELECT *
  266. FROM cm_coupon a
  267. LEFT JOIN cm_coupon_club s ON s.couponId = a.id
  268. WHERE s.userId = #{userID}
  269. AND NOW() >= a.startDate
  270. AND a.endDate >= NOW()
  271. AND a.status = 1
  272. AND a.delFlag = 0
  273. </select>
  274. <select id="findExpireShopId" resultType="com.caimei365.tools.model.po.ShopReceiptVo">
  275. SELECT cr.dateStrings, cdr.shopId, cdr.receiptAmount, cr.validityDate, p.name as shopName
  276. FROM cm_receipt cr
  277. LEFT JOIN cm_discern_receipt cdr ON cr.receiptId = cdr.id
  278. LEFT JOIN shop p on cdr.shopId = p.shopId
  279. WHERE DATE_FORMAT(cr.dateStrings, '%y-%m-%d') = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL #{day} DAY), '%y-%m-%d')
  280. </select>
  281. <select id="findOutTimeCoupons" resultType="com.caimei365.tools.model.po.CmCouponPo">
  282. SELECT ccc.couponId, ccc.userId, c.clubId, cc.couponAmount, u.bindMobile, cc.couponType
  283. FROM cm_coupon_club ccc
  284. LEFT JOIN cm_coupon cc ON ccc.couponId = cc.id
  285. LEFT JOIN club c ON ccc.userId = c.userId
  286. LEFT JOIN USER u ON ccc.userId = u.userId
  287. WHERE DATE_FORMAT(DATE_ADD(NOW(), INTERVAL #{day} DAY),'%y-%m-%d') =
  288. DATE_FORMAT(IF(cc.useTimeFlag = 1, cc.endDate, DATE_ADD(ccc.createDate, INTERVAL cc.usePeriod DAY)),'%y-%m-%d')
  289. </select>
  290. <select id="findOutTimeQualification" resultType="com.caimei365.tools.model.po.QualificationPo">
  291. SELECT p.productId, p.name AS productName, p.shopId, p.qualificationNo, u.userId, s.name AS shopName
  292. FROM product p
  293. LEFT JOIN shop s ON p.shopId = s.shopId
  294. LEFT JOIN USER u ON s.userId = u.userId
  295. WHERE p.productType = 2
  296. AND p.qualificationTime IS NOT NULL
  297. AND DATE_FORMAT(p.qualificationTime, '%y-%m-%d') =
  298. DATE_FORMAT(DATE_ADD(NOW(), INTERVAL #{day} DAY), '%y-%m-%d')
  299. </select>
  300. </mapper>