Pu Zhibing
2025-03-28 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
@@ -1,72 +1,7 @@
<?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.smallLogistics.dao.OrderLogisticsMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics">
        <id column="id" property="id"/>
        <result column="type" property="type"/>
        <result column="userId" property="userId"/>
        <result column="driverId" property="driverId"/>
        <result column="carId" property="carId"/>
        <result column="orderNum" property="orderNum"/>
        <result column="cargoType" property="cargoType"/>
        <result column="urgent" property="urgent"/>
        <result column="cargoNumber" property="cargoNumber"/>
        <result column="remark" property="remark"/>
        <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="recipient" property="recipient"/>
        <result column="recipientPhone" property="recipientPhone"/>
        <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="travelMoney" property="travelMoney"/>
        <result column="tipMoney" property="tipMoney"/>
        <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="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="orderSource" property="orderSource"/>
        <result column="invoiceId" property="invoiceId"/>
        <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"/>
        <result column="pickUpCode" property="pickUpCode"/>
        <result column="isReassign" property="isReassign"/>
        <result column="reassignNotice" property="reassignNotice"/>
    </resultMap>
@@ -74,8 +9,8 @@
        select
        a.id as id,
        a.state as orderState,
        if(a.type = 4, '同城小件物流订单', '跨城小件物流订单') as orderName,
        DATE_FORMAT(a.travelTime, '%m月%d日 %H:%i') as travelTime,
        if(#{language} = 1, '包裹', if(#{language} = 2, 'Delivery', 'Livraison')) as orderName,
        DATE_FORMAT(a.travelTime, '%m-%d %H:%i') as travelTime,
        a.startAddress as startAddress,
        a.endAddress as endAddress,
        a.startLon as startLon,
@@ -91,7 +26,8 @@
        a.urgent as urgent,
        a.tipMoney as tipMoney,
        a.remark as remark,
        a.isReassign as isReassign
        a.isReassign as isReassign,
        a.tripId
        from t_order_logistics a
        left join t_user b on (a.userId = b.id)
        where a.id = #{orderId}
@@ -104,7 +40,7 @@
        a.userId as userId,
        a.driverId as driverId,
        a.state as orderState,
        DATE_FORMAT(a.travelTime, '%m月%d日 %H:%i') as travelTime_,
        DATE_FORMAT(a.travelTime, '%m-%d %H:%i') as travelTime_,
        DATE_FORMAT(a.travelTime, '%Y-%m-%d %H:%i:%s') as travelTime,
        DATE_FORMAT(a.arriveTime, '%Y-%m-%d %H:%i:%s') as arriveTime,
        a.startAddress as startAddress,
@@ -115,8 +51,10 @@
        a.endLat as endLat,
        a.orderMoney as orderMoney,
        a.payManner as payManner,
        a.payMoney as payMoney,
        a.trackId as trackId,
      b.nickName as userName,
        b.phone as userPhone,
        a.recipient as nickName,
        a.recipientPhone as phone,
      a.urgent as urgent,
@@ -128,8 +66,19 @@
        c.reason as cancelReason,
        c.remark as cancelRemark,
        c.money as cancelPayMoney,
        if(c.userType = 1, '用户取消', '平台取消') as cancelUser,
        (select isSpecialCar from t_sys_reformist where companyId = a.companyId) as reassign
        if(c.userType = 1, '用户', '平台') as cancelUser,
        (select isSpecialCar from t_sys_reformist where companyId = a.companyId) as reassign,
        a.driverPay,
        a.isFrozen,
        a.priceDifference,
        a.tripId,
        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)
@@ -138,22 +87,44 @@
    <select id="queryOrderList" resultType="map">
        select
        id as id,
        type as type,
        if(type = 4, '同城小件物流订单', '跨城小件物流订单') 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(cargoType = 1, '普通货物 x ', '贵重货物 x '), cargoNumber) as cargoNumber,
        driverId as driverId
        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)
        <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>
@@ -162,29 +133,29 @@
        select
        id as id,
        type as type,
        if(type = 4, '同城小件物流订单', '跨城小件物流订单') as `name`,
        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(cargoType = 1, '普通货物 x ', '贵重货物 x '), cargoNumber) as cargoNumber,
        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,
        orderMoney as orderMoney,
        payManner as payManner,
        UNIX_TIMESTAMP(travelTime) as travelTime,
        remark as remark
        remark as remark,
        driverPay,
        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>