puzhibing
2024-02-07 387f61d55a8e20bc772b026cba4f8c34dfce5665
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
@@ -65,6 +65,7 @@
        <result column="pickUpCode" property="pickUpCode"/>
        <result column="isReassign" property="isReassign"/>
        <result column="reassignNotice" property="reassignNotice"/>
        <result column="driverPay" property="driverPay"/>
    </resultMap>
@@ -150,14 +151,14 @@
        DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time,
        endAddress as endAddress,
        startAddress as startAddress,
        CONCAT((if(cargoType = 1, '普通小件', '贵重物品')), 'X', cargoNumber) as cargoType,
        CONCAT(if(#{language} = 1, if(cargoType = 1, '包裹', '贵重物品'), if(#{language} = 2, if(cargoType = 1, 'Package', 'valuables'), if(cargoType = 1, 'Colis', 'Objets de valeur'))), 'X', cargoNumber) as cargoType,
        driverId as driverId,
        `type` as orderType,
        state as state,
        orderMoney as orderMoney,
        payMoney as payMoney,
        (select price from t_order_logistics_spread where orderLogisticsId = a.id) as differenceMoney
        from t_order_logistics as a where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size}
        from t_order_logistics as a where userId = #{uid} and isDelete = 1 order by insertTime desc limit #{pageNum}, #{size}
    </select>
@@ -166,7 +167,7 @@
        select
        (payMoney * -1) as money,
        DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as time,
        if(type = 4, '同城小件物流订单', '跨城小件物流') as name,
        if(type = 4, '包裹订单', '跨城小件物流') as name,
        UNIX_TIMESTAMP(insertTime) as insertTime
        from t_order_logistics where payMoney != 0 and userId = #{uid} and state not in (7, 10)
@@ -175,7 +176,7 @@
        select
        (a.payMoney * -1) as money,
        DATE_FORMAT(a.payTime, '%Y-%m-%d %H:%i') as time,
        if(b.type = 4, '同城小件物流订单', '跨城小件物流') as name,
        if(b.type = 4, '包裹订单', '跨城小件物流') as name,
        UNIX_TIMESTAMP(a.payTime) as insertTime
        from t_order_logistics_spread a
        left join t_order_logistics b on (a.orderLogisticsId = b.id)
@@ -192,7 +193,7 @@
        startAddress as startAddress,
        endAddress as endAddress,
        payMoney as payMoney,
        if(type = 4, '同城小件物流订单', '跨城小件物流订单') as orderName,
        if(type = 4, '包裹流订单', '跨城小件物流订单') as orderName,
        if(invoiceId is null, 1, 2) as invoice,
        unix_timestamp(insertTime) as insertTime,
        `type` as orderType
@@ -216,4 +217,59 @@
            and `type` = #{orderType}
        </if>
    </select>
    <select id="queryOrderInfo" resultType="map">
        select
        a.id as orderId,
        a.state as state,
        a.oldState as oldState,
        DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime,
        DATE_FORMAT(a.travelTime, '%m-%d %H:%i') as travelTime,
        DATE_FORMAT(a.arriveTime, '%Y-%m-%d %H:%i:%s') as arriveTime,
        DATE_FORMAT(a.travelTime, '%Y-%m-%d %H:%i:%s') as travelTime1,
        a.startLon as startLon,
        a.startLat as startLat,
        a.startAddress as startAddress,
        a.endLon as endLon,
        a.endLat as endLat,
        a.endAddress as endAddress,
      a.driverId as driverId,
      a.orderMoney as orderMoney,
      a.redPacketMoney as redPacketMoney,
      a.couponMoney as couponMoney,
      a.discountMoney as discountMoney,
      a.payMoney as payMoney,
        a.remark as remark,
      b.headImgUrl as driverAvatar,
      CONCAT(b.firstName, " ", b.lastName) as driverName,
      c.carLicensePlate as licensePlate,
      c.carColor as carColor,
      CONCAT(f.`name`, d.`name`) as brand,
      ((select sum(fraction) from t_order_evaluate where driverId = a.driverId) / (select count(id) from t_order_evaluate where driverId = a.driverId)) as score,
      (
      (select count(id) from t_order_private_car where driverId = a.driverId and state in (7, 8, 9)) +
      (select count(id) from t_order_taxi where driverId = a.driverId and state in (7, 8, 9)) +
      (select count(id) from t_order_cross_city where driverId = a.driverId and state in (6, 8, 9)) +
      (select count(id) from t_order_logistics where driverId = a.driverId and state in (6, 9))
      ) as orderNum,
      b.phone as driverPhone,
      if(a.state = 10, (select money from t_order_cancel where orderId = a.id and orderType = a.type and state = 1 order by insertTime desc limit 0, 1), if(a.state = 10, (select money from t_order_cancel where orderId = a.id and orderType = a.type and state = 2 order by insertTime desc limit 0, 1), 0)) as cancelPayMoney,
      if(a.state = 10, (select id from t_order_cancel where orderId = a.id and orderType = a.type and state = 1 order by insertTime desc limit 0, 1), 0) as cancelId,
      g.fraction as orderScore,
      g.content as evaluate,
      a.telX as telX,
      h.userType as cancelUserType,
      h.money as cancelMoney,
      h.reason as cancelReason,
      h.remark as cancelRemark
        from t_order_logistics a
      left join t_driver b on (a.driverId = b.id)
      left join t_car c on (a.carId = c.id)
      left join t_car_model d on (c.carModelId = d.id)
      left join t_car_brand f on (d.brandId = f.id)
      left join t_order_evaluate g on (a.id = g.orderId and g.orderType = a.type)
      left join t_order_cancel h on (a.id = h.orderId and h.orderType = a.type and h.state = 2)
      where a.id = #{orderId}
    </select>
</mapper>