智慧保安后台管理项目备份
tangzy
2021-11-26 48679fc5bb7e8dc8b8d45a5d2373bd11dc612413
src/main/java/org/springblade/modules/equipage/controller/CarController.java
@@ -3,7 +3,10 @@
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;
@@ -12,6 +15,22 @@
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
@@ -24,11 +43,13 @@
public class CarController {
   private final CarService carService;
   private static String csvurl;
   /**
    * 自定义分页
    *
    * @param query page,size
    * @param car 车辆信息对象
    * @param car   车辆信息对象
    */
   @GetMapping("/page")
   public R<IPage<CarVo>> page(CarVo car, Query query) {
@@ -38,6 +59,7 @@
   /**
    * 新增
    *
    * @param car 车辆信息对象
    */
   @PostMapping("/save")
@@ -48,6 +70,7 @@
   /**
    * 修改
    *
    * @param car 车辆信息对象
    */
   @PostMapping("/update")
@@ -57,6 +80,7 @@
   /**
    * 新增或修改
    *
    * @param car 车辆信息对象
    */
   @PostMapping("/submit")
@@ -66,6 +90,7 @@
   /**
    * 删除
    *
    * @param ids 车辆信息ids 数组
    */
   @PostMapping("/remove")
@@ -75,6 +100,7 @@
   /**
    * 详情
    *
    * @param car 车辆信息对象
    */
   @GetMapping("/detail")
@@ -84,4 +110,164 @@
      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,String callbackId) 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", 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<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);
         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<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;
   }
}