puzhibing
2022-09-12 7da4caa40befd523033b8a1d01246ae468674680
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>
@@ -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,
      b.`name` 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>