mitao
2024-06-06 3d2b51ea4520533de5e78f88dddf5b5c7dce4247
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sinata.modular.system.dao.MyUserCouponOrderMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.sinata.modular.system.model.MyUserCouponOrder">
        <id column="id" property="id"/>
        <result column="order_no" property="orderNo"/>
        <result column="coupon_id" property="couponId"/>
        <result column="user_coupon_id" property="userCouponId"/>
        <result column="user_id" property="userId"/>
        <result column="pay_status" property="payStatus"/>
        <result column="create_time" property="createTime"/>
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, order_no, coupon_id, user_coupon_id, user_id, pay_status, create_time
    </sql>
 
    <select id="getUserOrderList" resultType="java.util.Map">
        SELECT
            co.create_time,co.order_no,mc.`name` couponName,mc.amount,mc.price,
            mu.nick_name,mu.phone,co.pay_status,muc.is_use
        FROM
            `my_user_coupon_order` co
            LEFT JOIN mem_user mu on mu.id = co.user_id
            LEFT JOIN my_coupon mc on mc.id = co.coupon_id
            LEFT JOIN my_user_coupon muc on muc.id = co.user_coupon_id
        <where>
            <if test="beginTime != null and beginTime != ''">
                <![CDATA[ AND co.create_time >= CONCAT(#{beginTime},' 00:00:00')  ]]>
            </if>
            <if test="endTime != null and endTime != ''">
                <![CDATA[ AND co.create_time <= CONCAT(#{endTime},' 23:59:59')  ]]>
            </if>
            <if test="orderNo != null and orderNo != ''">
                and co.order_no LIKE CONCAT('%',#{orderNo},'%')
            </if>
            <if test="userName != null and userName != ''">
                and mu.nick_name LIKE CONCAT('%',#{userName},'%')
            </if>
            <if test="phone != null and phone != ''">
                and mu.phone LIKE CONCAT('%',#{phone},'%')
            </if>
            <if test="couponName != null and couponName != ''">
                and mc.name LIKE CONCAT('%',#{couponName},'%')
            </if>
            <if test="state != null and state != 4">
                and co.pay_status  = #{state}
            </if>
            <if test="state != null and state == 4">
                and muc.is_use = 1
            </if>
        </where>
        order by co.create_time desc
    </select>
 
</mapper>