wzp
2025-05-12 2f66c1634aad641ae396b8ae9ed64c0377968e08
fix:修复地图展示,通过订单号来获取车牌号
4个文件已修改
110 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/VehicleGps.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/gps/map.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java
@@ -1,7 +1,11 @@
package com.ruoyi.web.controller.system;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import com.ruoyi.system.domain.TbVehicleOrder;
import com.ruoyi.system.service.ITbVehicleOrderService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -31,12 +35,17 @@
public class VehicleGpsController extends BaseController {
    @Autowired
    private IVehicleGpsService vehicleGpsService;
    @Autowired
    private ITbVehicleOrderService tbVehicleOrderService;
   /**
     * 查询车辆GPS坐标列表
     */  
    @PreAuthorize("@ss.hasPermi('system:gps:list')")
    @GetMapping("/list")
    public TableDataInfo list(VehicleGps vehicleGps) {
        startPage();
        // 设置按时间倒序排序
        vehicleGps.setOrderByColumn("collect_time");
@@ -47,6 +56,26 @@
    @Anonymous(needSign=true)   
    @GetMapping("/anonymousList")
    public TableDataInfo anonymousList(VehicleGps vehicleGps) {
        if(vehicleGps.getOrderId()==null)
        {
            return getDataTable(new ArrayList<>());
        }
        //查询订单
        TbVehicleOrder tbVehicleOrder = tbVehicleOrderService.selectTbVehicleOrderById(vehicleGps.getOrderId());
        if(tbVehicleOrder==null)
        {
            return getDataTable(new ArrayList<>());
        }
        if(!Objects.equals(tbVehicleOrder.getStatus(), "0"))
        {
            //非0表示订单完成了。
            return  getDataTable(new ArrayList<>());
        }
        vehicleGps.setVehicleNo(tbVehicleOrder.getVehicle());
        startPage();
        // 设置按时间倒序排序
        vehicleGps.setOrderByColumn("collect_time");
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -179,6 +179,7 @@
                    SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey(tbOrders.getAppId());
                    if(clientApp==null){
                        log.error("回调地址不存在");
                        orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
                        continue;
                    }
ruoyi-system/src/main/java/com/ruoyi/system/domain/VehicleGps.java
@@ -70,6 +70,11 @@
    /** 排序的方向desc或者asc */
    private String isAsc;
    /**
     * 订单号,接收请求用的
     */
    private Long orderId;
    public void setGpsId(Long gpsId) {
        this.gpsId = gpsId;
    }
@@ -198,6 +203,14 @@
        this.isAsc = isAsc;
    }
    public void setOrderId(Long orderId){
        this.orderId = orderId;
    }
    public Long getOrderId(){
        return  this.orderId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
ruoyi-ui/src/views/system/gps/map.vue
@@ -176,26 +176,33 @@
  created() {
    // 获取URL参数
    const query = this.$route.query;
    if (query.vehicleNo) {
      this.queryParams.vehicleNo = query.vehicleNo;
    } else {
      this.$message.error('缺少车牌号参数');
    // if (query.vehicleNo) {
    //   this.queryParams.vehicleNo = query.vehicleNo;
    // } else {
    //   this.$message.error('缺少车牌号参数');
    //   return;
    // }
    //获取订单号
    this.queryParams.orderId = query.orderId;
    if(this.queryParams.orderId==null)
    {
      this.$message.error('缺少订单号参数');
      return;
    }
    // 检查时间参数
    if (query.beginTime && query.endTime) {
      // 格式化时间
      this.dateRange = [
        this.formatDateTime(query.beginTime),
        this.formatDateTime(query.endTime)
      ];
      this.queryParams.beginTime = this.dateRange[0];
      this.queryParams.endTime = this.dateRange[1];
    } else {
      this.$message.error('缺少时间范围参数');
      return;
    }
    // if (query.beginTime && query.endTime) {
    //   // 格式化时间
    //   this.dateRange = [
    //     this.formatDateTime(query.beginTime),
    //     this.formatDateTime(query.endTime)
    //   ];
    //   this.queryParams.beginTime = this.dateRange[0];
    //   this.queryParams.endTime = this.dateRange[1];
    // } else {
    //   this.$message.error('缺少时间范围参数');
    //   return;
    // }
    // 设置认证参数
    if (query.appId) {
@@ -272,20 +279,20 @@
      };
      // 如果没有选择时间范围,则使用URL中的时间
      if (!this.dateRange || this.dateRange.length === 0) {
        const query = this.$route.query;
        if (query.beginTime && query.endTime) {
          params.beginTime = query.beginTime;
          params.endTime = query.endTime;
        } else {
          this.$message.error('请选择时间范围');
          this.loading = false;
          return;
        }
      } else {
        params.beginTime = this.dateRange[0];
        params.endTime = this.dateRange[1];
      }
      // if (!this.dateRange || this.dateRange.length === 0) {
      //   const query = this.$route.query;
      //   if (query.beginTime && query.endTime) {
      //     params.beginTime = query.beginTime;
      //     params.endTime = query.endTime;
      //   } else {
      //     this.$message.error('请选择时间范围');
      //     this.loading = false;
      //     return;
      //   }
      // } else {
      //   params.beginTime = this.dateRange[0];
      //   params.endTime = this.dateRange[1];
      // }
      
      anonymousList(params).then(response => {
        this.gpsList = response.rows;