Pu Zhibing
2024-12-13 73b750200f25df08aa64124da49e7461f9de6653
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
132
133
134
135
136
137
138
139
140
141
<?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.stylefeng.guns.modular.system.dao.OrderPrivateCarMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.OrderPrivateCar">
        <id column="id" property="id"/>
        <result column="type" property="type"/>
        <result column="userId" property="userId"/>
        <result column="serverCarModelId" property="serverCarModelId"/>
        <result column="driverId" property="driverId"/>
        <result column="carId" property="carId"/>
        <result column="orderNum" property="orderNum"/>
        <result column="placementLon" property="placementLon"/>
        <result column="placementLat" property="placementLat"/>
        <result column="placementAddress" property="placementAddress"/>
        <result column="startLon" property="startLon"/>
        <result column="startLat" property="startLat"/>
        <result column="startAddress" property="startAddress"/>
        <result column="endLon" property="endLon"/>
        <result column="endLat" property="endLat"/>
        <result column="endAddress" property="endAddress"/>
        <result column="boardingLon" property="boardingLon"/>
        <result column="boardingLat" property="boardingLat"/>
        <result column="boardingAddress" property="boardingAddress"/>
        <result column="boardingTime" property="boardingTime"/>
        <result column="getoffLon" property="getoffLon"/>
        <result column="getoffLat" property="getoffLat"/>
        <result column="getoffAddress" property="getoffAddress"/>
        <result column="getoffTime" property="getoffTime"/>
        <result column="mileage" property="mileage"/>
        <result column="payManner" property="payManner"/>
        <result column="payType" property="payType"/>
        <result column="orderMoney" property="orderMoney"/>
        <result column="startMileage" property="startMileage"/>
        <result column="startMoney" property="startMoney"/>
        <result column="mileageKilometers" property="mileageKilometers"/>
        <result column="mileageMoney" property="mileageMoney"/>
        <result column="duration" property="duration"/>
        <result column="durationMoney" property="durationMoney"/>
        <result column="wait" property="wait"/>
        <result column="waitMoney" property="waitMoney"/>
        <result column="longDistance" property="longDistance"/>
        <result column="longDistanceMoney" property="longDistanceMoney"/>
        <result column="parkMoney" property="parkMoney"/>
        <result column="roadTollMoney" property="roadTollMoney"/>
        <result column="redPacketMoney" property="redPacketMoney"/>
        <result column="couponMoney" property="couponMoney"/>
        <result column="redPacketId" property="redPacketId"/>
        <result column="couponId" property="couponId"/>
        <result column="discount" property="discount"/>
        <result column="discountMoney" property="discountMoney"/>
        <result column="activityId" property="activityId"/>
        <result column="companyId" property="companyId"/>
        <result column="payMoney" property="payMoney"/>
        <result column="substitute" property="substitute"/>
        <result column="passengers" property="passengers"/>
        <result column="passengersPhone" property="passengersPhone"/>
        <result column="state" property="state"/>
        <result column="insertTime" property="insertTime"/>
        <result column="travelTime" property="travelTime"/>
        <result column="snatchOrderTime" property="snatchOrderTime"/>
        <result column="setOutTime" property="setOutTime"/>
        <result column="arriveTime" property="arriveTime"/>
        <result column="startServiceTime" property="startServiceTime"/>
        <result column="endServiceTime" property="endServiceTime"/>
        <result column="orderType" property="orderType"/>
        <result column="orderSource" property="orderSource"/>
        <result column="invoiceId" property="invoiceId"/>
        <result column="isReassign" property="isReassign"/>
        <result column="reassignNotice" property="reassignNotice"/>
        <result column="trackId" property="trackId"/>
        <result column="isDelete" property="isDelete"/>
        <result column="oldState" property="oldState"/>
        <result column="telX" property="telX"/>
        <result column="bindId" property="bindId"/>
    </resultMap>
 
 
 
    <select id="queryOrderList" resultType="map">
        select
        a.id as id,
        DATE_FORMAT(a.insertTime, '%Y年%m月%d日%H:%i') as orderTime,
        CONCAT(b.nickName, '-', b.phone) as `user`,
        a.startAddress as startAddress,
        a.endAddress as endAddress,
        a.state as state
        from t_order_private_car a
        left join t_user b on (a.userId = b.id)
        left join t_driver c on (a.driverId = c.id)
        left join t_car d on (a.carId = d.id)
        where a.isDelete = 1 and a.companyId = #{companyId}
        <if test="null != search and '' != search">
            and (a.passengersPhone = #{search} or c.name like CONCAT('%', #{search}, '%') or c.phone like CONCAT('%', #{search}, '%') or d.carLicensePlate like CONCAT('%', #{search}, '%'))
        </if>
        <if test="null != orderSource">
            and a.orderSource in
            <foreach collection="orderSource" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        <if test="null != state">
            and a.state in
            <foreach collection="state" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        order by a.insertTime desc
        <if test="null != pageNum and null != size">
            limit #{pageNum}, #{size}
        </if>
    </select>
 
 
 
    <select id="queryOrderInfo" resultType="map">
        select
        a.id as id,
        DATE_FORMAT(a.insertTime, '%Y/%m/%d/%H:%i') as orderTime,
        a.orderNum as orderNumber,
        DATE_FORMAT(a.travelTime, '%Y/%m/%d/%H:%i') as travelTime,
        CONCAT(b.nickName, '-', b.phone) as `user`,
        a.startAddress as startAddress,
        a.endAddress as endAddress,
        c.`name` as serverCarModel,
        a.orderMoney as orderMoney,
        CONCAT(d.`name`, '-',d.phone) as driver,
        e.carLicensePlate as car,
        CONCAT(g.`name`, '-',g.phone) as originalDriver,
        a.state as state
        from t_order_private_car a
        left join t_user b on (a.userId = b.id)
        left join t_server_carmodel c on (a.serverCarModelId = c.id)
        left join t_driver d on (a.driverId = d.id)
        left join t_car e on (a.carId = e.id)
        left join (select * from t_reassign where orderType = 1 and orderId = #{orderId} order by insertTime desc limit 0, 1) as f on (a.id = f.orderId and f.orderType = 1)
        left join t_driver g on (f.originalDriverId = g.id)
        where a.id = #{orderId}
    </select>
</mapper>