package com.stylefeng.guns.modular.system.dto;
|
|
import com.alibaba.fastjson.JSON;
|
import lombok.Data;
|
import org.apache.commons.lang3.StringUtils;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
import java.util.*;
|
|
/**
|
* 上报考评系统请求数据
|
*
|
* @author Lux
|
* @version 1.0.0
|
* @since 2026/6/5 11:32
|
*/
|
@Data
|
public class PushEvaluationRequestDTO {
|
|
private Long id;
|
|
private String orderNo;
|
|
private String userName;
|
|
private String userPhone;
|
|
private PushEvaluationDriverRequestDTO driverInfo;
|
|
private String vehicleNo;
|
|
private Double placementLon;
|
|
private Double placementLat;
|
|
private String placementAddress;
|
|
private Double startLon;
|
|
private Double startLat;
|
|
private String startAddress;
|
|
private Double endLon;
|
|
private Double endLat;
|
|
private String endAddress;
|
|
private BigDecimal orderMoney;
|
|
private BigDecimal payMoney;
|
|
private LocalDateTime traveTime;
|
|
private LocalDateTime startServiceTime;
|
|
private LocalDateTime endServiceTime;
|
|
private LocalDateTime createTime;
|
|
private Integer score; // 订单评分
|
|
private String evaluation; // 订单评价
|
|
public static List<PushEvaluationRequestDTO> convert(List<Map<String, Object>> mapList) {
|
List<PushEvaluationRequestDTO> requstList = new ArrayList<>();
|
if(Objects.nonNull(mapList) && !mapList.isEmpty()) {
|
mapList.forEach(mapObj -> {
|
String jsonData = JSON.toJSONString(mapObj);
|
PushEvaluationRequestDTO requestDTO = JSON.parseObject(jsonData, PushEvaluationRequestDTO.class);
|
if(Objects.nonNull(requestDTO)) {
|
PushEvaluationDriverDTO driverDTO = JSON.parseObject(jsonData, PushEvaluationDriverDTO.class);
|
Optional.ofNullable(driverDTO).ifPresent(d -> requestDTO.setDriverInfo(d.convert()));
|
if(Objects.isNull(requestDTO.getScore())) {
|
requestDTO.setScore(5); // 默认5分
|
}
|
if(StringUtils.isEmpty(requestDTO.getEvaluation())) { // 默认评价
|
requestDTO.setEvaluation("车内整洁,地图认路准,驾驶平稳,态度好服务棒");
|
}
|
requstList.add(requestDTO);
|
}
|
});
|
}
|
return requstList;
|
}
|
}
|