Pu Zhibing
2025-04-22 7feb722a12e26f5572c7df9ccc1ce8c1e26b9f94
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml
@@ -262,6 +262,91 @@
        </if>
    </select>
    <select id="paymentOrderStatisticsList" resultType="map">
        select
            a.id,
            b.code as paymentCode,
            a.orderNum,
            c.phone as userPhone,
            b.amount,
            d.phone as driverPhone,
            e.name as company,
            f.money as income,
            DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
            DATE_FORMAT(b.insertTime, '%Y-%m-%d %H:%i:%s') as paymentTime
        from t_order_taxi a
        left join t_payment_record b on (a.id = b.orderId and b.orderType = 2 and b.state = 2)
        left join t_user c on (a.userId = c.id)
        left join t_driver d on (a.driverId = d.id)
        left join t_company e on (d.companyId = e.id)
        left join t_pub_transaction_details f on (a.id = f.orderId and f.orderType = 2 and f.userType = 2)
        where a.state in (8, 9) and a.isDelete = 1 and a.payManner = 1
        <if test="null != paymentCode and '' != paymentCode">
            and b.code like CONCAT('%', #{paymentCode}, '%')
        </if>
        <if test="null != orderCode and '' != orderCode">
            and a.orderNum like CONCAT('%', #{orderCode}, '%')
        </if>
        <if test="null != userPhone and '' != userPhone">
            and c.phone like CONCAT('%', #{userPhone}, '%')
        </if>
        <if test="null != driverPhone and '' != driverPhone">
            and d.phone like CONCAT('%', #{driverPhone}, '%')
        </if>
        <if test="null != createTimeStart and '' != createTimeStart and null != createTimeEnd and '' != createTimeEnd">
            and a.insertTime between #{createTimeStart} and #{createTimeEnd}
        </if>
        <if test="null != paymentTimeStart and '' != paymentTimeStart and null != paymentTimeEnd and '' != paymentTimeEnd">
            and b.insertTime between #{paymentTimeStart} and #{paymentTimeEnd}
        </if>
        order by a.insertTime desc
    </select>
    <select id="offlineOrderStatisticsList" resultType="map">
        select
        a.id,
        a.orderNum,
        c.phone as userPhone,
        d.phone as driverPhone,
        e.name as company,
        f.money as income,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
        a.orderSource,
        a.oldPeople,
        a.payManner
        from t_order_taxi a
        left join t_user c on (a.userId = c.id)
        left join t_driver d on (a.driverId = d.id)
        left join t_company e on (d.companyId = e.id)
        left join t_pub_transaction_details f on (a.id = f.orderId and f.orderType = 2 and f.userType = 2)
        where a.state in (8, 9) and a.isDelete = 1 and (a.orderSource in (5, 6) or a.oldPeople = 1 or a.payManner = 2)
        <if test="null != orderCode and '' != orderCode">
            and a.orderNum like CONCAT('%', #{orderCode}, '%')
        </if>
        <if test="null != userPhone and '' != userPhone">
            and c.phone like CONCAT('%', #{userPhone}, '%')
        </if>
        <if test="null != driverPhone and '' != driverPhone">
            and d.phone like CONCAT('%', #{driverPhone}, '%')
        </if>
        <if test="null != createTimeStart and '' != createTimeStart and null != createTimeEnd and '' != createTimeEnd">
            and a.insertTime between #{createTimeStart} and #{createTimeEnd}
        </if>
        <if test="null != orderSource and 1 == orderSource">
            and a.orderSource = 6
        </if>
        <if test="null != orderSource and 2 == orderSource">
            and a.oldPeople = 1
        </if>
        <if test="null != orderSource and 3 == orderSource">
            and a.payManner = 2
        </if>
        <if test="null != orderSource and 4 == orderSource">
            and a.orderSource = 5
        </if>
        order by a.insertTime desc
    </select>
</mapper>