New file |
| | |
| | | package com.ruoyi.admin.controller; |
| | | |
| | | |
| | | import cn.hutool.http.HttpRequest; |
| | | import cn.hutool.http.HttpResponse; |
| | | import cn.hutool.http.HttpUtil; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.admin.entity.Agreement; |
| | | import com.ruoyi.admin.entity.MasterWorker; |
| | | import com.ruoyi.admin.entity.Notices; |
| | | import com.ruoyi.admin.service.AgreementService; |
| | | import com.ruoyi.admin.service.MasterWorkerService; |
| | | import com.ruoyi.admin.vo.MonitorInfoVO; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.security.annotation.Logical; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Random; |
| | | |
| | | /** |
| | | * <p> |
| | | * 监控 |
| | | * </p> |
| | | * |
| | | * @author hjl |
| | | * @since 2024-05-29 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/monitor") |
| | | @Api(tags = {"大屏-监控"}) |
| | | public class MonitorController { |
| | | @Autowired |
| | | private MasterWorkerService masterWorkerService; |
| | | |
| | | public static void main(String[] args) { |
| | | HttpRequest post = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/devices?key=zT908g2j9niqrwO6ENIm5MZriXb0ZC%2Fq0hlFOWfm1Qs%3D"); |
| | | HttpResponse execute = post.execute(); |
| | | if (200 != execute.getStatus()) { |
| | | return; |
| | | } |
| | | System.err.println(execute.body()); |
| | | JSONObject jsonObject = JSONObject.parseObject(execute.body()); |
| | | JSONArray data = jsonObject.getJSONArray("data"); |
| | | // 终端设备id |
| | | List<JSONObject> strings = new ArrayList<>(); |
| | | for (Object datum : data) { |
| | | JSONObject jsonObject1 = (JSONObject) datum; |
| | | JSONObject jsonObject2 = new JSONObject(); |
| | | jsonObject2.put("terid", jsonObject1.getString("terid")); |
| | | jsonObject2.put("deviceusername", jsonObject1.getString("deviceusername")); |
| | | strings.add(jsonObject2); |
| | | } |
| | | System.err.println(strings); |
| | | } |
| | | |
| | | // /** |
| | | // * 回收员监控列表 |
| | | // */ |
| | | // @ApiOperation(value = "回收员监控列表") |
| | | // @GetMapping(value = "/monitorList") |
| | | // public R monitorList() { |
| | | // |
| | | // // 获取token |
| | | // String token = ""; |
| | | // HttpRequest post = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/key?username=dakaer&password=dakaer@888"); |
| | | // HttpResponse execute = post.execute(); |
| | | // if (200 != execute.getStatus()) { |
| | | // return R.fail("获取三方监控token失败"); |
| | | // } |
| | | // System.err.println("获取三方平台授权token响应参数" + execute.body()); |
| | | // token = JSONObject.parseObject(execute.body()).getJSONObject("data").getString("key"); |
| | | // |
| | | // // 获取司机列表 |
| | | // HttpRequest post1 = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/devices?key="+token); |
| | | // HttpResponse execute1 = post1.execute(); |
| | | // if (200 != execute1.getStatus()) { |
| | | // return R.fail("获取三方监控司机列表失败"); |
| | | // } |
| | | // System.err.println(execute1.body()); |
| | | // JSONObject jsonObject = JSONObject.parseObject(execute1.body()); |
| | | // JSONArray data = jsonObject.getJSONArray("data"); |
| | | // // 终端设备id |
| | | // List<JSONObject> strings = new ArrayList<>(); |
| | | // List<String> terIds = new ArrayList<>(); |
| | | // for (Object datum : data) { |
| | | // JSONObject jsonObject1 = (JSONObject) datum; |
| | | // JSONObject jsonObject2 = new JSONObject(); |
| | | // jsonObject2.put("terid",jsonObject1.getString("terid")); |
| | | // jsonObject2.put("deviceusername",jsonObject1.getString("deviceusername")); |
| | | // strings.add(jsonObject2); |
| | | // terIds.add(jsonObject1.getString("terid")); |
| | | // } |
| | | // System.err.println(strings); |
| | | // // 获取司机位置信息 |
| | | // HttpRequest post2 = HttpUtil.createPost("http://8.146.210.16:12056/api/v1/basic/gps/last"); |
| | | // JSONObject jsonObject4 = new JSONObject(); |
| | | // jsonObject4.put("key",token); |
| | | // jsonObject4.put("terid",terIds); |
| | | // post2.body(jsonObject4.toJSONString()); |
| | | // |
| | | // HttpResponse execute2 = post2.execute(); |
| | | // if (200 != execute2.getStatus()) { |
| | | // return R.fail("获取三方监控司机列表失败"); |
| | | // } |
| | | // System.err.println(execute2.body()); |
| | | // JSONObject jsonObject1 = JSONObject.parseObject(execute2.body()); |
| | | // JSONArray data2 = jsonObject1.getJSONArray("data"); |
| | | // // 终端设备id |
| | | // List<JSONObject> strings1 = new ArrayList<>(); |
| | | // for (Object datum : data2) { |
| | | // JSONObject jsonObject3 = (JSONObject) datum; |
| | | // JSONObject jsonObject2 = new JSONObject(); |
| | | // jsonObject2.put("lat",jsonObject3.getString("gpslat")); |
| | | // jsonObject2.put("lng",jsonObject3.getString("gpslng")); |
| | | // jsonObject2.put("terid",jsonObject3.getString("terid")); |
| | | // strings1.add(jsonObject2); |
| | | // } |
| | | // for (JSONObject object : strings1) { |
| | | // String string = object.getString("terid"); |
| | | // for (JSONObject string1 : strings) { |
| | | // if (string1.getString("terid").equals(string)){ |
| | | // object.put("name",string1.getString("deviceusername")); |
| | | // break; |
| | | // } |
| | | // } |
| | | // } |
| | | // System.err.println(strings1); |
| | | // return R.ok(strings1); |
| | | // } |
| | | /** |
| | | * 回收员监控列表 |
| | | */ |
| | | @ApiOperation(value = "回收员监控详情") |
| | | @GetMapping(value = "/monitorInfo") |
| | | |
| | | public R<MonitorInfoVO> monitorInfo(String terid) { |
| | | MonitorInfoVO monitorInfoVO = new MonitorInfoVO(); |
| | | MasterWorker one = masterWorkerService.lambdaQuery().eq(MasterWorker::getTerminalCode, terid).last("limit 1").one(); |
| | | if (one==null){ |
| | | return R.fail("当前师傅未绑定终端编号"); |
| | | } |
| | | // 获取token |
| | | String token = ""; |
| | | HttpRequest post = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/key?username=dakaer&password=dakaer@888"); |
| | | HttpResponse execute = post.execute(); |
| | | if (200 != execute.getStatus()) { |
| | | } |
| | | System.err.println("获取三方平台授权token响应参数" + execute.body()); |
| | | token = JSONObject.parseObject(execute.body()).getJSONObject("data").getString("key"); |
| | | // 获取端口 |
| | | HttpRequest post9 = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/live/port?key="+token); |
| | | HttpResponse execute9 = post9.execute(); |
| | | if (200 != execute9.getStatus()) { |
| | | } |
| | | System.err.println(execute9.body()); |
| | | JSONObject jsonObject9 = JSONObject.parseObject(execute9.body()); |
| | | JSONArray data9 = jsonObject9.getJSONArray("data"); |
| | | int i = new Random().nextInt(data9.size()); |
| | | Object o = data9.get(i); |
| | | JSONObject temp = (JSONObject) o; |
| | | String port = temp.getString("port"); |
| | | |
| | | // 获取司机列表 |
| | | HttpRequest post2 = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/devices?key="+token); |
| | | HttpResponse execute2 = post2.execute(); |
| | | if (200 != execute2.getStatus()) { |
| | | } |
| | | System.err.println(execute2.body()); |
| | | JSONObject jsonObject = JSONObject.parseObject(execute2.body()); |
| | | JSONArray data = jsonObject.getJSONArray("data"); |
| | | // 终端设备id |
| | | List<JSONObject> strings = new ArrayList<>(); |
| | | List<String> terIds = new ArrayList<>(); |
| | | for (Object datum : data) { |
| | | JSONObject jsonObject1 = (JSONObject) datum; |
| | | JSONObject jsonObject2 = new JSONObject(); |
| | | jsonObject2.put("terid",jsonObject1.getString("terid")); |
| | | jsonObject2.put("deviceusername",jsonObject1.getString("deviceusername")); |
| | | jsonObject2.put("carlicence",jsonObject1.getString("carlicence")); |
| | | strings.add(jsonObject2); |
| | | terIds.add(jsonObject1.getString("terid")); |
| | | } |
| | | System.err.println(strings); |
| | | // 获取url |
| | | HttpRequest post1 = HttpUtil.createGet("http://8.146.210.16:12056/api/v1/basic/live/video?key="+token+"&terid="+terid+"&chl=1&audio=1&st=0&port="+port); |
| | | HttpResponse execute1 = post1.execute(); |
| | | if (200 != execute1.getStatus()) { |
| | | } |
| | | System.err.println(execute1.body()); |
| | | JSONObject jsonObject3 = JSONObject.parseObject(execute1.body()); |
| | | JSONObject data3 = jsonObject3.getJSONObject("data"); |
| | | String url = data3.getString("url"); |
| | | monitorInfoVO.setUrl(url); |
| | | monitorInfoVO.setCityName(one.getCity()); |
| | | monitorInfoVO.setName(one.getRealName()); |
| | | monitorInfoVO.setPhone(one.getPhone()); |
| | | for (JSONObject string : strings) { |
| | | if (string.getString("terid").equals(terid)){ |
| | | monitorInfoVO.setLicensePlateNumber(string.getString("carlicence")); |
| | | break; |
| | | } |
| | | } |
| | | return R.ok(monitorInfoVO); |
| | | } |
| | | } |