无关风月
2026-02-13 2b98c57493307718f88ed56bb2a531f3af3ca6b4
bug修改,订单详情补充
1个文件已添加
17个文件已修改
188 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/operation/ElectronicFenceAddDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/operation/ElectronicFenceUpdateDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpElectronicClientFallbackFactory.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpSystemSettingClientFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpElectronicClient.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpSystemSettingClient.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpElectronicFenceArea.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrderEvaluate.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/DataUpdateHandlerConfig.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpFeedbackTypeController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/dto/XpOrderCommentDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/IXpOrderService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/vo/OrderDetailVo.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/operation/ElectronicFenceAddDto.java
@@ -10,6 +10,7 @@
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@@ -24,7 +25,8 @@
    private String cityCode;
    @ApiModelProperty(value = "围栏编号唯一 规则:城市首字母-类型简写-4位自增流水号(如 SZ-OP-001)")
    private String electronicNumber;
    @ApiModelProperty(value = "面积")
    private BigDecimal area;
    @ApiModelProperty(value = "围栏状态 0=草稿 1=待启用 2=启用中 3=已停用 草稿传0 发布传1")
    @NotNull(message = "围栏状态不能为空")
    private Integer status;
@@ -35,7 +37,6 @@
    private Integer effectType;
    @ApiModelProperty(value = "生效时间")
    @NotNull(message = "生效时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime effectTime;
@@ -44,7 +45,6 @@
    private Integer failureType;
    @ApiModelProperty(value = "失效时间")
    @NotNull(message = "失效时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime failureTime;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/operation/ElectronicFenceUpdateDto.java
@@ -38,7 +38,6 @@
    private Integer effectType;
    @ApiModelProperty(value = "生效时间")
    @NotNull(message = "生效时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime effectTime;
@@ -47,7 +46,6 @@
    private Integer failureType;
    @ApiModelProperty(value = "失效时间")
    @NotNull(message = "失效时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime failureTime;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpElectronicClientFallbackFactory.java
@@ -12,6 +12,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Collection;
import java.util.List;
@@ -54,7 +55,7 @@
            }
            @Override
            public R copy(Integer id) {
            public R<Long> copy(@RequestBody Integer id) {
                log.error("复制电子围栏失败:{}", cause.getMessage());
                return R.fail("复制电子围栏失败");
            }
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpSystemSettingClientFallbackFactory.java
@@ -3,6 +3,7 @@
import com.xiaopeng.api.feignClient.operation.SysLogClient;
import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
import com.xiaopeng.api.model.operation.SysOperLog;
import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.common.core.domain.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -25,6 +26,12 @@
                log.error("获取自动结束行程时间失败:{}", cause.getMessage());
                return R.fail("获取自动结束行程时间失败,"+cause.getMessage());
            }
            @Override
            public R<XpFeedbackType> getFeedbackTypeById(Long id) {
                log.error("获取反馈类型名称失败:{}", cause.getMessage());
                return R.fail(null);
            }
        };
    }
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpElectronicClient.java
@@ -12,10 +12,7 @@
import com.xiaopeng.common.core.web.page.PageInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.*;
import java.util.Collection;
import java.util.List;
@@ -40,8 +37,8 @@
    /**
     * 电子围栏详情
     */
    @GetMapping("/api/v1/electronicFence/queryById")
    R<ElectronicFenceDetailVo> queryById(Long id);
    @PostMapping("/api/v1/electronicFence/queryById")
    R<ElectronicFenceDetailVo> queryById(@RequestParam("id")Long id);
    /**
     * 编辑电子围栏
     */
@@ -50,8 +47,8 @@
    /**
     * 复制电子围栏
     */
    @PutMapping("/api/v1/electronicFence/copy")
     R copy(Integer id);
    @PostMapping("/api/v1/electronicFence/copy")
    R<Long> copy(@RequestParam("id") Integer id);
    /**
     * 根据ID列表批量查询电子围栏
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpSystemSettingClient.java
@@ -1,11 +1,13 @@
package com.xiaopeng.api.feignClient.operation;
import com.xiaopeng.api.factory.operation.XpSystemSettingClientFallbackFactory;
import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@FeignClient(contextId = "XpSystemSettingClient", value = ServiceNameConstantsEnum.XP_OPERATION_SERVICE, fallbackFactory = XpSystemSettingClientFallbackFactory.class)
@@ -22,4 +24,10 @@
    @GetMapping("/api/v1/mini-program/support/getOrderFinishTime")
    R<Integer> getOrderFinishTime();
    /**
     * 获取反馈类型
     * @return
     */
    @GetMapping("/base/v1/mini-program/getFeedbackTypeById/{id}")
    R<XpFeedbackType> getFeedbackTypeById(@PathVariable("id")Long id);
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpElectronicFenceArea.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
@@ -37,7 +39,8 @@
    @ApiModelProperty(value = "围栏id")
    private Long electronicId;
    @ApiModelProperty(value = "面积")
    private BigDecimal area;
    @ApiModelProperty(value = "区域名称")
    private String areaName;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrderEvaluate.java
@@ -49,9 +49,9 @@
    private LocalDateTime evaluateTime;
    @ApiModelProperty(value = "问题类型id")
    private Integer feedbackTypeId;
    private Long feedbackTypeId;
    @ApiModelProperty(value = "反馈内容")
    private Integer feedbackContent;
    private String feedbackContent;
    @ApiModelProperty(value = "图片 json格式")
    private Integer feedbackPictures;
    private String feedbackPictures;
}
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
@@ -14,6 +14,7 @@
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.utils.bean.BeanUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.security.service.TokenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -39,6 +40,8 @@
public class XpElectronicFenceManagementController {
    @Resource
    private TokenService tokenService;
    @Resource
    private XpElectronicClient xpElectronicClient;
@@ -56,6 +59,7 @@
    @ApiOperation(value = "新增电子围栏")
    @Transactional
    public R add(@Validated @RequestBody ElectronicFenceAddDto dto) {
        return xpElectronicClient.add(dto);
    }
@@ -75,10 +79,10 @@
    /**
     * 电子围栏详情
     */
    @GetMapping("/queryById")
    @PostMapping("/queryById")
    @ResponseBody
    @ApiOperation(value = "电子围栏详情")
    public R<ElectronicFenceDetailVo> queryById(Long id) {
    public R<ElectronicFenceDetailVo> queryById(@RequestParam("id")Long id) {
        return xpElectronicClient.queryById(id);
    }
@@ -96,11 +100,9 @@
    /**
     * 复制电子围栏
     */
    @GetMapping("/copy")
    @ResponseBody
    @PostMapping("/copy")
    @ApiOperation(value = "复制电子围栏")
    @Transactional
    public R copy(Integer id) {
    public R<Long> copy(@RequestParam("id") Integer id) {
        return xpElectronicClient.copy(id);
    }
}
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/config/DataUpdateHandlerConfig.java
@@ -50,7 +50,6 @@
        }
        this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
        this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
        this.setFieldValByName("createBy", userName, metaObject);
    }
    /**
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java
@@ -111,9 +111,9 @@
    /**
     * 电子围栏详情
     */
    @GetMapping("/queryById")
    @PostMapping("/queryById")
    @ApiOperation(value = "电子围栏详情")
    public R<ElectronicFenceDetailVo> queryById(Long id) {
    public R<ElectronicFenceDetailVo> queryById(@RequestParam("id")Long id) {
        ElectronicFenceDetailVo res = new ElectronicFenceDetailVo();
        XpElectronicFence electronicFence = xpElectronicFenceService.getById(id);
        if (electronicFence == null) {
@@ -142,10 +142,10 @@
    /**
     * 复制电子围栏
     */
    @GetMapping("/copy")
    @PostMapping("/copy")
    @ApiOperation(value = "复制电子围栏")
    @Transactional
    public R copy(Integer id) {
    public R<Long> copy(@RequestParam("id") Integer id) {
        XpElectronicFence electronicFence = xpElectronicFenceService.getById(id);
        if (electronicFence.getStatus()==2){
            throw new ServiceException(
@@ -166,7 +166,7 @@
            area.setAreaName("副本_"+area.getAreaName());
        }
        xpElectronicFenceAreaService.saveBatch(electronicFenceAreaList);
        return R.ok();
        return R.ok(electronicFence.getId());
    }
    /**
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpFeedbackTypeController.java
@@ -8,6 +8,7 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
@@ -36,7 +37,14 @@
    public XpFeedbackTypeController(IXpFeedbackTypeService xpFeedbackTypeService) {
        this.xpFeedbackTypeService = xpFeedbackTypeService;
    }
    /**
     * 获取反馈类型
     * @return
     */
    @GetMapping("/getFeedbackTypeById/{id}")
    public R<XpFeedbackType> getFeedbackTypeById(@PathVariable("id")Long id){
        return R.ok(xpFeedbackTypeService.getById(id));
    }
    @GetMapping("/feedback-type/getList")
    @ApiOperation(value = "获取意见反馈类型列表",tags = {"意见反馈类型列表"},response = XpFeedbackType.class)
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java
@@ -11,6 +11,7 @@
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.utils.DateUtils;
import com.xiaopeng.common.core.utils.StringUtils;
import com.xiaopeng.common.core.utils.bean.BeanUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.constant.I18nKeyConstant;
@@ -65,6 +66,9 @@
    @Override
    public PageInfo<XpElectronicFence> pageList(ElectronicPageListQuery query) {
        PageInfo<XpElectronicFence> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        if (StringUtils.isEmpty(query.getCreateSort())&& StringUtils.isEmpty(query.getUpdateSort())){
            query.setCreateSort("2");
        }
        List<XpElectronicFence> list = this.baseMapper.pageList(pageInfo, query);
        if (list.isEmpty()) {
            return new PageInfo<>();
@@ -78,7 +82,9 @@
            if (xpElectronicFenceAreas != null) {
                xpElectronicFence.setOperatingAreaCount(xpElectronicFenceAreas.stream().filter(xpElectronicFenceArea -> xpElectronicFenceArea.getAreaType() == 1).count());
                xpElectronicFence.setProhibitedAreaCount(xpElectronicFenceAreas.stream().filter(xpElectronicFenceArea -> xpElectronicFenceArea.getAreaType() == 2).count());
            }else{
                xpElectronicFence.setOperatingAreaCount(0L);
                xpElectronicFence.setProhibitedAreaCount(0L);
            }
        }
        pageInfo.setRecords(list);
@@ -194,6 +200,7 @@
                for (XpElectronicFenceArea area : newElectronicFenceAreas) {
                    area.setElectronicId(xpElectronicFence.getId());
                    area.setAreaStatus(1);
                    area.setArea(area.getArea());
                    area.setCityCode(dto.getCityCode());
                    xpElectronicFenceAreaMapper.insert(area);
@@ -333,6 +340,7 @@
            for (XpElectronicFenceArea area : updatedElectronicFenceAreas) {
                area.setElectronicId(dto.getId()); // 设置关联的电子围栏ID
                area.setCityCode(dto.getCityCode());
                area.setArea(area.getArea());
                xpElectronicFenceAreaMapper.insert(area);
            }
            if (dto.getStatus() == 2) {
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -28,6 +28,7 @@
import com.xiaopeng.order.model.vo.XpOrderHistoryVO;
import com.xiaopeng.order.model.vo.XpOrderPageVO;
import com.xiaopeng.order.service.IXpOrderService;
import com.xiaopeng.order.vo.OrderDetailVo;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -252,7 +253,6 @@
        return R.ok();
    }
    /**
     * 获取用户快捷胶囊 历史 时段 终点高点
     */
@@ -265,6 +265,18 @@
        return R.ok(xpOrderService.getUserQuickCapsule(uid));
    }
    /**
     * 获取订单详情
     */
    @PutMapping("/api/v1/mini-program/order/orderDetail/{orderId}")
    @ApiOperation(value = "获取订单详情", tags = {"小程序-获取订单详情"})
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<OrderDetailVo> orderDetail(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
        // uid已通过拦截器otp校验,可以直接使用
        String uid = request.getHeader("XP-Uid");
        ;
        return R.ok(xpOrderService.orderDetail(orderId,uid));
    }
    /**
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/dto/XpOrderCommentDto.java
@@ -12,9 +12,9 @@
    @ApiModelProperty(value = "订单评分")
    private Integer orderRating;
    @ApiModelProperty(value = "问题类型id")
    private Integer feedbackTypeId;
    private Long feedbackTypeId;
    @ApiModelProperty(value = "反馈内容")
    private Integer feedbackContent;
    private String feedbackContent;
    @ApiModelProperty(value = "图片 json格式")
    private Integer feedbackPictures;
    private String feedbackPictures;
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/IXpOrderService.java
@@ -21,6 +21,7 @@
import com.xiaopeng.order.model.vo.XpOrderDetailVO;
import com.xiaopeng.order.model.vo.XpOrderHistoryVO;
import com.xiaopeng.order.model.vo.XpOrderPageVO;
import com.xiaopeng.order.vo.OrderDetailVo;
import java.util.List;
@@ -186,4 +187,6 @@
     * @param orderTrajectory
     */
    void saveVehicleLocation(OrderTrajectory orderTrajectory);
    OrderDetailVo orderDetail(Long orderId, String uid);
}
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -29,6 +29,7 @@
import com.xiaopeng.api.feignClient.operation.XpPointClient;
import com.xiaopeng.api.feignClient.operation.XpPricingClient;
import com.xiaopeng.api.model.account.XpAppUser;
import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.api.model.operation.XpPoint;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.model.vehicleConvoy.XpFleet;
@@ -73,6 +74,7 @@
import com.xiaopeng.order.job.jobs.OrderCancelJob;
import com.xiaopeng.order.utils.TaxiPricingService;
import com.xiaopeng.order.utils.holiday.HolidayUtil;
import com.xiaopeng.order.vo.OrderDetailVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -919,6 +921,8 @@
            userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
        }
        // 计算起步价
//        // 计算实际价格
//        // 根据订单所属开通城市id 查询定价
//        R<XpPricing> pricingByCityId = xpPricingClient.getPricingByCityId(order.getCityId());
@@ -1594,6 +1598,38 @@
        }
    }
    @Override
    public OrderDetailVo orderDetail(Long orderId, String uid) {
        OrderDetailVo orderDetailVo = new OrderDetailVo();
        XpOrder order = this.getById(orderId);
        BeanUtils.copyProperties(order, orderDetailVo);
        // 查询车辆信息
        XpVehicle vehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
        if (vehicle!=null){
            orderDetailVo.setVehicleCode(vehicle.getVehicleCode());
            orderDetailVo.setPlateNumber(vehicle.getPlateNumber());
            orderDetailVo.setVehicleColor(vehicle.getVehicleColor());
            orderDetailVo.setVehiclePictures(vehicle.getVehiclePictures());
        }
        // 查询评价信息
        XpOrderEvaluate evaluate = xpOrderEvaluateService.lambdaQuery().eq(XpOrderEvaluate::getOrderId, orderId)
                .last("limit 1").one();
        if (evaluate != null) {
            orderDetailVo.setFeedbackPictures(evaluate.getFeedbackPictures());
            orderDetailVo.setFeedbackContent(evaluate.getFeedbackContent());
            orderDetailVo.setOrderRating(evaluate.getOrderRating());
            XpFeedbackType feedbackType = xpSystemSettingClient.getFeedbackTypeById(evaluate.getFeedbackTypeId()).getData();
            orderDetailVo.setFeedbackTypeName(feedbackType.getFeedbackType());
        }
        List<OrderTrajectory> trajectories = mongoTemplate.find(
                new Query(Criteria.where("orderId").is(orderId))
                        .with(Sort.by(Sort.Direction.ASC, "locatetime")),
                OrderTrajectory.class
        );
        orderDetailVo.setTrajectories(trajectories);
        return orderDetailVo;
    }
    /**
     * 获取当前用户正在执行的订单
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/vo/OrderDetailVo.java
New file
@@ -0,0 +1,34 @@
package com.xiaopeng.order.vo;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.order.mangodb.model.OrderTrajectory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "订单详情")
public class OrderDetailVo extends XpOrder {
    @ApiModelProperty(value = "车辆编码")
    private String vehicleCode;
    @ApiModelProperty(value = "车牌号")
    private String plateNumber;
    @ApiModelProperty(value = "车辆颜色")
    private String vehicleColor;
    @ApiModelProperty(value = "车辆图片")
    private String vehiclePictures;
    @ApiModelProperty(value = "反馈图片")
    private String feedbackPictures;
    @ApiModelProperty(value = "反馈内容")
    private String feedbackContent;
    @ApiModelProperty(value = "问题类型")
    private String feedbackTypeName;
    @ApiModelProperty(value = "评分")
    private Integer orderRating;
    @ApiModelProperty(value = "轨迹")
    private List<OrderTrajectory> trajectories;
}