Helius
2021-12-01 c402154474b5bf897ec9c59155fb4d85e5871ef4
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?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.xzx.gc.shop.mapper.JhyOrderMapper">
 
    <select id="queryOrderList" resultType="com.xzx.gc.shop.vo.QueryJhyOrderListVo">
        SELECT
        a.id id,
        a.order_no orderNo,
        a.area area,
        a.address address,
        date_format(reserve_date,'%Y-%m-%d') reserveDate,
        a.reserve_time reserveTime,
        a.status status,
        a.remark remark,
        a.unit_name unitName,
        a.house_number houseNumber,
        a.username name,
        b.mobile_phone mobilePhone,
        d.mobile jhyMobilePhone,
               (select ifnull(sum(score),0) from xzx_jhy_order_items where order_id = a.id) totalPrice,
                (select ifnull(sum(weight),0) from xzx_jhy_order_items where order_id = a.id) totalWeight,
        d.username username
        FROM
        xzx_jhy_order a
        inner join xzx_user_info b on b.user_id = a.user_id
        left join xzx_jhy_info d on d.user_id = a.jhy_id
        WHERE 1 = 1
        <if test="record.orderNo != null and record.orderNo != ''">
            and a.order_no like concat('%',#{record.orderNo},'%')
        </if>
        <if test="record.status.size > 0">
            and a.status in
            <foreach collection="record.status" item="sta" open="(" separator="," close=")">
                #{sta}
            </foreach>
        </if>
        <if test="record.jwyName != null and record.jwyName != ''">
            and (d.username like concat('%',#{record.jwyName},'%')
                 or d.mobile like concat('%',#{record.jwyName},'%'))
        </if>
        <if test="record.account != null and record.account != ''">
            and ( a.username like concat('%',#{record.account},'%')
                      or b.mobile_phone like concat('%',#{record.accountPhone},'%') )
        </if>
        <if test="record.reserveTimeStart != null">
            and a.reserve_date >= #{record.reserveTimeStart}
        </if>
 
        <if test="record.reserveTimeEnd != null">
            and a.reserve_date &lt;= #{record.reserveTimeEnd}
        </if>
        order by
        <if test="record.namePx != null and record.namePx != '' and record.namePx == 1">
            a.CREATED_TIME
        </if>
        <if test="record.namePx != null and record.namePx != '' and record.namePx == 2">
            a.username
        </if>
 
        <if test="record.typePx != null and record.typePx != '' and record.typePx == 1">
            asc
        </if>
        <if test="record.typePx != null and record.typePx != '' and record.typePx == 2">
            desc
        </if>
    </select>
 
 
 
    <select id="viewJhyOrder" resultType="com.xzx.gc.shop.vo.ViewJhyOrderVo">
        SELECT
        a.id id,
        a.order_no orderNo,
        b.nick_name nickName,
        b.mobile_phone mobilePhone,
        a.area area,
        a.address address,
        a.unit_name unitName,
        a.house_number houseNumber,
        date_format(a.reserve_date,'%Y-%m-%d') reserveDate,
        a.reserve_time reserveTime,
        a.status status,
        d.username username,
        d.mobile mobile,
        date_format(a.receiving_time,'%Y-%m-%d %H:%i:%S') receivingTime,
        a.remark remark,
        a. COMMENT comments,
        a.score score,
        a.is_anonymous isAnonymous
        FROM
        xzx_jhy_order a
        left join xzx_user_info b on b.user_id = a.user_id
        left join xzx_jhy_info d on d.user_id = a.jhy_id
        WHERE a.id=#{id}
    </select>
 
    <select id="selectJhyOrderTitleStatistics" resultType="java.util.Map">
        select d.title title, sum(b.weight) weight
        from xzx_jhy_order a
           inner join xzx_jhy_order_items b on a.id=b.order_id
           inner join xzx_sys_environmental_info c on b.item_type=c.id
           inner join xzx_sys_environmental_info d on c.parent_id = d.id
        where a.status in (3, 4)
        <if test="userId != null and userId != ''">
            and a.user_id=#{userId}
        </if>
        group by d.title
    </select>
 
    <select id="selectJhyOrderCnt" resultType="java.lang.Integer">
        select IFNULL(count(1),0) from xzx_jhy_order
        where status in (3, 4)
        <if test="userId != null and userId != ''">
            and user_id=#{userId}
        </if>
    </select>
 
    <select id="selectTotalScoreHasGet" resultType="java.math.BigDecimal">
        select IFNULL(SUM(b.score), 0) from xzx_jhy_order a
        inner join xzx_jhy_order_items b on a.id=b.order_id
        where a.user_id=#{userId}
    </select>
 
    <select id="selectJhyInfoByUserId" resultType="com.xzx.gc.entity.JhyInfo">
        select * from xzx_jhy_info where id = #{jhyId}
    </select>
 
    <select id="selectAddRessInfoByUserId" resultType="com.xzx.gc.entity.AddressInfo">
        select * from xzx_user_address_info where user_id = #{userId}
    </select>
</mapper>