UserOrderRefundMapper.xml 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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.yonge.cooleshow.biz.dal.dao.UserOrderRefundDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.UserOrderRefund">
  5. <result column="id_" property="id" />
  6. <result column="user_id_" property="userId" />
  7. <result column="order_id_" property="orderId" />
  8. <result column="order_no_" property="orderNo" />
  9. <result column="oredr_detil_ids_" property="oredrDetilIds" />
  10. <result column="status_" property="status" />
  11. <result column="apply_amount_" property="applyAmount" />
  12. <result column="actual_amount_" property="actualAmount" />
  13. <result column="reason_" property="reason" />
  14. <result column="operate_id_" property="operateId" />
  15. <result column="operate_reason_" property="operateReason" />
  16. <result column="create_time_" property="createTime" />
  17. <result column="update_time_" property="updateTime" />
  18. </resultMap>
  19. <!-- 表字段 -->
  20. <sql id="baseColumns">
  21. t.id_ as id
  22. , t.user_id_ as userId
  23. , t.order_id_ as orderId
  24. , t.order_no_ as orderNo
  25. , t.oredr_detil_ids_ as oredrDetilIds
  26. , t.status_ as status
  27. , t.apply_amount_ as applyAmount
  28. , t.actual_amount_ as actualAmount
  29. , t.reason_ as reason
  30. , t.operate_id_ as operateId
  31. , t.operate_reason_ as operateReason
  32. , t.create_time_ as createTime
  33. , t.update_time_ as updateTime
  34. </sql>
  35. <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderRefundVo">
  36. SELECT
  37. <include refid="baseColumns"/>
  38. FROM user_order_refund t
  39. where t.id_ = #{id}
  40. <if test="userId != null">
  41. and t.user_id_ = #{userId}
  42. </if>
  43. </select>
  44. <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderRefundVo">
  45. SELECT
  46. <include refid="baseColumns" />,
  47. o.order_name_ as orderName,
  48. o.order_type_ as orderType
  49. FROM user_order_refund t
  50. left join user_order o on t.order_no_ = o.order_no_
  51. <where>
  52. <if test="param.userId !=null">
  53. AND t.user_id_ = #{param.userId}
  54. </if>
  55. <if test="param.startTime !=null">
  56. <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
  57. </if>
  58. <if test="param.endTime !=null">
  59. <![CDATA[AND t.create_time_ < #{param.endTime} ]]>
  60. </if>
  61. </where>
  62. order by t.create_time_ desc
  63. </select>
  64. <select id="selectOrderRefundDetils" resultType="com.yonge.cooleshow.biz.dal.entity.UserOrderDetail">
  65. select d.* from user_order o
  66. left join user_order_detail d on o.order_no_ = d.order_no_
  67. where o.id_ = #{orderId}
  68. and o.status_ = 'PAID'
  69. and not exists (
  70. select 1 from user_order_refund r
  71. left join user_order_refund_bill bi on r.id_ = bi.refund_id_
  72. where r.order_no_ = o.order_no_ and (bi.status_ in ('pending','succeeded') or r.status_ in ('DOING','PASS'))
  73. and FIND_IN_SET(d.id_,r.oredr_detil_ids_)
  74. )
  75. </select>
  76. <select id="getByOrderNo" resultMap="BaseResultMap">
  77. SELECT <include refid="baseColumns" /> FROM user_order_refund t
  78. WHERE t.order_no_ = #{orderNo} and
  79. <foreach collection="orderDetailIds" item="item" open="(" separator=" or " close=")">
  80. FIND_IN_SET(#{item}, t.oredr_detil_ids_)
  81. </foreach>
  82. </select>
  83. </mapper>