luodangjia
2024-07-17 722db9e28a0c8e33d79621c66c0ecf1d60fcf0f6
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,15 @@
        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'))), '*', cargoNumber) as cargoType,
        driverId as driverId,
        `type` as orderType,
        state as state,
        orderMoney as orderMoney,
        payMoney as payMoney,
        ifnull(discountMoney, 0) as discountMoney,
        (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,20 +168,20 @@
        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)
        from t_order_logistics where payMoney != 0 and userId = #{uid} and state not in (7, 10) and payType = 3
        union all
        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)
        where a.payTime is not null and b.userId = #{uid}
        where a.payTime is not null and b.userId = #{uid} and a.payType = 3
        ) as aa order by aa.time desc
    </select>
@@ -192,7 +194,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 +218,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>