package org.springblade.modules.equipage.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import lombok.AllArgsConstructor;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.modules.equipage.entity.Car;
|
import org.springblade.modules.equipage.service.CarService;
|
import org.springblade.modules.equipage.vo.CarVo;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.awt.*;
|
import java.io.File;
|
import java.io.IOException;
|
import java.io.UnsupportedEncodingException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author zhongrj
|
* @time 2021-07-06
|
* @desc 车辆控制层
|
*/
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/car")
|
public class CarController {
|
|
private final CarService carService;
|
private static String csvurl;
|
|
/**
|
* 自定义分页
|
* @param query page,size
|
* @param car 车辆信息对象
|
*/
|
@GetMapping("/page")
|
public R<IPage<CarVo>> page(CarVo car, Query query) {
|
IPage<CarVo> pages = carService.selectCarPage(Condition.getPage(query), car);
|
return R.data(pages);
|
}
|
|
/**
|
* 新增
|
* @param car 车辆信息对象
|
*/
|
@PostMapping("/save")
|
@ApiOperation(value = "新增", notes = "传入car")
|
public R save(@RequestBody Car car) {
|
return R.status(carService.save(car));
|
}
|
|
/**
|
* 修改
|
* @param car 车辆信息对象
|
*/
|
@PostMapping("/update")
|
public R update(@RequestBody Car car) {
|
return R.status(carService.updateById(car));
|
}
|
|
/**
|
* 新增或修改
|
* @param car 车辆信息对象
|
*/
|
@PostMapping("/submit")
|
public R submit(@RequestBody Car car) {
|
return R.status(carService.saveOrUpdate(car));
|
}
|
|
/**
|
* 删除
|
* @param ids 车辆信息ids 数组
|
*/
|
@PostMapping("/remove")
|
public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
|
return R.status(carService.removeByIds(Func.toLongList(ids)));
|
}
|
|
/**
|
* 详情
|
* @param car 车辆信息对象
|
*/
|
@GetMapping("/detail")
|
@ApiOperation(value = "详情", notes = "传入car")
|
public R<CarVo> detail(Car car) {
|
CarVo detail = carService.selectCarInfo(car);
|
return R.data(detail);
|
}
|
/**
|
* 查询车辆实时位置
|
*/
|
@GetMapping("/locationcar")
|
public String locationcar(String imei) {
|
String url = "http://dvopenapi.aimap.net.cn/openapi/device/location";
|
String res = null;
|
Map<String, Object> params = new HashMap<>();
|
params.put("imei", imei);
|
params.put("appId", "PO00000761");
|
params.put("timestamp", System.currentTimeMillis());
|
String secert = "dXRGb2pRNVdWOGQ3d1ouV29UYzc1MnJaUnBwTzUx";
|
|
String computeSign = "";
|
try {
|
computeSign = Md5SignUtil.signRequest(params, secert);
|
} catch (IOException e1) {
|
e1.printStackTrace();
|
}
|
params.put("sign", computeSign);
|
try {
|
//String res = HttpReqUtil.getInstance().doGet(url, params, null);
|
res = HttpReqUtil.getInstance().doPost(url, params, null);
|
System.out.println("----" + res);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return res;
|
}
|
|
/**
|
* 查询车辆轨迹
|
*/
|
|
@GetMapping("/locationhistoryTrack")
|
public R locationhistoryTrack(String beginTime, String endTime, String rectify) throws AWTException {
|
String url = "http://dvopenapi.aimap.net.cn/openapi/device/historyTrack";
|
String res = null;
|
Map<String, Object> params = new HashMap<>();
|
params.put("imei", "861636056082414");
|
params.put("beginTime", beginTime);
|
params.put("endTime", endTime);
|
params.put("rectify", rectify);
|
params.put("callbackUrl", "http://2h3f861221.wicp.vip/car/SaveUrl");
|
params.put("callbackId", "1");
|
params.put("appId", "PO00000761");
|
params.put("timestamp", System.currentTimeMillis());
|
String secert = "dXRGb2pRNVdWOGQ3d1ouV29UYzc1MnJaUnBwTzUx";
|
|
String computeSign = "";
|
try {
|
computeSign = Md5SignUtil.signRequest(params, secert);
|
} catch (IOException e1) {
|
e1.printStackTrace();
|
}
|
params.put("sign", computeSign);
|
try {
|
//String res = HttpReqUtil.getInstance().doGet(url, params, null);
|
res = HttpReqUtil.getInstance().doPost(url, params, null);
|
Thread.sleep(2000);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
return R.data(csvurl);
|
|
}
|
|
/**
|
* 实时视频直播指令下发接口
|
*/
|
@GetMapping("/cmd")
|
public String cmd(int camera, String action) {
|
String url = "http://dvopenapi.aimap.net.cn/openapi/live/cmd";
|
String res = null;
|
Map<String, Object> params = new HashMap<>();
|
//设备imei号
|
params.put("imei", "861636056082414");
|
//摄像头ID
|
params.put("camera", camera);
|
//实时视频指令类型
|
params.put("action", action);
|
params.put("appId", "PO00000761");
|
params.put("timestamp", System.currentTimeMillis());
|
String secert = "dXRGb2pRNVdWOGQ3d1ouV29UYzc1MnJaUnBwTzUx";
|
String computeSign = "";
|
try {
|
computeSign = Md5SignUtil.signRequest(params, secert);
|
} catch (IOException e1) {
|
e1.printStackTrace();
|
}
|
params.put("sign", computeSign);
|
try {
|
//String res = HttpReqUtil.getInstance().doGet(url, params, null);
|
res = HttpReqUtil.getInstance().doPost(url, params, null);
|
System.out.println("----" + res);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return res;
|
}
|
|
|
/**
|
* 轨迹回调
|
*
|
* @param callbackId
|
* @param fileUrl
|
* @throws UnsupportedEncodingException
|
*/
|
@PostMapping("/SaveUrl")
|
@ApiOperation(value = "详情", notes = "传入car")
|
public void SaveUrl(String callbackId, String fileUrl) throws Exception {
|
csvurl = null;
|
List<String> allString = new ArrayList<>();
|
DowloadZipUtil dowloadZipUtil = new DowloadZipUtil();
|
File file = dowloadZipUtil.downloadFile(fileUrl, "D:\\caiji");
|
//文件名
|
String name = file.getName();
|
String substring = name.substring(0, name.length() - 4);
|
//解压数据
|
FileZip fileZip = new FileZip();
|
fileZip.ZipUncompress("D:\\caiji\\" + substring + ".zip", "D:\\caiji");
|
csvurl = "D:\\caiji\\" + substring + ".csv";
|
}
|
/**
|
* 人员
|
* @return
|
* @throws Exception
|
*/
|
@GetMapping("/Peo")
|
public String cs() throws Exception {
|
String url = "http://223.82.109.183:2080/Escort/getgis.php";
|
Map<String, Object> params = new HashMap<>();
|
//设备imei号
|
params.put("acc", "7731");
|
String res = null;
|
res = HttpReqUtil.getInstance().doPost(url, params, null);
|
return res;
|
}
|
|
/**
|
* 轨迹
|
* @return
|
* @throws Exception
|
*/
|
@GetMapping("/Peog")
|
public String Peocar() throws Exception {
|
String url = "http://223.82.109.183:2080/Escort/getgistrack.php";
|
Map<String, Object> params = new HashMap<>();
|
//设备imei号
|
params.put("number", "7730");
|
params.put("acc", "7731");
|
String res = null;
|
res = HttpReqUtil.getInstance().doPost(url, params, null);
|
return res;
|
}
|
}
|