无关风月
2024-07-26 79d97c39f1d118824f91467feb9f4a55717fd0c0
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
@@ -72,7 +72,13 @@
        a.isFrozen,
        a.priceDifference,
        a.tripId,
        DATE_FORMAT(a.snatchOrderTime, '%Y-%m-%d %H:%i:%s') as snatchOrderTime
        a.companyId,
        DATE_FORMAT(a.snatchOrderTime, '%Y-%m-%d %H:%i:%s') as snatchOrderTime,
        a.cancelMidway,
        a.remark,
        DATE_FORMAT(a.estimateArriveTime, '%Y-%m-%d %H:%i:%s') as estimateArriveTime,
        a.estimateArriveMileage,
        1 as orderType
        from t_order_logistics a
        left join t_user b on (a.userId = b.id)
        left join t_order_cancel c on (a.id = c.orderId and c.orderType = a.type and c.state = 2)
@@ -81,23 +87,44 @@
    <select id="queryOrderList" resultType="map">
        select
        id as id,
        type as type,
        if(#{language} = 1, '包裹', if(#{language} = 2, 'Delivery', 'Livraison')) as `name`,
        DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i:%s') as `time`,
        startAddress as startAddress,
        endAddress as endAddress,
        state as state,
        CONCAT(recipient, '-', recipientPhone) as `user`,
        CONCAT(if(#{language} = 1, if(cargoType = 1, '普通货物 x ', '贵重货物 x '), if(#{language} = 2, if(cargoType = 1, 'General cargo x ', 'Valuable cargo x '), if(cargoType = 1, 'Pour marchandises générales x ', 'Marchandises de valeur x '))), cargoNumber) as cargoNumber,
        driverId as driverId,
        isFrozen
        from t_order_logistics where 1 = 1
        <if test="null != driverId">
            and driverId = #{driverId}
        <if test="1 == state">
            select
            id as id,
            type as type,
            if(#{language} = 1, '包裹', if(#{language} = 2, 'Delivery', 'Livraison')) as `name`,
            DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i:%s') as `time`,
            startAddress as startAddress,
            endAddress as endAddress,
            state as state,
            CONCAT(recipient, '-', recipientPhone) as `user`,
            CONCAT(if(#{language} = 1, if(cargoType = 1, '普通货物 x ', '贵重货物 x '), if(#{language} = 2, if(cargoType = 1, 'General cargo x ', 'Valuable cargo x '), if(cargoType = 1, 'Pour marchandises générales x ', 'Marchandises de valeur x '))), cargoNumber) as cargoNumber,
            driverId as driverId,
            isFrozen
            from t_order_logistics where 1 = 1
            <if test="null != driverId">
                and driverId = #{driverId}
            </if>
            and (state in (3, 4, 5, 6, 11)  or (state = 2 and (UNIX_TIMESTAMP(travelTime) - UNIX_TIMESTAMP(now())) &lt; 1800))
        </if>
        and state in (2, 3, 4, 5, 8, 11,12)
        <if test="2 == state">
            select
            id as id,
            type as type,
            if(#{language} = 1, '包裹', if(#{language} = 2, 'Delivery', 'Livraison')) as `name`,
            DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i:%s') as `time`,
            startAddress as startAddress,
            endAddress as endAddress,
            state as state,
            CONCAT(recipient, '-', recipientPhone) as `user`,
            CONCAT(if(#{language} = 1, if(cargoType = 1, '普通货物 x ', '贵重货物 x '), if(#{language} = 2, if(cargoType = 1, 'General cargo x ', 'Valuable cargo x '), if(cargoType = 1, 'Pour marchandises générales x ', 'Marchandises de valeur x '))), cargoNumber) as cargoNumber,
            driverId as driverId,
            isFrozen
            from t_order_logistics where 1 = 1
            <if test="null != driverId">
                and driverId = #{driverId}
            </if>
            and state = 2 and (UNIX_TIMESTAMP(travelTime) - UNIX_TIMESTAMP(now())) &gt;= 1800
        </if>
    </select>
@@ -118,19 +145,17 @@
        UNIX_TIMESTAMP(travelTime) as travelTime,
        remark as remark,
        driverPay,
        cancelMidway
        cancelMidway,
        isFrozen
        from t_order_logistics where driverId = #{uid}
        <if test="state == 1">
            and state not in (1, 7)
        </if>
        <if test="state == 2">
            and state = 8
            and state = 7
        </if>
        <if test="state == 3">
            and state = 10
        </if>
        <if test="state == 4">
            and state in (6, 9)
            and state in (8, 9)
        </if>
        order by insertTime desc
    </select>