package com.stylefeng.guns.modular.system.model.vo;
|
|
import com.stylefeng.guns.modular.system.warpper.OrderWarpper;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.AllArgsConstructor;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.*;
|
|
@Data
|
@AllArgsConstructor
|
@NoArgsConstructor
|
public class TripOrderVo implements Comparable{
|
|
@ApiModelProperty("订单id")
|
private Integer orderId;
|
@ApiModelProperty("订单日期")
|
private String orderTime;
|
@ApiModelProperty("出行时间/(小件物流的取货时间)")
|
private String time;
|
@ApiModelProperty("起点名称")
|
private String startAddress;
|
@ApiModelProperty("终点名称")
|
private String endAddress;
|
@ApiModelProperty("公司id(服务商)")
|
private Integer companyId;
|
@ApiModelProperty("司机id")
|
private Integer driverId;
|
@ApiModelProperty("车辆id")
|
private Integer carId;
|
@ApiModelProperty("行程人电话")
|
private String passengersPhone;
|
@ApiModelProperty("订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)<br/>" +
|
"小件物流订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待取货,5=送货中,6=已送达,7=待支付,8=需补差价,9=已取货,10=已取消,11=已支付差价")
|
private Integer state;
|
@ApiModelProperty("用车时长")
|
private Integer carTime;
|
@ApiModelProperty("车型id")
|
private Integer serverCarModelId;
|
@ApiModelProperty("车型")
|
private String serverCarModel;
|
// @ApiModelProperty("订单金额")
|
// private Double orderMoney;
|
@ApiModelProperty("支付金额")
|
private Double payMoney;
|
// @ApiModelProperty("差价金额")
|
// private Double differenceMoney;
|
@ApiModelProperty("感谢费")
|
private Double thankYouFee;
|
// @ApiModelProperty("开票状态(1=未开票,2=已开票)")
|
// private Integer invoice;
|
@ApiModelProperty("订单名称")
|
private String orderName;
|
@ApiModelProperty("订单类型(1=专车,2=出租车,3=跨城出行,4=小件物流,5=包车)")
|
private Integer orderType;
|
@ApiModelProperty("下单时间")
|
private Long insertTime;
|
@ApiModelProperty("服务结束事件")
|
private String endServiceTime;
|
@ApiModelProperty("乘车类型(1=独享,2=一口价,3=拼车)")
|
private Integer rideType;
|
@ApiModelProperty("上车经度")
|
private Double boardingLon;
|
@ApiModelProperty("上车纬度")
|
private Double boardingLat;
|
@ApiModelProperty("上车时间")
|
private Date boardingTime; // 从LocalDateTime改为Date
|
|
@ApiModelProperty("到达时间")
|
private Date arriveTime; // 从LocalDateTime改为Date
|
@ApiModelProperty("城市")
|
private String city;
|
@ApiModelProperty("服务商")
|
private String companyName;
|
|
public static List<TripOrderVo> getTripOrderVo(List<Map<String, Object>> maps) {
|
List<TripOrderVo> list = new ArrayList<>();
|
if (null != maps) {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
|
for (Map<String, Object> map : maps) {
|
TripOrderVo tripOrderVo = new TripOrderVo();
|
|
tripOrderVo.setRideType(null != map.get("rideType") ? Integer.valueOf(String.valueOf(map.get("rideType"))) : 1);
|
tripOrderVo.setOrderId(null != map.get("orderId") ? Integer.valueOf(String.valueOf(map.get("orderId"))) : 0);
|
tripOrderVo.setOrderTime(null != map.get("orderTime") ? String.valueOf(map.get("orderTime")) : "");
|
tripOrderVo.setTime(null != map.get("time") ? String.valueOf(map.get("time")) : "");
|
tripOrderVo.setStartAddress(null != map.get("startAddress") ? String.valueOf(map.get("startAddress")) : "");
|
tripOrderVo.setEndAddress(null != map.get("endAddress") ? String.valueOf(map.get("endAddress")) : "");
|
tripOrderVo.setState(null != map.get("state") ? Integer.valueOf(String.valueOf(map.get("state"))) : 0);
|
// tripOrderVo.setOrderMoney(null != map.get("orderMoney") ? Double.valueOf(String.valueOf(map.get("orderMoney"))) : 0);
|
tripOrderVo.setPayMoney(null != map.get("payMoney") ? Double.valueOf(String.valueOf(map.get("payMoney"))) : 0);
|
// tripOrderVo.setInvoice(null != map.get("invoice") ? Integer.valueOf(String.valueOf(map.get("invoice"))) : 0);
|
tripOrderVo.setOrderName(null != map.get("orderName") ? String.valueOf(map.get("orderName")) : "");
|
tripOrderVo.setInsertTime(null != map.get("insertTime") ? Long.valueOf(String.valueOf(map.get("insertTime"))) : 0);
|
tripOrderVo.setOrderType(null != map.get("orderType") ? Integer.valueOf(String.valueOf(map.get("orderType"))) : 0);
|
tripOrderVo.setDriverId(null != map.get("driverId") ? Integer.valueOf(String.valueOf(map.get("driverId"))) : 0);
|
tripOrderVo.setCarTime(null != map.get("carTime") ? Integer.valueOf(String.valueOf(map.get("carTime"))) : 0);
|
tripOrderVo.setServerCarModel(null != map.get("serverCarModel") ? String.valueOf(map.get("serverCarModel")) : "");
|
// tripOrderVo.setDifferenceMoney(null != map.get("differenceMoney") ? Double.valueOf(map.get("differenceMoney").toString()) : 0D);
|
tripOrderVo.setThankYouFee(null != map.get("thankYouFee") ? Double.valueOf(map.get("thankYouFee").toString()) : 0D);
|
tripOrderVo.setEndServiceTime(null != map.get("endServiceTime") ? String.valueOf(map.get("endServiceTime")) : "");
|
tripOrderVo.setCompanyId(null != map.get("companyId") ? Integer.valueOf(String.valueOf(map.get("companyId"))) : 0);
|
tripOrderVo.setPassengersPhone(null != map.get("passengersPhone") ? String.valueOf(map.get("passengersPhone")) : "");
|
tripOrderVo.setBoardingLon(null != map.get("boardingLon") ? Double.valueOf(String.valueOf(map.get("boardingLon"))) : 0D);
|
tripOrderVo.setBoardingLat(null != map.get("boardingLat") ? Double.valueOf(String.valueOf(map.get("boardingLat"))) : 0D);
|
tripOrderVo.setCity(null != map.get("city") ? String.valueOf(map.get("city")) : "");
|
try {
|
tripOrderVo.setBoardingTime(null != map.get("boardingTime") ?
|
sdf.parse(String.valueOf(map.get("boardingTime"))) : null);
|
} catch (ParseException e) {
|
// 处理解析异常
|
tripOrderVo.setBoardingTime(null);
|
}
|
try {
|
tripOrderVo.setArriveTime(null != map.get("arriveTime") ?
|
sdf.parse(String.valueOf(map.get("arriveTime"))) : null);
|
} catch (ParseException e) {
|
// 处理解析异常
|
tripOrderVo.setArriveTime(null);
|
}
|
tripOrderVo.setCompanyName(null != map.get("companyName") ? String.valueOf(map.get("companyName")) : "");
|
tripOrderVo.setCarId(null != map.get("carId") ? Integer.valueOf(String.valueOf(map.get("carId"))) : 0);
|
tripOrderVo.setServerCarModelId(null != map.get("serverCarModelId") ? Integer.valueOf(String.valueOf(map.get("serverCarModelId"))) : 0);
|
list.add(tripOrderVo);
|
}
|
|
}
|
Collections.sort(list);
|
return list;
|
}
|
|
@Override
|
public int compareTo(Object o) {
|
if (o instanceof OrderWarpper) {
|
OrderWarpper s = (OrderWarpper) o;
|
if(this.insertTime == null || s.getInsertTime() == null){
|
return -1;
|
}
|
if (this.insertTime > s.getInsertTime()) {
|
return -1;
|
} else if (this.insertTime == s.getInsertTime()) {
|
return 0;
|
} else {
|
return 1;
|
}
|
}
|
return 0;
|
}
|
}
|