Pu Zhibing
6 天以前 65a12fccec8ad0306817eb057adb102c54f2046f
添加出租车的视频设备号
7个文件已修改
67 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/Car.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/Order.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/OrderController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICarService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/TaskUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/Car.java
@@ -237,6 +237,12 @@
    @TableField("create_time")
    private LocalDateTime createTime;
    /**
     * 设备号
     */
    @TableField("device_id")
    @ApiModelProperty(value = "设备号")
    private String deviceId;
    /**
     * 司机名称
     */
    @TableField(exist = false)
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/Order.java
@@ -115,6 +115,13 @@
    @ApiModelProperty(value = "司机电话")
    @Excel(name = "驾驶员电话", width = 30)
    private String driverPhone;
    @TableField(exist = false)
    @ApiModelProperty(value = "视频设备号")
    private String deviceId;
    /**
     * 订单时间
     */
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java
@@ -336,4 +336,8 @@
        });
        carService.taskPlayDetection(id);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/OrderController.java
@@ -152,6 +152,7 @@
            order.setDrivingLicenseNumber(driver.getDrivingLicenseNumber());
        }
        order.setVehicleNumber(car.getVehicleNumber());
        order.setDeviceId(car.getDeviceId());
        order.setEnterpriseName(enterprise.getName());
        return R.ok(order);
    }
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICarService.java
@@ -43,4 +43,10 @@
     * @return
     */
    void taskPlayDetection(Integer deviceNumber);
    /**
     * 定时任务获取出租车视频设备号
     */
    void taskGetCarDeviceId();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java
@@ -1,6 +1,13 @@
package com.ruoyi.system.service.impl;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.web.page.PageInfo;
@@ -200,6 +207,39 @@
            e.printStackTrace();
        }
    }
    public void taskGetCarDeviceId(){
        Object o = redisTemplate.opsForValue().get("chuzu:token");
        String access_Token = "";
        if(null == o){
            HttpRequest get = HttpUtil.createGet("http://116.169.59.170:9986/MediaAPI/Token?token=shehongchuzu");
            HttpResponse execute = get.execute();
            String body = execute.body();
            Integer expires_in = JSON.parseObject(body).getInteger("Expires_In");
            access_Token = JSON.parseObject(body).getString("Access_Token");
            redisTemplate.opsForValue().set("chuzu:token", access_Token, expires_in, TimeUnit.SECONDS);
        }
        //获取车辆数据
        List<Car> cars = this.list(new QueryWrapper<Car>().eq("enterprise_id", 5));
        HttpRequest get = HttpUtil.createGet("http://116.169.59.170:9986/MediaAPI/BaseInfo/GetVehicleInfo?accessToken=" + access_Token + "&tenantNo=射洪出租");
        HttpResponse execute = get.execute();
        String body = execute.body();
        JSONObject jsonObject = JSON.parseObject(body);
        Integer resultState = jsonObject.getInteger("ResultState");
        if(1 == resultState){
            JSONArray resultData = jsonObject.getJSONArray("ResultData");
            for (int i = 0; i < resultData.size(); i++) {
                JSONObject jsonObject1 = resultData.getJSONObject(i);
                String vehicleNo = jsonObject1.getString("VehicleNo");
                String Deviceid = jsonObject1.getString("Deviceid");
                cars.stream().filter(s->s.getVehicleNumber().equals(vehicleNo)).findFirst().ifPresent(car -> {
                    car.setDeviceId(Deviceid);
                    this.updateById(car);
                });
            }
        }
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/TaskUtil.java
@@ -83,5 +83,6 @@
    @Scheduled(fixedRate = 1000 * 300)
    public void taskUpdateCarStatus() {
        carService.taskUpdateCarStatus();
        carService.taskGetCarDeviceId();
    }
}