LotOrderMapper.xml 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.poyee.mapper.LotOrderMapper">
  6. <resultMap id="lotOrderListMap" type="com.poyee.dto.LotOrderListDTO">
  7. <id column="id" property="id"/>
  8. <result column="order_no" property="orderNo"/>
  9. <result column="auction_name" property="auctionName"/>
  10. <result column="lot_name" property="lotName"/>
  11. <result column="status" property="status"/>
  12. <result column="payment_amount" property="paymentAmount"/>
  13. <result column="create_time" property="createTime"/>
  14. <result column="pay_time" property="payTime"/>
  15. <association property="buyerUserInfo" javaType="com.poyee.dto.LotOrderListDTO$BuyerUserInfo">
  16. <result column="buyer_nickname" property="nickname"/>
  17. <result column="buyer_phone" property="phone"/>
  18. </association>
  19. <association property="buyerShippingAddress" javaType="com.poyee.dto.LotOrderListDTO$BuyerShippingAddressInfo">
  20. <result column="shipping_link_name" property="linkName"/>
  21. <result column="shipping_phone" property="phone"/>
  22. <result column="shipping_address" property="address"/>
  23. </association>
  24. <association property="logisticsInfo" javaType="com.poyee.dto.LotOrderListDTO$LogisticsInfo">
  25. <result column="logistics_name" property="logisticsName"/>
  26. <result column="tracking_no" property="trackingNo"/>
  27. </association>
  28. </resultMap>
  29. <resultMap id="lotOrderDetailMap" type="com.poyee.dto.LotOrderDetailDTO">
  30. <id column="order_id" property="orderId"/>
  31. <result column="auction_name" property="auctionName"/>
  32. <result column="auction_start_time" property="auctionStartTime"/>
  33. <result column="auction_end_time" property="auctionEndTime"/>
  34. <result column="auction_desc" property="auctionDesc"/>
  35. <result column="lot_name" property="lotName"/>
  36. <result column="lot_start_time" property="lotStartTime"/>
  37. <result column="lot_end_time" property="lotEndTime"/>
  38. <result column="margin_deposit" property="marginDeposit"/>
  39. <result column="service_fee" property="serviceFee"/>
  40. <result column="order_no" property="orderNo"/>
  41. <result column="transaction_amount" property="transactionAmount"/>
  42. <result column="payment_time" property="paymentTime"/>
  43. <result column="nickname" property="nickname"/>
  44. <result column="phone" property="phone"/>
  45. <result column="buyer_name" property="buyerName"/>
  46. <result column="buyer_phone" property="buyerPhone"/>
  47. <result column="buyer_address" property="buyerAddress"/>
  48. <result column="order_status" property="orderStatus"/>
  49. </resultMap>
  50. <sql id="listSelect">
  51. select
  52. lo.id,
  53. lo.order_no,
  54. lo.auction_name,
  55. lo.lot_name,
  56. lo.status,
  57. lo.payment_amount,
  58. lo.create_time,
  59. lo.pay_time,
  60. abu.nickname as buyer_nickname,
  61. aa.phone as buyer_phone,
  62. lo.shipping_address_likename as shipping_link_name,
  63. lo.shipping_address_phone as shipping_phone,
  64. lo.shipping_address,
  65. goe.logistics_company as logistics_name,
  66. goe.courier_no tracking_no
  67. from lot_order_info lo
  68. left join app_base_user abu on abu.id = lo.user_id
  69. left join app_account aa on aa.account = abu.username and aa.status = 0
  70. left join group_order_express goe on lo.order_no=goe.order_no
  71. </sql>
  72. <sql id="detailSelect">
  73. select lo.auction_name as auction_name,
  74. lo.lot_name as lot_name,
  75. lo.service_expense as service_fee,
  76. lo.id as order_id,
  77. lo.order_no,
  78. lo.payment_amount as transaction_amount,
  79. lo.pay_time as payment_time,
  80. abu.nickname,
  81. aa.phone,
  82. lo.shipping_address_likename as buyer_name,
  83. lo.shipping_address_phone as buyer_phone,
  84. lo.shipping_address as buyer_address,
  85. l.start_time as lot_start_time,
  86. l.end_time as lot_end_time,
  87. auc.start_time as auction_start_time,
  88. auc.end_time as auction_end_time,
  89. auc.description as auction_desc,
  90. coalesce(l.deposit, auc.deposit) as margin_deposit,
  91. lo.status as order_status
  92. from lot_order_info lo
  93. left join app_base_user abu on abu.id = lo.user_id
  94. left join app_account aa on aa.account = abu.username and aa.status = 0
  95. left join lot l on lo.lot_id = l.id
  96. left join auction auc on auc.id = l.auction_id
  97. </sql>
  98. <select id="selectList" resultMap="lotOrderListMap">
  99. <include refid="listSelect"/>
  100. <where>
  101. <if test="lotOrder.orderNo != null and lotOrder.orderNo != ''">
  102. and lo.order_no = #{lotOrder.orderNo}
  103. </if>
  104. <if test="lotOrder.status != null">
  105. and lo.status = #{lotOrder.status}
  106. </if>
  107. <if test="lotOrder.merchantId != null">
  108. and lo.merchant_id = #{lotOrder.merchantId}
  109. </if>
  110. <if test="lotOrder.userId != null">
  111. and lo.user_id= #{lotOrder.userId}
  112. </if>
  113. <if test="lotOrder.lotName!=null and lotOrder.lotName!=''">
  114. and lo.lot_name like concat('%', #{lotOrder.lotName}, '%')
  115. </if>
  116. <if test="lotOrder.auctionName !=null and lotOrder.auctionName!=''">
  117. and lo.auction_name like concat('%', #{lotOrder.auctionName}, '%')
  118. </if>
  119. <if test="lotOrder.lotId !=null">
  120. and lo.lot_id = #{lotOrder.lotId}
  121. </if>
  122. </where>
  123. order by lo.create_time desc
  124. </select>
  125. <select id="selectDetail" resultMap="lotOrderDetailMap">
  126. <include refid="detailSelect"/>
  127. <where>
  128. and lo.order_no = #{orderNo}
  129. <if test="merchantId != null">
  130. and lo.merchant_id = #{merchantId}
  131. </if>
  132. </where>
  133. </select>
  134. <select id="selectByOrderNo" resultType="com.poyee.domain.LotOrder">
  135. select id, order_no, status
  136. from lot_order_info
  137. where order_no = #{orderNo}
  138. limit 1
  139. </select>
  140. <update id="updateStatusByOrderNo">
  141. update lot_order_info
  142. set status = #{targetStatus}
  143. where order_no = #{orderNo}
  144. and status = #{sourceStatus}
  145. </update>
  146. </mapper>