package org.springblade.modules.equipage.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import liquibase.pro.packaged.C; import lombok.AllArgsConstructor; import org.apache.commons.io.FileUtils; import org.apache.commons.net.ftp.FTPConnectionClosedException; 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 javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.io.*; import java.net.URL; import java.net.URLDecoder; import java.nio.charset.Charset; import java.util.*; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; import static org.springblade.common.config.FtpConfig.*; /** * @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> page(CarVo car, Query query) { IPage 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 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 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,String callbackId) throws AWTException { // String url = "http://dvopenapi.aimap.net.cn/openapi/device/historyTrack"; // String res = null; // Map 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", callbackId); // 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 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); // long startTime=System.currentTimeMillis(); //获取开始时间 // res = HttpReqUtil.getInstance().doPost(url, params, null); // long endTime=System.currentTimeMillis(); //获取结束时间 // System.out.println("程序运行时间: "+(endTime-startTime)+"ms"); // } 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; // 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 =substring + ".csv"; // } // /** // * 人员 // * @return // * @throws Exception // */ // @GetMapping("/Peo") // public String cs() throws Exception { // String url = "http://223.82.109.183:2080/Escort/getgis.php"; // Map 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 params = new HashMap<>(); // //设备imei号 // params.put("number", "7730"); // params.put("acc", "7731"); // String res = null; // res = HttpReqUtil.getInstance().doPost(url, params, null); // return res; // } }