No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 

709 líneas
27 KiB

  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.iformall.mapper.WxCouponOrderMapper">
  4. <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxCouponOrder">
  5. <id column="id" jdbcType="BIGINT" property="id" />
  6. <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
  7. <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
  8. <result column="coupon_type" jdbcType="INTEGER" property="couponType" />
  9. <result column="c_user_id" jdbcType="BIGINT" property="cUserId" />
  10. <result column="owner_id" jdbcType="BIGINT" property="ownerId" />
  11. <result column="b_user_id" jdbcType="BIGINT" property="bUserId" />
  12. <result column="order_id" jdbcType="BIGINT" property="orderId" />
  13. <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" />
  14. <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" />
  15. <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  16. <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  17. <result column="coupon_price" jdbcType="INTEGER" property="couponPrice" />
  18. </resultMap>
  19. <sql id="allColumns">
  20. `id`,`tenant_id`,`coupon_id`,`coupon_type`,`c_user_id`,`owner_id`,`b_user_id`,`order_id`,`expired_time`,`coupon_order_status`,`create_date`,`update_date`,`coupon_price`
  21. </sql>
  22. <sql id="dynamicWhereConditions">
  23. where 1 = 1
  24. <if test=" null != id ">
  25. and `id` = #{id}
  26. </if>
  27. <if test=" null != tenantId ">
  28. and `tenant_id` = #{tenantId}
  29. </if>
  30. <if test=" null != couponId ">
  31. and `coupon_id` = #{couponId}
  32. </if>
  33. <if test=" null != couponType ">
  34. and `coupon_type` = #{couponType}
  35. </if>
  36. <if test=" null != cUserId ">
  37. and `c_user_id` = #{cUserId}
  38. </if>
  39. <if test=" null != ownerId ">
  40. and `owner_id` = #{ownerId}
  41. </if>
  42. <if test=" null != bUserId ">
  43. and `b_user_id` = #{bUserId}
  44. </if>
  45. <if test=" null != orderId ">
  46. and `order_id` = #{orderId}
  47. </if>
  48. <if test=" null != expiredTime ">
  49. and `expired_time` = #{expiredTime}
  50. </if>
  51. <if test=" null != couponOrderStatus ">
  52. and `coupon_order_status` = #{couponOrderStatus}
  53. </if>
  54. <if test=" null != createDate ">
  55. and `create_date` = #{createDate}
  56. </if>
  57. <if test=" null != updateDate ">
  58. and `update_date` = #{updateDate}
  59. </if>
  60. <if test=" null != couponPrice ">
  61. and `coupon_price` = #{couponPrice}
  62. </if>
  63. <if test=" null != ids ">
  64. and id in
  65. <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
  66. #{idItem}
  67. </foreach>
  68. </if>
  69. <if test=" null != sortColumns"> order by ${sortColumns} </if>
  70. </sql>
  71. <select id="findList" parameterType="com.iformall.domain.po.WxCouponOrder" resultMap="BaseResultMap">
  72. select <include refid="allColumns" /> from wx_coupon_order
  73. <include refid="dynamicWhereConditions" />
  74. </select>
  75. <select id="countList" parameterType="com.iformall.domain.po.WxCouponOrder" resultType="java.lang.Integer">
  76. select count(*) from wx_coupon_order
  77. <include refid="dynamicWhereConditions" />
  78. </select>
  79. <select id="dayCountCarList" parameterType="hashmap" resultType="java.lang.Integer">
  80. select count(*) from wx_coupon_order
  81. <where>
  82. <if test=" null != tenantId ">
  83. and `tenant_id` = #{tenantId}
  84. </if>
  85. <if test=" null != couponId ">
  86. and `coupon_id` = #{couponId}
  87. </if>
  88. <if test=" null != cUserId ">
  89. and `c_user_id` = #{cUserId}
  90. </if>
  91. and date(`create_date`) = curdate()
  92. </where>
  93. </select>
  94. <select id="findCountByDateLimit" resultType="java.lang.Integer">
  95. select COUNT(*) FROM wx_coupon_order
  96. where tenant_id = #{tenantId}
  97. and create_date &gt;= #{startTime}
  98. and create_date &lt;= #{endTime}
  99. </select>
  100. <select id="couponDataMap" resultType="com.iformall.domain.vo.MarkingCouponDataReportVo" parameterType="hashmap">
  101. SELECT DATE_FORMAT(create_date,'%m/%d') as createTime,
  102. COUNT(DISTINCT c_user_id) as couponUserCount,
  103. count(*) as couponCount,
  104. (select Count(*)
  105. from wx_coupon_order c
  106. where coupon_order_status=1
  107. AND DATE_FORMAT(create_date,'%m/%d')=createTime
  108. AND tenant_id=#{tenantId}
  109. AND c.update_date &gt;= #{startTime}
  110. AND c.update_date &lt;= #{endTime}) as verifyCount,
  111. (select Count(DISTINCT c_user_id)
  112. from wx_coupon_order d
  113. where coupon_order_status=1
  114. AND DATE_FORMAT(create_date,'%m/%d')=createTime
  115. AND tenant_id=#{tenantId}
  116. AND d.update_date &gt;= #{startTime}
  117. AND d.update_date &lt;= #{endTime}) as verifyUserCount
  118. from wx_coupon_order
  119. where tenant_id=#{tenantId}
  120. AND create_date &gt;= #{startTime}
  121. AND create_date &lt;= #{endTime}
  122. GROUP BY createTime
  123. </select>
  124. <select id="couponDataList" resultType="com.iformall.domain.vo.MarkingCouponDataReportVo" parameterType="hashmap">
  125. SELECT DATE_FORMAT(wx_coupon_order.create_date,'%Y-%m-%d') as createTime,wx_coupon_order.coupon_id as couponId
  126. ,COUNT(DISTINCT c_user_id) as couponUserCount,count(*) as couponCount
  127. ,(select Count(coupon_id) from wx_coupon_order c
  128. where coupon_order_status=1
  129. and DATE_FORMAT(create_date,'%Y-%m-%d')=createTime
  130. and tenant_id=#{tenantId}
  131. and c.coupon_id=couponId
  132. <if test="startTime != null">
  133. and c.update_date &gt;= #{startTime}
  134. </if>
  135. <if test="endTime != null">
  136. and c.update_date &lt;= #{endTime}
  137. </if>
  138. ) as verifyCount
  139. ,(select Count(DISTINCT c_user_id) from wx_coupon_order d
  140. where coupon_order_status=1
  141. and d.coupon_id=couponId
  142. and DATE_FORMAT(create_date,'%Y-%m-%d')=createTime
  143. and tenant_id=#{tenantId}
  144. and d.coupon_id=couponId
  145. <if test="startTime != null">
  146. and d.update_date &gt;= #{startTime}
  147. </if>
  148. <if test="endTime != null">
  149. and d.update_date &lt;= #{endTime}
  150. </if>
  151. ) as verifyUserCount
  152. from wx_coupon_order
  153. join wx_coupon on wx_coupon_order.coupon_id=wx_coupon.id
  154. where wx_coupon_order.tenant_id=#{tenantId}
  155. <if test="startTime != null">
  156. and wx_coupon_order.create_date &gt;= #{startTime}
  157. </if>
  158. <if test="endTime != null">
  159. and wx_coupon_order.create_date &lt;= #{endTime}
  160. </if>
  161. <if test="couponType != null">
  162. and wx_coupon.type = #{couponType}
  163. </if>
  164. <if test="couponTitle != null">
  165. and wx_coupon.title like concat('%', #{couponTitle},'%')
  166. </if>
  167. GROUP BY createTime,couponId
  168. order by createTime desc
  169. </select>
  170. <select id="touchUsersReportList" resultType="com.iformall.domain.vo.TouchUsersReportVo" parameterType="hashmap">
  171. SELECT DATE_FORMAT(create_date,'%Y-%m-%d') as xTime
  172. ,COUNT(DISTINCT c_user_id) as userCount,count(*) as couponCount
  173. ,(select Count(*) from wx_coupon_order c
  174. where coupon_order_status=1
  175. and DATE_FORMAT(create_date,'%Y-%m-%d')=xTime
  176. and tenant_id=#{tenantId}
  177. <if test="startTime != null">
  178. and c.update_date &gt;= #{startTime}
  179. </if>
  180. <if test="endTime != null">
  181. and c.update_date &lt;= #{endTime}
  182. </if>
  183. )
  184. as verifyCount
  185. ,(select Count(DISTINCT c_user_id) from wx_coupon_order d
  186. where coupon_order_status=1
  187. and DATE_FORMAT(create_date,'%Y-%m-%d')=xTime
  188. and tenant_id=#{tenantId}
  189. <if test="startTime != null">
  190. and d.update_date &gt;= #{startTime}
  191. </if>
  192. <if test="endTime != null">
  193. and d.update_date &lt;= #{endTime}
  194. </if>
  195. )
  196. as verifyUserCount
  197. from wx_coupon_order
  198. where tenant_id=#{tenantId}
  199. <if test="startTime != null">
  200. AND create_date &gt;= #{startTime}
  201. </if>
  202. <if test="endTime != null">
  203. and create_date &lt;= #{endTime}
  204. </if>
  205. GROUP BY xTime
  206. order by xTime desc
  207. </select>
  208. <select id="queryForSceneRepotyHistoryVerified" resultType="com.iformall.domain.vo.MarkingSceneDataVo" parameterType="hashmap">
  209. select DATE_FORMAT(update_date,'%Y-%m-%d') xTime, count(c.id) triggerCount
  210. from wx_coupon_order c
  211. where c.tenant_id = #{tenantId}
  212. and c.coupon_order_status = 1
  213. <if test=" null != startTime and null != endTime">
  214. and c.update_date BETWEEN #{startTime} and #{endTime}
  215. </if>
  216. group by xTime
  217. </select>
  218. <select id="findVerifiedCountByCUser" resultType="java.lang.Integer">
  219. select COUNT(*) FROM wx_coupon_order
  220. where c_user_id = #{cUserId}
  221. and update_date &gt;= #{startTime}
  222. and update_date &lt;= #{endTime}
  223. and coupon_order_status = 1
  224. </select>
  225. <select id="findOrderedCountByCUser" resultType="java.lang.Integer">
  226. select COUNT(*) FROM wx_coupon_order
  227. where c_user_id = #{cUserId}
  228. and create_date &gt;= #{startTime}
  229. and create_date &lt;= #{endTime}
  230. </select>
  231. <select id="findVerifiedCount" resultType="java.lang.Integer">
  232. select COUNT(*) FROM wx_coupon_order
  233. where tenant_id = #{tenantId}
  234. and update_date &gt;= #{startTime}
  235. and update_date &lt;= #{endTime}
  236. and coupon_order_status = 1
  237. </select>
  238. <select id="findOrderedCount" resultType="java.lang.Integer">
  239. select COUNT(*) FROM wx_coupon_order
  240. where tenant_id = #{tenantId}
  241. and create_date &gt;= #{startTime}
  242. and create_date &lt;= #{endTime}
  243. </select>
  244. <select id="queryPriceTotalGroup" resultType="com.iformall.domain.vo.CUserDateAmountVo" >
  245. SELECT DATE_FORMAT(create_date,'%Y-%m-%d') as xTime,IFNULL(SUM(coupon_price),0) as price from wx_coupon_order
  246. where tenant_id=#{tenantId} AND create_date &gt;= #{startTime} and create_date &lt; #{endTime} GROUP BY xTime
  247. </select>
  248. <select id="queryPriceTotal" resultType="java.lang.Integer" >
  249. SELECT IFNULL(SUM(coupon_price),0) from wx_coupon_order
  250. where tenant_id=#{tenantId} AND create_date &gt;= #{startTime} and create_date &lt; #{endTime}
  251. </select>
  252. <update id="offExpiredCouponOrderByValidDate">
  253. update wx_coupon_order SET coupon_order_status = 2, update_date = now()
  254. where expired_time &lt; now() and coupon_price = 0 and coupon_order_status = 0
  255. </update>
  256. <select id="findExpiredCouponOrderByValidDate" parameterType="com.iformall.domain.po.WxCouponOrder" resultMap="BaseResultMap">
  257. select <include refid="allColumns" /> from wx_coupon_order
  258. where expired_time &lt; now() and coupon_price &gt; 0 and coupon_order_status = 0
  259. </select>
  260. <resultMap id="BVoResultMap" type="com.iformall.domain.vo.WxCouponOrderBVo">
  261. <id column="id" jdbcType="BIGINT" property="id" />
  262. <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
  263. <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
  264. <result column="coupon_type" jdbcType="INTEGER" property="couponType" />
  265. <result column="c_user_id" jdbcType="BIGINT" property="cUserId" />
  266. <result column="owner_id" jdbcType="BIGINT" property="ownerId" />
  267. <result column="b_user_id" jdbcType="BIGINT" property="bUserId" />
  268. <result column="order_id" jdbcType="BIGINT" property="orderId" />
  269. <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" />
  270. <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" />
  271. <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  272. <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  273. <result column="coupon_price" jdbcType="INTEGER" property="couponPrice" />
  274. <result column="type" jdbcType="INTEGER" property="type" />
  275. <result column="title" jdbcType="VARCHAR" property="title" />
  276. <result column="sale_price" jdbcType="INTEGER" property="salePrice" />
  277. <result column="use_price" jdbcType="INTEGER" property="usePrice" />
  278. <result column="price" jdbcType="INTEGER" property="price" />
  279. <result column="name" jdbcType="VARCHAR" property="bUserName" />
  280. <result column="bphone" jdbcType="VARCHAR" property="bUserPhone" />
  281. <result column="phone" jdbcType="VARCHAR" property="cUserPhone" />
  282. <result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
  283. <collection column="{productId=coupon_id}" property="merchantVoList"
  284. ofType="com.iformall.domain.vo.WxMerchantVo"
  285. javaType="java.util.List"
  286. select="com.iformall.mapper.WxCouponMerchantMapper.findMerchantNameList" >
  287. </collection>
  288. </resultMap>
  289. <sql id="allAdminCouponOrderListColumns">
  290. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  291. c.title,c.sale_price,c.use_price,c.price,c.unit,
  292. (case when com.mc=1 then
  293. (select m.name from wx_merchant m, wx_coupon_merchant cm
  294. where m.id = cm.merchant_id and cm.product_id=co.coupon_id) else '[多商户通用]' end) as merchant_name
  295. </sql>
  296. <sql id="allAdminCouponOrderDetailColumns">
  297. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  298. c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,
  299. bu.name, bu.phone as bphone,
  300. cu.phone,
  301. m.name as merchant_name
  302. </sql>
  303. <select id="findListOfAdmin" parameterType="com.iformall.domain.vo.WxCouponOrderBVo" resultMap="BVoResultMap">
  304. select <include refid="allAdminCouponOrderListColumns" />
  305. from
  306. wx_coupon_order co,
  307. wx_coupon c,
  308. (select tco.id as tcoid,
  309. (select count(*) from wx_coupon_merchant tcm
  310. where tcm.product_id = tco.coupon_id
  311. and tcm.status = 0) as mc
  312. from wx_coupon_order tco) com
  313. where com.tcoid = co.id
  314. and co.coupon_type &lt; 7
  315. and c.id = co.coupon_id
  316. <if test=" null != tenantId ">
  317. and co.tenant_id = #{tenantId}
  318. </if>
  319. <if test=" null != couponOrderStatus ">
  320. and co.coupon_order_status = #{couponOrderStatus}
  321. </if>
  322. <if test=" null != merchantName ">
  323. and (case when com.mc=1 then
  324. (select m.name from wx_merchant m, wx_coupon_merchant cm
  325. where m.id = cm.merchant_id and cm.product_id=co.coupon_id) else '[多商户通用]' end)
  326. like concat('%', #{merchantName},'%')
  327. </if>
  328. <if test="startDate != null">
  329. AND co.create_date &gt; #{startDate,jdbcType=TIMESTAMP}
  330. </if>
  331. <if test="endDate != null">
  332. AND co.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
  333. </if>
  334. <if test=" null != sortColumns"> order by ${sortColumns} </if>
  335. </select>
  336. <select id="findDetailOfAdmin" parameterType="java.lang.Long" resultMap="BVoResultMap">
  337. select <include refid="allAdminCouponOrderDetailColumns" />
  338. from
  339. wx_coupon c,
  340. wx_c_user cu,
  341. wx_coupon_order co
  342. left join wx_merchant_b_user bu on co.b_user_id = bu.id
  343. left join wx_merchant m on m.id = bu.merchant_id
  344. where co.id = #{id}
  345. and c.id = co.coupon_id
  346. and cu.id = co.c_user_id
  347. </select>
  348. <sql id="allBUserVerifiedCouponOrderColumns">
  349. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  350. c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,
  351. bu.name,
  352. cu.phone
  353. </sql>
  354. <sql id="allBUserOrderedCouponOrderColumns">
  355. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  356. c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,
  357. cu.phone
  358. </sql>
  359. <select id="findListOfOrderedByDateForBUser" parameterType="map" resultMap="BVoResultMap">
  360. select <include refid="allBUserOrderedCouponOrderColumns" />
  361. from wx_coupon_order co,wx_coupon c,wx_c_user cu,wx_coupon_merchant cm,
  362. (select tco.id as tcoid,
  363. (select count(*) from wx_coupon_merchant tcm
  364. where tcm.product_id = tco.coupon_id
  365. and tcm.status = 0) as mc
  366. from wx_coupon_order tco) com
  367. where com.mc = 1
  368. and com.tcoid = co.id
  369. and cm.merchant_id = #{merchantId}
  370. and cm.product_id = c.id
  371. and cm.status = 0
  372. and co.coupon_id = c.id
  373. and cu.id = co.c_user_id
  374. <if test="startDate != null">
  375. AND co.create_date &gt; #{startDate,jdbcType=TIMESTAMP}
  376. </if>
  377. <if test="endDate != null">
  378. AND co.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
  379. </if>
  380. order by co.create_date desc
  381. </select>
  382. <select id="findListOfVerifiedByDateForBUser" parameterType="map" resultMap="BVoResultMap">
  383. select <include refid="allBUserVerifiedCouponOrderColumns" />
  384. from wx_coupon_order co,wx_coupon c,wx_c_user cu,wx_merchant_b_user bu
  385. where co.coupon_id = c.id
  386. and cu.id = co.c_user_id
  387. and bu.id = co.b_user_id
  388. and bu.merchant_id = #{merchantId}
  389. <if test="startDate != null">
  390. AND co.update_date &gt; #{startDate,jdbcType=TIMESTAMP}
  391. </if>
  392. <if test="endDate != null">
  393. AND co.update_date &lt; #{endDate,jdbcType=TIMESTAMP}
  394. </if>
  395. AND co.coupon_order_status = '1'
  396. order by co.update_date desc
  397. </select>
  398. <sql id="allCouponOrderColumns">
  399. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price
  400. </sql>
  401. <select id="findListOfOrderedByDate" parameterType="map" resultMap="BaseResultMap">
  402. select <include refid="allCouponOrderColumns" />
  403. from wx_coupon_order co,wx_coupon_merchant cm,
  404. (select tco.id as tcoid,
  405. (select count(*) from wx_coupon_merchant tcm
  406. where tcm.product_id = tco.coupon_id
  407. and tcm.status = 0)
  408. as mc
  409. from wx_coupon_order tco) com
  410. where com.mc = 1
  411. and com.tcoid = co.id
  412. and cm.status = 0
  413. and cm.merchant_id = #{merchantId}
  414. and cm.product_id = co.coupon_id
  415. <if test="startDate != null">
  416. AND co.create_date &gt; #{startDate,jdbcType=TIMESTAMP}
  417. </if>
  418. <if test="endDate != null">
  419. AND co.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
  420. </if>
  421. </select>
  422. <select id="findListOfVerifiedByDate" parameterType="map" resultMap="BaseResultMap">
  423. select <include refid="allCouponOrderColumns" />
  424. from wx_coupon_order co, wx_merchant_b_user mbu
  425. where mbu.id = co.b_user_id
  426. and mbu.merchant_id = #{merchantId}
  427. <if test="startDate != null">
  428. AND co.update_date &gt; #{startDate,jdbcType=TIMESTAMP}
  429. </if>
  430. <if test="endDate != null">
  431. AND co.update_date &lt; #{endDate,jdbcType=TIMESTAMP}
  432. </if>
  433. AND co.coupon_order_status = '1'
  434. </select>
  435. <sql id="allCUserCouponOrderListColumns">
  436. co.id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  437. c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit
  438. </sql>
  439. <sql id="allCUserCouponOrderDetailColumns">
  440. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  441. c.type,c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit,c.detail,c.remark
  442. </sql>
  443. <resultMap id="CVoResultMap" type="com.iformall.domain.vo.WxCouponOrderCVo">
  444. <id column="id" jdbcType="BIGINT" property="id" />
  445. <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
  446. <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
  447. <result column="coupon_type" jdbcType="INTEGER" property="couponType" />
  448. <result column="c_user_id" jdbcType="BIGINT" property="cUserId" />
  449. <result column="owner_id" jdbcType="BIGINT" property="ownerId" />
  450. <result column="b_user_id" jdbcType="BIGINT" property="bUserId" />
  451. <result column="order_id" jdbcType="BIGINT" property="orderId" />
  452. <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" />
  453. <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" />
  454. <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  455. <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  456. <result column="coupon_price" jdbcType="INTEGER" property="couponPrice" />
  457. <result column="type" jdbcType="INTEGER" property="type" />
  458. <result column="cover_img" jdbcType="VARCHAR" property="coverImg" />
  459. <result column="title" jdbcType="VARCHAR" property="title" />
  460. <result column="sub_title" jdbcType="VARCHAR" property="subTitle" />
  461. <result column="sale_price" jdbcType="INTEGER" property="salePrice" />
  462. <result column="use_price" jdbcType="INTEGER" property="usePrice" />
  463. <result column="detail" jdbcType="VARCHAR" property="detail" />
  464. <result column="price" jdbcType="INTEGER" property="price" />
  465. <result column="unit" jdbcType="INTEGER" property="unit" />
  466. <result column="remark" jdbcType="VARCHAR" property="remark" />
  467. <collection column="{productId=coupon_id}" property="merchantVoList"
  468. ofType="com.iformall.domain.vo.WxMerchantVo"
  469. javaType="java.util.List"
  470. select="com.iformall.mapper.WxCouponMerchantMapper.findMerchantVoList" >
  471. </collection>
  472. </resultMap>
  473. <select id="findListOfCUser" parameterType="com.iformall.domain.vo.WxCouponOrderCVo" resultMap="CVoResultMap">
  474. select <include refid="allCUserCouponOrderListColumns" />
  475. from wx_coupon_order co,wx_coupon c
  476. where 1=1
  477. and co.coupon_id = c.id
  478. and co.coupon_type != 5 and co.coupon_type != 7
  479. <if test="cUserId != null">
  480. and co.c_user_id = #{cUserId}
  481. </if>
  482. <if test="ownerId != null">
  483. and co.owner_id = #{ownerId}
  484. </if>
  485. <if test="tenantId != null">
  486. and co.tenant_id = #{tenantId}
  487. </if>
  488. <if test="couponOrderStatus != null">
  489. AND co.coupon_order_status = #{couponOrderStatus}
  490. </if>
  491. <if test=" null != sortColumns"> order by ${sortColumns} </if>
  492. </select>
  493. <select id="findDetailOfCUser" parameterType="java.lang.Long" resultMap="CVoResultMap">
  494. select <include refid="allCUserCouponOrderDetailColumns" />
  495. from wx_coupon_order co,wx_coupon c
  496. where co.coupon_id = c.id
  497. and co.id = #{id}
  498. </select>
  499. <sql id="allCUserCouponOrderCarListColumns">
  500. co.id,co.coupon_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  501. c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit,
  502. json_extract(car.vendor_params,'$.id') as coupon_free_id
  503. </sql>
  504. <resultMap id="CCarVoResultMap" type="com.iformall.domain.vo.WxCouponOrderCarCVo">
  505. <id column="id" jdbcType="BIGINT" property="id" />
  506. <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
  507. <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
  508. <result column="coupon_type" jdbcType="INTEGER" property="couponType" />
  509. <result column="c_user_id" jdbcType="BIGINT" property="cUserId" />
  510. <result column="owner_id" jdbcType="BIGINT" property="ownerId" />
  511. <result column="b_user_id" jdbcType="BIGINT" property="bUserId" />
  512. <result column="order_id" jdbcType="BIGINT" property="orderId" />
  513. <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" />
  514. <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" />
  515. <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  516. <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  517. <result column="coupon_price" jdbcType="INTEGER" property="couponPrice" />
  518. <result column="type" jdbcType="INTEGER" property="type" />
  519. <result column="cover_img" jdbcType="VARCHAR" property="coverImg" />
  520. <result column="title" jdbcType="VARCHAR" property="title" />
  521. <result column="sub_title" jdbcType="VARCHAR" property="subTitle" />
  522. <result column="sale_price" jdbcType="INTEGER" property="salePrice" />
  523. <result column="use_price" jdbcType="INTEGER" property="usePrice" />
  524. <result column="detail" jdbcType="VARCHAR" property="detail" />
  525. <result column="price" jdbcType="INTEGER" property="price" />
  526. <result column="remark" jdbcType="VARCHAR" property="remark" />
  527. <result column="coupon_free_id" jdbcType="INTEGER" property="couponFreeId"/>
  528. </resultMap>
  529. <select id="findCarListOfCUser" parameterType="com.iformall.domain.vo.WxCouponOrderCarCVo" resultMap="CCarVoResultMap">
  530. select <include refid="allCUserCouponOrderCarListColumns" />
  531. from wx_coupon_order co, wx_coupon c, wx_coupon_car car
  532. where co.coupon_id = c.id
  533. and co.coupon_id = car.id
  534. and c.type = 5
  535. <if test="cUserId != null">
  536. and co.c_user_id = #{cUserId}
  537. </if>
  538. <if test="tenantId != null">
  539. and co.tenant_id = #{tenantId}
  540. </if>
  541. <if test="id != null">
  542. and co.id = #{id}
  543. </if>
  544. <if test="couponOrderStatus != null">
  545. AND co.coupon_order_status = #{couponOrderStatus}
  546. </if>
  547. <if test=" null != sortColumns"> order by ${sortColumns} </if>
  548. </select>
  549. <resultMap id="CCardVoResultMap" type="com.iformall.domain.vo.WxCardCVo">
  550. <id column="id" jdbcType="BIGINT" property="id" />
  551. <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
  552. <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
  553. <result column="coupon_type" jdbcType="INTEGER" property="couponType" />
  554. <result column="c_user_id" jdbcType="BIGINT" property="cUserId" />
  555. <result column="owner_id" jdbcType="BIGINT" property="ownerId" />
  556. <result column="b_user_id" jdbcType="BIGINT" property="bUserId" />
  557. <result column="order_id" jdbcType="BIGINT" property="orderId" />
  558. <result column="expired_time" jdbcType="TIMESTAMP" property="expiredTime" />
  559. <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus" />
  560. <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
  561. <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
  562. <result column="cover_img" jdbcType="VARCHAR" property="coverImg" />
  563. <result column="title" jdbcType="VARCHAR" property="title" />
  564. <result column="sub_title" jdbcType="VARCHAR" property="subTitle" />
  565. <result column="detail" jdbcType="VARCHAR" property="detail" />
  566. <result column="unit" jdbcType="INTEGER" property="unit" />
  567. <result column="remark" jdbcType="VARCHAR" property="remark" />
  568. <result column="amount" jdbcType="INTEGER" property="amount" />
  569. <result column="remaining_amount" jdbcType="INTEGER" property="remainingAmount" />
  570. <collection column="{productId=coupon_id}" property="merchantVoList"
  571. ofType="com.iformall.domain.vo.WxMerchantVo"
  572. javaType="java.util.List"
  573. select="com.iformall.mapper.WxCouponMerchantMapper.findMerchantVoList" >
  574. </collection>
  575. <collection column="{cardId=id}" property="cardSpendList"
  576. ofType="com.iformall.domain.po.WxCardSpend"
  577. javaType="java.util.List"
  578. select="com.iformall.mapper.WxCardSpendMapper.findList" >
  579. </collection>
  580. </resultMap>
  581. <sql id="allCUserCardListColumns">
  582. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,
  583. c.cover_img,c.title,c.sub_title,c.detail,c.unit,c.remark,
  584. a.amount,a.remaining_amount
  585. </sql>
  586. <sql id="allCUserCardDetailColumns">
  587. co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,
  588. c.cover_img,c.title,c.sub_title,c.sale_price,c.price,c.unit,c.detail,c.remark,
  589. a.amount,a.remaining_amount
  590. </sql>
  591. <select id="findCardListOfCUser" parameterType="com.iformall.domain.vo.WxCardCVo" resultMap="CCardVoResultMap">
  592. select <include refid="allCUserCardListColumns" />
  593. from wx_coupon_order co
  594. inner join wx_coupon c on co.coupon_id = c.id
  595. inner join wx_card_info a on co.id=a.id
  596. where 1=1
  597. and co.coupon_type = 7
  598. <if test="tenantId != null">
  599. and co.tenant_id = #{tenantId}
  600. </if>
  601. <if test="cUserId != null">
  602. and co.c_user_id = #{cUserId}
  603. </if>
  604. <if test="ownerId != null">
  605. and co.owner_id = #{ownerId}
  606. </if>
  607. <if test="couponOrderStatus != null">
  608. and co.coupon_order_status = #{couponOrderStatus}
  609. </if>
  610. <if test=" null != sortColumns"> order by ${sortColumns} </if>
  611. </select>
  612. <select id="findCardDetailOfCUser" parameterType="java.lang.Long" resultMap="CCardVoResultMap">
  613. select <include refid="allCUserCardDetailColumns" />
  614. from wx_coupon_order co,wx_coupon c, wx_card_info a
  615. where co.coupon_id = c.id and co.id = a.id
  616. and co.id = #{id}
  617. </select>
  618. </mapper>