智慧保安后台管理-外网项目备份
钟日健
2026-06-01 62eb499b0c969f246d3245d1429a97da4de1ce28
src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
@@ -16,6 +16,7 @@
import org.springblade.modules.location.vo.LiveLocationVOTest;
import org.springblade.modules.location.vo.LiveLocationVo;
import org.springblade.modules.location.vo.LocusVo;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
@@ -36,12 +37,13 @@
   private final LocusService locusService;
   private final MyAsyncService myAsyncService;
   /**
    * 自定义分页
    * @param query page,size
    * @param liveLocation 实时位置信息对象
    *
    * @param query        page,size
    * @param liveLocation 实时位置信息对象
    */
   @GetMapping("/page")
   public R<IPage<LiveLocationVo>> page(LiveLocationVo liveLocation, Query query) {
@@ -51,6 +53,7 @@
   /**
    * 新增
    *
    * @param liveLocation 实时位置信息对象
    */
   @PostMapping("/save")
@@ -62,6 +65,7 @@
   /**
    * 实时位置信息新增,同时新增到轨迹表中
    *
    * @param liveLocation 实时位置信息对象
    */
   @PostMapping("/saveLiveLocationAndLocus")
@@ -70,50 +74,55 @@
      //先查询是否已有实时位置信息,如果有,则更新,没有则插入
      LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
      boolean status = false;
      if (null == liveLocationInfo){
      if (null == liveLocationInfo) {
         //新增
         liveLocation.setRecordTime(new Date());
         status = liveLocationService.save(liveLocation);
         //数据推送
         String s1 =
            "insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
               "values(" + "'" + liveLocation.getId() + "'" + "," +
               "'" + liveLocation.getType() + "'" + "," +
               "'" + liveLocation.getWorkerId() + "'" + "," +
               "'" + liveLocation.getLongitude() + "'" + "," +
               "'" + liveLocation.getLatitude() + "'" + "," +
               "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + "," +
               "'" +liveLocation.getLocation() + "'" + ")";
         FtpUtil.sqlFileUpload(s1);
      }else {
         if (status) {
            //数据推送
            String s1 =
               "insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
                  "values(" + "'" + liveLocation.getId() + "'" + "," +
                  "'" + liveLocation.getType() + "'" + "," +
                  "'" + liveLocation.getWorkerId() + "'" + "," +
                  "'" + liveLocation.getLongitude() + "'" + "," +
                  "'" + liveLocation.getLatitude() + "'" + "," +
                  "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + "," +
                  "'" + liveLocation.getLocation() + "'" + ")";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      } else {
         //更新
         liveLocationInfo.setRecordTime(new Date());
         liveLocationInfo.setLongitude(liveLocation.getLongitude());
         liveLocationInfo.setLatitude(liveLocation.getLatitude());
         status = liveLocationService.updateById(liveLocationInfo);
         //内网同步
         String s1 =
            "update sys_live_location set type = " + "'" + liveLocation.getType() + "'" +
               ",worker_id = " + "'" + liveLocation.getWorkerId() + "'" +
               ",longitude = " + "'" + liveLocation.getLongitude() + "'" +
               ",latitude = " + "'" + liveLocation.getLatitude() + "'" +
               ",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" +
               ",location = " + "'" + liveLocation.getLocation() + "'" +
               " " +"where id = " + "'" + liveLocation.getId() + "'";
         FtpUtil.sqlFileUpload(s1);
         if (status) {
            //内网同步
            String s1 =
               "update sys_live_location set type = " + "'" + liveLocation.getType() + "'" +
                  ",worker_id = " + "'" + liveLocation.getWorkerId() + "'" +
                  ",longitude = " + "'" + liveLocation.getLongitude() + "'" +
                  ",latitude = " + "'" + liveLocation.getLatitude() + "'" +
                  ",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" +
                  ",location = " + "'" + liveLocation.getLocation() + "'" +
                  " " + "where id = " + "'" + liveLocation.getId() + "'";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      }
      if (status){
      if (status) {
         //新增轨迹
         Locus locus = new Locus();
         //封装数据
         if (null!=liveLocationInfo){
         if (null != liveLocationInfo) {
            locus.setLiveLocationId(liveLocationInfo.getId());
         }else {
         } else {
            locus.setLiveLocationId(liveLocation.getId());
         }
         if (null!= liveLocation.getLatitude() && null!=liveLocation.getLongitude()){
         if (null != liveLocation.getLatitude() && null != liveLocation.getLongitude()) {
            locus.setLatitude(liveLocation.getLatitude());
            locus.setLongitude(liveLocation.getLongitude());
         }
@@ -127,10 +136,11 @@
               "'" + locus.getLiveLocationId() + "'" + "," +
               "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + "," +
               "'" + locus.getLongitude() + "'" + "," +
               "'" +locus.getLatitude() + "'" + ")";
         FtpUtil.sqlFileUpload(s2);
               "'" + locus.getLatitude() + "'" + ")";
         //FtpUtil.sqlFileUpload(s2);
         myAsyncService.dataSync(s2);
         if (save1){
         if (save1) {
            //返回数据
            return R.status(true);
         }
@@ -142,6 +152,7 @@
   /**
    * 实时位置信息新增,同时新增到轨迹表中
    *
    * @param locationVOTest 实时位置信息对象
    */
   @PostMapping("/saveLiveLocationAndLocusAsTest")
@@ -157,50 +168,55 @@
      //先查询是否已有实时位置信息,如果有,则更新,没有则插入
      LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
      boolean status = false;
      if (null == liveLocationInfo){
      if (null == liveLocationInfo) {
         //新增
         liveLocation.setRecordTime(new Date());
         status = liveLocationService.save(liveLocation);
         //数据推送
         String s1 =
            "insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
               "values(" + "'" + liveLocation.getId() + "'" + "," +
               "'" + liveLocation.getType() + "'" + "," +
               "'" + liveLocation.getWorkerId() + "'" + "," +
               "'" + liveLocation.getLongitude() + "'" + "," +
               "'" + liveLocation.getLatitude() + "'" + "," +
               "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + "," +
               "'" +liveLocation.getLocation() + "'" + ")";
         FtpUtil.sqlFileUpload(s1);
      }else {
         if (status) {
            //数据推送
            String s1 =
               "insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
                  "values(" + "'" + liveLocation.getId() + "'" + "," +
                  "'" + liveLocation.getType() + "'" + "," +
                  "'" + liveLocation.getWorkerId() + "'" + "," +
                  "'" + liveLocation.getLongitude() + "'" + "," +
                  "'" + liveLocation.getLatitude() + "'" + "," +
                  "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + "," +
                  "'" + liveLocation.getLocation() + "'" + ")";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      } else {
         //更新
         liveLocationInfo.setRecordTime(new Date());
         liveLocationInfo.setLongitude(liveLocation.getLongitude());
         liveLocationInfo.setLatitude(liveLocation.getLatitude());
         status = liveLocationService.updateById(liveLocationInfo);
         //内网同步
         String s1 =
            "update sys_live_location set type = " + "'" + liveLocation.getType() + "'" +
               ",worker_id = " + "'" + liveLocation.getWorkerId() + "'" +
               ",longitude = " + "'" + liveLocation.getLongitude() + "'" +
               ",latitude = " + "'" + liveLocation.getLatitude() + "'" +
               ",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" +
               ",location = " + "'" + liveLocation.getLocation() + "'" +
               " " +"where id = " + "'" + liveLocation.getId() + "'";
         FtpUtil.sqlFileUpload(s1);
         if (status) {
            //内网同步
            String s1 =
               "update sys_live_location set type = " + "'" + liveLocation.getType() + "'" +
                  ",worker_id = " + "'" + liveLocation.getWorkerId() + "'" +
                  ",longitude = " + "'" + liveLocation.getLongitude() + "'" +
                  ",latitude = " + "'" + liveLocation.getLatitude() + "'" +
                  ",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" +
                  ",location = " + "'" + liveLocation.getLocation() + "'" +
                  " " + "where id = " + "'" + liveLocation.getId() + "'";
            //FtpUtil.sqlFileUpload(s1);
            myAsyncService.dataSync(s1);
         }
      }
      if (status){
      if (status) {
         //新增轨迹
         Locus locus = new Locus();
         //封装数据
         if (null!=liveLocationInfo){
         if (null != liveLocationInfo) {
            locus.setLiveLocationId(liveLocationInfo.getId());
         }else {
         } else {
            locus.setLiveLocationId(liveLocation.getId());
         }
         if (null!= liveLocation.getLatitude() && null!=liveLocation.getLongitude()){
         if (null != liveLocation.getLatitude() && null != liveLocation.getLongitude()) {
            locus.setLatitude(liveLocation.getLatitude());
            locus.setLongitude(liveLocation.getLongitude());
         }
@@ -214,10 +230,11 @@
               "'" + locus.getLiveLocationId() + "'" + "," +
               "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + "," +
               "'" + locus.getLongitude() + "'" + "," +
               "'" +locus.getLatitude() + "'" + ")";
         FtpUtil.sqlFileUpload(s2);
               "'" + locus.getLatitude() + "'" + ")";
         myAsyncService.dataSync(s2);
         //FtpUtil.sqlFileUpload(s2);
         if (save1){
         if (save1) {
            //返回数据
            return R.status(true);
         }
@@ -228,6 +245,7 @@
   /**
    * 修改
    *
    * @param liveLocation 实时位置信息对象
    */
   @PostMapping("/update")
@@ -237,6 +255,7 @@
   /**
    * 新增或修改
    *
    * @param liveLocation 实时位置信息对象
    */
   @PostMapping("/submit")
@@ -246,6 +265,7 @@
   /**
    * 删除
    *
    * @param ids 实时位置信息ids 数组
    */
   @PostMapping("/remove")
@@ -255,6 +275,7 @@
   /**
    * 详情
    *
    * @param liveLocation 实时位置信息对象
    */
   @GetMapping("/detail")
@@ -266,20 +287,22 @@
   /**
    * 获取轨迹数据
    *
    * @param liveLocationVo 实时对象信息
    * @return
    */
   @GetMapping("/getLocusInfoList")
   public R<List<LocusVo>> getLocusInfoList(LiveLocationVo liveLocationVo){
   public R<List<LocusVo>> getLocusInfoList(LiveLocationVo liveLocationVo) {
      return R.data(liveLocationService.getLocusInfoList(liveLocationVo));
   }
   /**
    * 首页实时定位
    *
    * @return
    */
   @GetMapping("/getLiveLocationVoList")
   public R<List<LiveLocationVo>> getLiveLocationVoList(LiveLocationVo liveLocationVo){
   public R<List<LiveLocationVo>> getLiveLocationVoList(LiveLocationVo liveLocationVo) {
      return R.data(liveLocationService.getLiveLocationVoList(liveLocationVo));
   }