CouponReceiveMapper.xml 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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.ylx.massage.mapper.CouponReceiveMapper">
  4. <resultMap id="CouponReceiveVoMap" type="com.ylx.massage.domain.vo.CouponReceiveVo">
  5. <result property="id" column="id" jdbcType="VARCHAR"/>
  6. <result property="openid" column="receive_open_id" jdbcType="VARCHAR"/>
  7. <result property="couponId" column="coupon_id" jdbcType="VARCHAR"/>
  8. <result property="couponName" column="coupon_name" jdbcType="VARCHAR"/>
  9. <result property="couponType" column="coupon_type" jdbcType="INTEGER"/>
  10. <result property="useType" column="use_type" jdbcType="VARCHAR"/>
  11. <result property="validStartTime" column="valid_start_time" jdbcType="TIMESTAMP"/>
  12. <result property="expirationTime" column="expiration_time" jdbcType="TIMESTAMP"/>
  13. <result property="ruleMinSpendAmount" column="rule_min_spend_amount" jdbcType="DECIMAL"/>
  14. <result property="ruleDiscountRate" column="rule_discount_rate" jdbcType="DECIMAL"/>
  15. <result property="ruleDiscountCapAmount" column="rule_discount_cap_amount" jdbcType="DECIMAL"/>
  16. <result property="ruleReductionAmount" column="rule_reduction_amount" jdbcType="DECIMAL"/>
  17. </resultMap>
  18. <sql id="selectCouponReceiveVo">
  19. a.id, a.receive_open_id, a.coupon_id, a.valid_start_time,a.expiration_time, a.create_time, a.update_time, a.is_delete,a.use_state,
  20. b.coupon_name, b.image_url,b.coupon_type,b.use_type,b.rule_min_spend_amount,b.rule_discount_rate,b.rule_discount_cap_amount,b.rule_reduction_amount,
  21. b.related_type,b.related_id,b.related_name
  22. </sql>
  23. <!-- 批量插入 -->
  24. <insert id="insertBatch" keyProperty="id">
  25. insert into coupon_receive(id,openid,coupon_id,expiration_time,dept_id,dept_name)
  26. values
  27. <foreach collection="entities" item="entity" separator=",">
  28. (#{entity.id},#{entity.openid},#{entity.couponId},#{entity.expirationTime},#{entity.deptId},#{entity.deptName})
  29. </foreach>
  30. </insert>
  31. <!-- 批量插入或按主键更新 -->
  32. <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
  33. insert into coupon_receive(openid,coupon_id,expiration_time,dept_id,dept_name,create_time,update_time,is_delete)
  34. values
  35. <foreach collection="entities" item="entity" separator=",">
  36. (#{entity.openid},#{entity.couponId},#{entity.expirationTime},#{entity.deptId},#{entity.deptName},#{entity.createTime},#{entity.updateTime},#{entity.isDelete})
  37. </foreach>
  38. on duplicate key update
  39. openid = values(openid),
  40. coupon_id = values(coupon_id),
  41. expiration_time = values(expiration_time),
  42. dept_id = values(dept_id),
  43. dept_name = values(dept_name),
  44. create_time = values(create_time),
  45. update_time = values(update_time),
  46. is_delete = values(is_delete)
  47. </insert>
  48. <!-- 查询我的待使用的优惠券 -->
  49. <!--<select id="getByOpenId" resultMap="CouponReceiveVoMap">
  50. SELECT
  51. <include refid="selectCouponReceiveVo"/>
  52. FROM coupon_receive a
  53. LEFT JOIN coupon b ON a.coupon_id = b.id
  54. WHERE a.is_delete = 0
  55. AND b.is_delete = 0
  56. AND a.use_state = 0
  57. and a.expiration_time &gt;= now()
  58. and a.openid = #{openid}
  59. </select>-->
  60. <select id="getByOpenId" resultMap="CouponReceiveVoMap">
  61. SELECT
  62. <include refid="selectCouponReceiveVo"/>
  63. FROM coupon_receive a
  64. LEFT JOIN user_coupon_relation b ON a.coupon_id = b.coupon_id
  65. WHERE a.is_delete = 0
  66. AND a.use_state = 0
  67. and a.receive_open_id = #{openid}
  68. </select>
  69. </mapper>