智慧保安后台管理项目备份
tangzy
2021-12-01 e8a43c513da23b8b2aec0a09e602206b8b56ff5e
src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
@@ -3,7 +3,11 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import liquibase.pro.packaged.S;
import lombok.AllArgsConstructor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@@ -64,24 +68,26 @@
   @ApiOperation(value = "新增", notes = "传入liveLocation")
   public R saveLiveLocationAndLocus(@RequestBody LiveLocation liveLocation) {
      //先查询是否已有实时位置信息,如果有,则更新,没有则插入
      LiveLocationVo liveLocationVo = liveLocationService.selectLiveLocationInfo(liveLocation);
      LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
      boolean status = false;
      if (null == liveLocationVo){
      if (null == liveLocationInfo){
         //新增
         liveLocation.setRecordTime(new Date());
         status = liveLocationService.save(liveLocation);
      }else {
         //更新
         liveLocationVo.setRecordTime(new Date());
         status = liveLocationService.updateById(liveLocationVo);
         liveLocationInfo.setRecordTime(new Date());
         liveLocationInfo.setLongitude(liveLocation.getLongitude());
         liveLocationInfo.setLatitude(liveLocation.getLatitude());
         status = liveLocationService.updateById(liveLocationInfo);
      }
      if (status){
         //新增轨迹
         Locus locus = new Locus();
         //封装数据
         if (null!=liveLocationVo){
            locus.setLiveLocationId(liveLocationVo.getId());
         if (null!=liveLocationInfo){
            locus.setLiveLocationId(liveLocationInfo.getId());
         }else {
            locus.setLiveLocationId(liveLocation.getId());
         }
@@ -149,4 +155,64 @@
      return R.data(liveLocationService.getLocusInfoList(liveLocationVo));
   }
   /**
    * 获取指令接收人的轨迹数据
    * @param liveLocationVo 实时对象信息
    * @return
    */
   @GetMapping("/getDirectiveLocusInfoList")
   public R<List<List<LocusVo>>> getDirectiveLocusInfoList(LiveLocationVo liveLocationVo){
      return R.data(liveLocationService.getDirectiveLocusInfoList(liveLocationVo));
   }
   /**
    * 首页实时定位
    * @return
    */
   @GetMapping("/getLiveLocationVoList")
   public R<List<LiveLocationVo>> getLiveLocationVoList(LiveLocationVo liveLocationVo){
      return R.data(liveLocationService.getLiveLocationVoList(liveLocationVo));
   }
   /**
    * 获取指令接收人的定位信息
    * @param liveLocationVo 定位数据信息
    * @return
    */
   @GetMapping("/getDirectiveLiveLocationVoList")
   public R<List<LiveLocationVo>> getDirectiveLiveLocationVoList(LiveLocationVo liveLocationVo){
      return R.data(liveLocationService.getDirectiveLiveLocationVoList(liveLocationVo));
   }
   /**
    * 枪支定位
    * @param
    * @param
    * @return
    */
   @GetMapping("/Gun")
   public R Gun(String hwysfzh, String szdw, String kssj, String jssj) {
      String s = httpGetOne(hwysfzh, szdw, kssj, jssj);
      return R.data(s);
   }
   public static String httpGetOne(String hwysfzh, String szdw, String kssj, String jssj) {
      OkHttpClient client = new OkHttpClient();
      Request request = new Request.Builder()
         .url("http://47.49.36.190/api/investigate/gun?hwysfzh="+hwysfzh+"&szdw="+szdw+"&kssj="+kssj+"&jssj="+jssj)
         .get()
         .build();
      try {
         Response response = client.newCall(request).execute();
         return response.body().string();
      } catch (Exception e) {
      }
      return null;
   }
}