liujie
2026-09-14 82a8bc62d5b9d5d607f6952329952b17eda2f0a0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.tourguide.modules.order.mapper;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tourguide.modules.order.entity.TourOrderRefund;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Param;
 
import java.util.Collection;
import java.util.List;
 
public interface TourOrderRefundMapper extends BaseMapper<TourOrderRefund> {
    @Select("SELECT * FROM tour_order_refund WHERE order_id = #{orderId} AND deleted = 0 " +
            "ORDER BY COALESCE(refund_time, created_at) DESC, id DESC")
    List<TourOrderRefund> selectByOrderId(Long orderId);
 
    @Select({
            "<script>",
            "SELECT * FROM tour_order_refund WHERE deleted = 0 AND order_id IN",
            "<foreach collection='orderIds' item='orderId' open='(' separator=',' close=')'>#{orderId}</foreach>",
            "ORDER BY COALESCE(refund_time, created_at) DESC, id DESC",
            "</script>"
    })
    List<TourOrderRefund> selectByOrderIds(@Param("orderIds") Collection<Long> orderIds);
 
    @Select("SELECT * FROM tour_order_refund WHERE refund_order_no = #{refundOrderNo} " +
            "AND deleted = 0 LIMIT 1 FOR UPDATE")
    TourOrderRefund selectByRefundOrderNoForUpdate(String refundOrderNo);
}