CouponMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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.platform.yijia.dao.CouponMapper">
  4. <!--优惠券-->
  5. <resultMap id="BaseResultMap" type="com.platform.yijia.pojo.Coupon">
  6. <id column="id" jdbcType="INTEGER" property="couponId" />
  7. <result column="station_id" jdbcType="INTEGER" property="stationId" />
  8. <result column="coupon_name" jdbcType="VARCHAR" property="couponName" />
  9. <result column="coupon_type" jdbcType="VARCHAR" property="couponType" />
  10. <result column="coupon_threshold_amt" jdbcType="DECIMAL" property="couponThresholdAmt" />
  11. <result column="oil_name" jdbcType="VARCHAR" property="oilName" />
  12. <result column="oil_type" jdbcType="VARCHAR" property="oilType" />
  13. <result column="coupon_amt" jdbcType="DECIMAL" property="couponAmt" />
  14. <result column="coupon_num" jdbcType="INTEGER" property="couponNum" />
  15. <result column="effective_time_type" jdbcType="VARCHAR" property="effectiveTimeType" />
  16. <result column="effective_time_start" jdbcType="TIMESTAMP" property="effectiveTimeStart" />
  17. <result column="effective_time_end" jdbcType="TIMESTAMP" property="effectiveTimeEnd" />
  18. <result column="effective_day_num" jdbcType="INTEGER" property="effectiveDayNum" />
  19. <result column="coupon_receive_num" jdbcType="INTEGER" property="couponReceiveNum" />
  20. <result column="coupon_hold_num" jdbcType="INTEGER" property="couponHoldNum" />
  21. <result column="coupon_cumulative_num" jdbcType="INTEGER" property="couponCumulativeNum" />
  22. <result column="coupon_use_num" jdbcType="INTEGER" property="couponUseNum" />
  23. <result column="open_platform" jdbcType="VARCHAR" property="openPlatform" />
  24. <result column="grant_status" jdbcType="VARCHAR" property="grantStatus" />
  25. <result column="status" jdbcType="VARCHAR" property="status" />
  26. <result column="create_by" jdbcType="VARCHAR" property="createBy" />
  27. <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  28. <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
  29. <result column="update_by" jdbcType="TIMESTAMP" property="updateTime" />
  30. <result column="del_flag" jdbcType="VARCHAR" property="delFlag" />
  31. <result column="update_by" jdbcType="VARCHAR" property="couponDetails" />
  32. <result column="verification" jdbcType="VARCHAR" property="verification" />
  33. <result column="is_card_flag" jdbcType="VARCHAR" property="isCardFlag" />
  34. <result column="is_grade_flag" jdbcType="VARCHAR" property="isGradeFlag" />
  35. <result column="is_market_flag" jdbcType="VARCHAR" property="isMarketFlag" />
  36. </resultMap>
  37. <!--发放方式,优惠劵信息-->
  38. <resultMap id="CouponIssueBaseResultMap" type="com.platform.yijia.pojo.CouponIssue">
  39. <result column="coupon_issue_id" jdbcType="INTEGER" property="couponIssueId" />
  40. <result column="issue_type" jdbcType="VARCHAR" property="issueType" />
  41. <result column="issue_name" jdbcType="VARCHAR" property="issueName" />
  42. <result column="discount_threshold_amt" jdbcType="DECIMAL" property="discountThresholdAmt" />
  43. <result column="status" jdbcType="VARCHAR" property="status" />
  44. <result column="station_id" jdbcType="INTEGER" property="stationId" />
  45. <result column="create_by" jdbcType="VARCHAR" property="createBy" />
  46. <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  47. <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
  48. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
  49. <result column="show_id" jdbcType="VARCHAR" property="showId" />
  50. <!-- <collection property="couponInfoList" resultMap="BaseResultMap"/>-->
  51. </resultMap>
  52. <!--用户优惠券-->
  53. <resultMap id="UserCouponsBaseResultMap" type="com.platform.yijia.pojo.UserCoupon">
  54. <result column="coupon_id" jdbcType="INTEGER" property="couponId" />
  55. <result column="union_id" jdbcType="VARCHAR" property="unionId" />
  56. <result column="get_coupon_origin" jdbcType="VARCHAR" property="getCouponOrigin" />
  57. <result column="coupon_is_used" jdbcType="VARCHAR" property="couponIsUsed" />
  58. <result column="coupon_no" jdbcType="VARCHAR" property="couponNo" />
  59. <result column="coupon_is_effective" jdbcType="VARCHAR" property="couponIsEffective" />
  60. <result column="grant_coupon_shop" jdbcType="INTEGER" property="grantCouponShop" />
  61. <result column="get_coupon_time" jdbcType="TIMESTAMP" property="getCouponTime" />
  62. <result column="grant_coupon_person" jdbcType="INTEGER" property="grantCouponPerson" />
  63. <result column="station_id" jdbcType="INTEGER" property="stationId" />
  64. <result column="coupon_name" jdbcType="VARCHAR" property="couponName" />
  65. <result column="coupon_type" jdbcType="VARCHAR" property="couponType" />
  66. <result column="coupon_threshold_amt" jdbcType="DECIMAL" property="couponThresholdAmt" />
  67. <result column="oil_type" jdbcType="VARCHAR" property="oilType" />
  68. <result column="coupon_amt" jdbcType="VARCHAR" property="couponAmt" />
  69. <result column="coupon_num" jdbcType="INTEGER" property="couponNum" />
  70. <result column="effective_time_type" jdbcType="VARCHAR" property="effectiveTimeType" />
  71. <result column="effective_time_start" jdbcType="TIMESTAMP" property="effectiveTimeStart" />
  72. <result column="effective_time_end" jdbcType="TIMESTAMP" property="effectiveTimeEnd" />
  73. <result column="effective_day_num" jdbcType="INTEGER" property="effectiveDayNum" />
  74. <result column="coupon_receive_num" jdbcType="INTEGER" property="couponReceiveNum" />
  75. <result column="open_platform" jdbcType="VARCHAR" property="openPlatform" />
  76. <result column="grant_status" jdbcType="VARCHAR" property="grantStatus" />
  77. <result column="status" jdbcType="VARCHAR" property="status" />
  78. <result column="dept_name" jdbcType="VARCHAR" property="stationName" />
  79. </resultMap>
  80. <sql id="Base_Column_List">
  81. id, station_id, coupon_name, coupon_type, coupon_threshold_amt, oil_name, oil_type, coupon_amt, coupon_num, effective_time_type,
  82. effective_time_start, effective_time_end, effective_day_num, coupon_receive_num, coupon_hold_num, coupon_cumulative_num, coupon_use_num,
  83. open_platform, status, create_by, create_time, update_by, update_time, del_flag, coupon_details, verification,
  84. is_card_flag, is_grade_flag, is_market_flag, edit_flag
  85. </sql>
  86. <!--获取油站所分发的加油券-->
  87. <select id="selectStaGrantCouponList" parameterType="com.platform.yijia.pojo.Coupon" resultMap="BaseResultMap">
  88. SELECT
  89. T2.id AS coupon_issue_id,
  90. T2.issue_name,
  91. T2.issue_type,
  92. T2.discount_threshold_amt,
  93. T3.coupon_amt,
  94. T3.coupon_type,
  95. T3.oil_name,
  96. T3.use_discount_type,
  97. T3.effective_time_type,
  98. T3.effective_time_start,
  99. T3.effective_time_end,
  100. T3.effective_day_num,
  101. T3.coupon_receive_num,
  102. T3.coupon_hold_num,
  103. T3.coupon_cumulative_num,
  104. T3.coupon_use_num,
  105. T3.open_platform,
  106. T3.coupon_details,
  107. T3.available_control,
  108. T3.appointed_days,
  109. T3.cycle_days
  110. FROM coupon_issue_relation AS T1
  111. LEFT JOIN coupon_issue AS T2 ON T1.issue_id = T2.id
  112. LEFT JOIN coupon_info AS T3 ON T1.coupon_id = T2.id
  113. <where>
  114. T2.status = "1"
  115. AND T3.del_flag = "0"
  116. AND T3.status = "1"
  117. <if test="stationId !=null">
  118. AND T2.station_id = #{stationId}
  119. </if>
  120. <if test="issueType !=null and issueType !=''">
  121. AND T2.issue_type = #{issueType}
  122. </if>
  123. </where>
  124. </select>
  125. <!--获取加油券信息-->
  126. <select id="selectCouponInfo" parameterType="com.platform.yijia.pojo.Coupon" resultMap="BaseResultMap">
  127. SELECT
  128. <include refid="Base_Column_List"/>
  129. FROM
  130. coupon_info
  131. <where>
  132. <if test="id !=null">
  133. id = #{id}
  134. </if>
  135. </where>
  136. </select>
  137. <!--获取用户所拥有的加油券-->
  138. <select id="selectUserCoupons" parameterType="com.platform.yijia.pojo.UserCoupon" resultMap="UserCouponsBaseResultMap">
  139. SELECT
  140. T1.union_id,
  141. T1.coupon_id,
  142. T1.coupon_is_effective,
  143. T1.coupon_is_used,
  144. T1.grant_coupon_shop,
  145. T1.grant_coupon_person,
  146. T1.get_coupon_origin,
  147. T1.get_coupon_time,
  148. T3.dept_name,
  149. T2.station_id,
  150. T2.oil_type,
  151. T2.coupon_name,
  152. T2.coupon_threshold_amt,
  153. T2.coupon_amt,
  154. T2.effective_time_type,
  155. T2.effective_time_start,
  156. T2.effective_time_end,
  157. T2.effective_day_num,
  158. T2.status
  159. FROM coupon_user AS T1
  160. LEFT JOIN coupon_info AS T2 ON T1.coupon_id = T2.id
  161. LEFT JOIN sys_dept AS T3 ON T2.station_id = T3.dept_id
  162. <where>
  163. <if test="stationId !=null and stationId !=''">
  164. T1.station_id = #{stationId}
  165. </if>
  166. <if test="unionId !=null and unionId !=''">
  167. AND T1.union_id = #{unionId}
  168. </if>
  169. </where>
  170. </select>
  171. <!--用户获取优惠券-->
  172. <insert id="addUserCoupon" parameterType="com.platform.yijia.pojo.UserCoupon">
  173. INSERT INTO coupon_user
  174. <trim prefix="(" suffix=")" suffixOverrides=",">
  175. <if test="unionId !=null">
  176. union_id,
  177. </if>
  178. <if test="couponId !=null">
  179. coupon_id,
  180. </if>
  181. <if test="couponNo !=null">
  182. coupon_no,
  183. </if>
  184. <if test="getCouponOrigin !=null">
  185. get_coupon_origin,
  186. </if>
  187. <if test="couponIsUsed !=null">
  188. coupon_is_used,
  189. </if>
  190. <if test="couponIsEffective !=null">
  191. coupon_is_effective,
  192. </if>
  193. <if test="grantCouponShop !=null">
  194. grant_coupon_shop,
  195. </if>
  196. <if test="getCouponTime !=null">
  197. get_coupon_time,
  198. </if>
  199. <if test="grantCouponPerson !=null">
  200. grant_coupon_person,
  201. </if>
  202. <if test="stationId !=null">
  203. station_id,
  204. </if>
  205. </trim>
  206. <trim prefix="values (" suffix=")" suffixOverrides=",">
  207. <if test="unionId !=null">
  208. #{unionId},
  209. </if>
  210. <if test="couponId !=null">
  211. #{couponId},
  212. </if>
  213. <if test="couponNo !=null">
  214. #{couponNo},
  215. </if>
  216. <if test="getCouponOrigin !=null">
  217. #{getCouponOrigin},
  218. </if>
  219. <if test="couponIsUsed !=null">
  220. #{couponIsUsed},
  221. </if>
  222. <if test="couponIsEffective !=null">
  223. #{couponIsEffective},
  224. </if>
  225. <if test="grantCouponShop !=null">
  226. #{grantCouponShop},
  227. </if>
  228. <if test="getCouponTime !=null">
  229. #{getCouponTime},
  230. </if>
  231. <if test="grantCouponPerson !=null">
  232. #{grantCouponPerson},
  233. </if>
  234. <if test="stationId !=null">
  235. #{stationId},
  236. </if>
  237. </trim>
  238. </insert>
  239. </mapper>