From 0bdd4bcee9d66e5372df5351ec0008b23302ffff Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 11 Aug 2023 16:36:06 +0800
Subject: [PATCH] feat:走航车路段重写

---
 screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java            |    8 
 screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java                  |    8 
 screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java                |   26 ++
 screen-manage/src/main/resources/mapper/ManageCoordinateDetailMapper.xml                      |   18 +
 screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java            |    7 
 screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java |   50 +++
 screen-manage/src/main/java/com/moral/api/controller/CruiserController.java                   |   80 ++++++
 screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java              |    6 
 screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java   |   52 ++++
 screen-manage/src/main/java/com/moral/api/service/ManageCoordinateDetailService.java          |   13 +
 screen-manage/src/main/java/com/moral/api/pojo/dto/cruiser/CruiserDTO.java                    |   46 +++
 screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java    |   90 ++++++
 screen-manage/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java                  |   58 ++++
 screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java                        |   57 ++++
 screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml                            |   18 +
 screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java          |   98 +++++++
 screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java       |   81 ++++++
 screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml                        |    9 
 18 files changed, 725 insertions(+), 0 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java b/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java
new file mode 100644
index 0000000..2c34812
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/CruiserController.java
@@ -0,0 +1,80 @@
+package com.moral.api.controller;
+
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.ManageCoordinate;
+import com.moral.api.entity.SpecialDevice;
+import com.moral.api.pojo.dto.cruiser.CruiserDTO;
+import com.moral.api.service.HistorySecondCruiserService;
+import com.moral.api.service.ManageCoordinateService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import com.moral.util.WebUtils;
+
+@Slf4j
+@Api(tags = {"���������������������"})
+@RestController
+@RequestMapping("cruiserInfo")
+public class CruiserController {
+
+
+    @Autowired
+    private HistorySecondCruiserService historySecondCruiserService;
+
+
+
+
+    /**
+     *
+     * @return
+     */
+    @GetMapping("selectCruisers")
+    @ApiOperation(value = "���������������������")
+    public ResultMessage selectCruisers() {
+        List<SpecialDevice> specialDevices = historySecondCruiserService.selectCruisers();
+        if (ObjectUtils.isEmpty(specialDevices)){
+            return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(),
+                    ResponseCodeEnum.TARGET_IS_NULL.getMsg());
+        }
+        return ResultMessage.ok(specialDevices);
+    }
+
+    @GetMapping("getCruiserInFo")
+    @ApiOperation(value = "���������������", notes = "���������������")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
+            @ApiImplicitParam(name = "mac", value = "������mac", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "time1", value = "���������2021-08-18", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "time2", value = "���������2021-08-18", required = true, paramType = "query", dataType = "String")
+    })
+    public ResultMessage getCruiserInFo(HttpServletRequest request){
+        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
+        if (!params.containsKey("mac") || !params.containsKey("time1")|| !params.containsKey("time2")) {
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        List<CruiserDTO> data = historySecondCruiserService.getCruiserInFo(params);
+
+        return ObjectUtils.isEmpty(data)? ResultMessage.ok() : ResultMessage.ok(data);
+    }
+
+
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java
new file mode 100644
index 0000000..a343950
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java
@@ -0,0 +1,98 @@
+package com.moral.api.controller;
+
+
+import io.swagger.annotations.Api;
+import javafx.scene.input.Mnemonic;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Update;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.ManageCoordinate;
+import com.moral.api.service.ManageCoordinateService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+
+@Slf4j
+@RestController
+@Api(tags = {"������������������"})
+@RequestMapping("coordinate")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class ManageCoordinateController {
+
+    @Autowired
+    private ManageCoordinateService manageCoordinateService;
+
+
+
+    /**
+     * ������������������
+     * @param params
+     * @return
+     */
+    @PostMapping("interCruiserRoad")
+    public ResultMessage interCruiserRoad(@RequestBody Map<String,Object> params){
+        if (!params.containsKey("startPoint") || !params.containsKey("endPoint")) {
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        Integer integer = manageCoordinateService.interCoordinate(params);
+        if (integer==null){
+            return ResultMessage.ok("���������������");
+        }
+        return ResultMessage.ok();
+    }
+
+
+    /**
+     * ������������������
+     * @param manageCoordinate
+     * @return
+     */
+    @PostMapping("updateCruiserRoad")
+    public ResultMessage updateCruiserRoad(@RequestBody ManageCoordinate manageCoordinate){
+        if (ObjectUtils.isEmpty(manageCoordinate)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        manageCoordinateService.updateCoordinate(manageCoordinate);
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������������
+     * @param id
+     * @return
+     */
+    @GetMapping("deleteCruiserRoad")
+    public ResultMessage deleteCruiser(Integer id){
+        if (id==null){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        manageCoordinateService.deleteCoordinate(id);
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������������
+     *
+     * @return
+     */
+    @GetMapping("selectCruiserRoad")
+    public ResultMessage selectCruiser(){
+        List<ManageCoordinate> manageCoordinates = manageCoordinateService.selectCoordinate();
+        if (ObjectUtils.isEmpty(manageCoordinates)){
+            return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(),
+                    ResponseCodeEnum.TARGET_IS_NULL.getMsg());
+        }
+        return ResultMessage.ok(manageCoordinates);
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
new file mode 100644
index 0000000..d819dd2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
@@ -0,0 +1,90 @@
+package com.moral.api.controller;
+
+
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.ManageCoordinateDetail;
+import com.moral.api.service.ManageCoordinateDetailService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+
+
+@Slf4j
+@RestController
+@Api(tags = {"���������������������"})
+@RequestMapping("coordinateDetail")
+public class ManageCoordinateDetailController {
+
+
+    @Autowired
+    private ManageCoordinateDetailService manageCoordinateDetailService;
+
+    /**
+     * ������������������
+     * @param manageCoordinateDetail
+     * @return
+     */
+    @PostMapping("insert")
+    public ResultMessage insert(@RequestBody ManageCoordinateDetail manageCoordinateDetail){
+        if (ObjectUtils.isEmpty(manageCoordinateDetail)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        Integer integer = manageCoordinateDetailService.insertCoordinate(manageCoordinateDetail);
+        if (integer==null){
+            return ResultMessage.ok("������������������");
+        }
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������
+     * @return
+     */
+    @PostMapping("batch")
+    public ResultMessage  getInserts(){
+        return null;
+    }
+
+    /**
+     * ������������������
+     * @param manageCoordinateDetail
+     * @return
+     */
+    @PostMapping("update")
+    public ResultMessage update(@RequestBody ManageCoordinateDetail manageCoordinateDetail){
+        return null;
+    }
+
+
+    /**
+     * ������������������
+     * @param id
+     * @return
+     */
+    @GetMapping("delete")
+    public ResultMessage delete(Integer id){
+        if (id==null){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        manageCoordinateDetailService.deleteCoordinate(id);
+        return ResultMessage.ok();
+    }
+
+
+    /**
+     * ���������������
+     * @return
+     */
+    @GetMapping("select")
+    public ResultMessage selectAll(){
+        return null;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java b/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java
new file mode 100644
index 0000000..976f806
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java
@@ -0,0 +1,57 @@
+package com.moral.api.entity;
+
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+/**
+ * ���������������
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ManageCoordinate  extends Model<ManageCoordinate> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ������id
+     */
+    @TableId(value = "coordinate_id", type = IdType.AUTO)
+    private  Integer coordinateId;
+    /**
+     * ������������
+     */
+    private  String startPoint;
+    /**
+     * ������������
+     */
+    private  String endPoint;
+    /**
+     *������������
+     */
+    private  Integer isDel;
+    /**
+     * ������������
+     */
+    private Date  createTime;
+    /**
+     * ������������
+     */
+    private Date  updateTime;
+
+    /**
+     * ���������id
+     *
+     */
+    private  Integer updateUserId;
+    /**
+     * ���������������
+     */
+    private  String updayeUserName;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java b/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java
new file mode 100644
index 0000000..c87c537
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java
@@ -0,0 +1,58 @@
+package com.moral.api.entity;
+
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ManageCoordinateDetail extends Model<ManageCoordinateDetail> {
+
+    private static final long serialVersionUID = 1L;
+
+
+    /**
+     * ���������id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private  Integer id;
+
+    /**
+     * ������id
+     */
+    private  Integer coordinateId;
+    /**
+     * ������
+     */
+    private  Double longitude;
+    /**
+     *������
+     */
+    private  Double latitude;
+    /**
+     * ������������
+     */
+    private Date createTime;
+    /**
+     * ������������
+     */
+    private Date  updateTime;
+
+    /**
+     * ���������id
+     *
+     */
+    private  Integer updateUserId;
+    /**
+     * ���������������
+     */
+    private  String updayeUserName;
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java
index 9eaabe9..0cab33e 100644
--- a/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java
+++ b/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java
@@ -1,7 +1,11 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+import java.util.Map;
+
 import com.moral.api.entity.HistorySecondCruiser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.pojo.dto.cruiser.CruiserDTO;
 
 /**
  * <p>
@@ -13,4 +17,6 @@
  */
 public interface HistorySecondCruiserMapper extends BaseMapper<HistorySecondCruiser> {
 
+    List<CruiserDTO> getCruiserInfo(Map<String,Object> params);
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java
new file mode 100644
index 0000000..86a4bd0
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java
@@ -0,0 +1,7 @@
+package com.moral.api.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.entity.ManageCoordinateDetail;
+
+public interface ManageCoordinateDetailMapper extends BaseMapper<ManageCoordinateDetail> {
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java
new file mode 100644
index 0000000..2a83638
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java
@@ -0,0 +1,8 @@
+package com.moral.api.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.entity.ManageCoordinate;
+
+
+public interface ManageCoordinateMapper extends BaseMapper<ManageCoordinate> {
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/cruiser/CruiserDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/cruiser/CruiserDTO.java
new file mode 100644
index 0000000..af4c2ed
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/cruiser/CruiserDTO.java
@@ -0,0 +1,46 @@
+package com.moral.api.pojo.dto.cruiser;
+
+
+import lombok.Data;
+
+import java.util.Objects;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@Data
+public class CruiserDTO {
+
+    /**
+     * ������������
+     */
+    private String time;
+
+    /**
+     * ������
+     */
+    @JsonProperty(value = "flylat")
+    private Double flyLat;
+
+    /**
+     * ������
+     */
+    @JsonProperty(value = "flylon")
+    private Double flyLon;
+
+
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        CruiserDTO cruiser = (CruiserDTO) o;
+        //���type���color ������������������������������������true
+        return Objects.equals(flyLat, cruiser.flyLat) &&
+                Objects.equals(flyLon, cruiser.flyLon);
+    }
+    @Override
+    public int hashCode() {
+        return Objects.hash(flyLat, flyLon);
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java b/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
index f83f252..37b16df 100644
--- a/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
@@ -2,7 +2,10 @@
 
 import com.moral.api.entity.HistorySecondCruiser;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.SpecialDevice;
+import com.moral.api.pojo.dto.cruiser.CruiserDTO;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -18,4 +21,9 @@
     //���������insert
     void insertHistorySecond(Map<String, Object> data);
 
+    //���������������������
+    List<SpecialDevice> selectCruisers();
+
+    //���������������������
+    List<CruiserDTO> getCruiserInFo(Map<String, Object> params);
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateDetailService.java b/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateDetailService.java
new file mode 100644
index 0000000..ae2d9a4
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateDetailService.java
@@ -0,0 +1,13 @@
+package com.moral.api.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.ManageCoordinateDetail;
+
+public interface ManageCoordinateDetailService extends IService<ManageCoordinateDetail> {
+
+
+    Integer insertCoordinate(ManageCoordinateDetail manageCoordinateDetail);
+
+
+    void  deleteCoordinate(Integer id);
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java b/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java
new file mode 100644
index 0000000..7ce8b5f
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java
@@ -0,0 +1,26 @@
+package com.moral.api.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.ManageCoordinate;
+
+public interface ManageCoordinateService extends IService<ManageCoordinate> {
+    /**
+     * ������������������
+     * @param params
+     * @return
+     */
+    Integer interCoordinate(Map<String,Object> params);
+
+
+    void updateCoordinate(ManageCoordinate manageCoordinate);
+
+
+    void deleteCoordinate(Integer id);
+
+
+    List<ManageCoordinate> selectCoordinate();
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
index e9d6ac2..0b2e9af 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
@@ -1,10 +1,13 @@
 package com.moral.api.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.moral.api.entity.HistorySecondCruiser;
 import com.moral.api.entity.Sensor;
 import com.moral.api.entity.SpecialDevice;
 import com.moral.api.mapper.HistorySecondCruiserMapper;
+import com.moral.api.mapper.SpecialDeviceMapper;
+import com.moral.api.pojo.dto.cruiser.CruiserDTO;
 import com.moral.api.service.DeviceService;
 import com.moral.api.service.HistorySecondCruiserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,10 +15,15 @@
 import com.moral.constant.Constants;
 import com.moral.constant.RedisConstants;
 import com.moral.util.DateUtils;
+
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
 
+import java.sql.Wrapper;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -29,6 +37,7 @@
  * @author moral
  * @since 2021-09-02
  */
+@Slf4j
 @Service
 public class HistorySecondCruiserServiceImpl extends ServiceImpl<HistorySecondCruiserMapper, HistorySecondCruiser> implements HistorySecondCruiserService {
 
@@ -37,6 +46,8 @@
 
     @Autowired
     private SpecialDeviceService specialDeviceService;
+    @Autowired
+    private SpecialDeviceMapper specialDeviceMapper;
 
     @Autowired
     private RedisTemplate redisTemplate;
@@ -78,4 +89,45 @@
         historySecondCruiser.setBatch(batchTime);
         historySecondCruiserMapper.insert(historySecondCruiser);
     }
+
+    /**
+     * ���������������������������
+     * @return
+     */
+    @Override
+    public List<SpecialDevice> selectCruisers() {
+        QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>();
+        wrapper.eq("is_delete",Constants.NOT_DELETE);
+        List<SpecialDevice> specialDevices = specialDeviceMapper.selectList(wrapper);
+        return specialDevices;
+    }
+
+    /**
+     * ���������������������
+     * @param params
+     * @return
+     */
+    @Override
+    public List<CruiserDTO> getCruiserInFo(Map<String, Object> params) {
+        params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
+        List<CruiserDTO> data = historySecondCruiserMapper.getCruiserInfo(params);
+        List<CruiserDTO> rsCruiser = data.stream().distinct().collect(Collectors.toList());
+        rsCruiser.removeIf(o->{
+            if (ObjectUtils.isEmpty(o.getFlyLon()) || ObjectUtils.isEmpty(o.getFlyLat())) {
+                return true;
+            }
+            double lon = o.getFlyLon();
+            double lat = o.getFlyLat();
+            if (lon < 70 || lon > 150 || lat < 20 || lat > 60) {
+                return true;
+            }
+            return false;
+        });
+        if(CollectionUtils.isEmpty(data)){
+            return null;
+        }
+        log.info(data.size()+"");
+        log.info(rsCruiser.size()+"");
+        return rsCruiser;
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
new file mode 100644
index 0000000..66fc777
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
@@ -0,0 +1,50 @@
+package com.moral.api.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.entity.ManageCoordinateDetail;
+import com.moral.api.mapper.ManageCoordinateDetailMapper;
+import com.moral.api.service.ManageCoordinateDetailService;
+
+
+@Service
+public class ManageCoordinateDetailServiceImpl extends ServiceImpl<ManageCoordinateDetailMapper, ManageCoordinateDetail> implements ManageCoordinateDetailService {
+
+
+    @Autowired
+    private  ManageCoordinateDetailMapper manageCoordinateDetailMapper;
+    /**
+     * ���������������
+     * @param manageCoordinateDetail
+     * @return
+     */
+    @Override
+    public Integer insertCoordinate(ManageCoordinateDetail manageCoordinateDetail) {
+        QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("coordinate_id",manageCoordinateDetail.getCoordinateId());
+        queryWrapper.eq("longitude",manageCoordinateDetail.getLongitude());
+        queryWrapper.eq("latitude",manageCoordinateDetail.getLatitude());
+        Integer integer = manageCoordinateDetailMapper.selectCount(queryWrapper);
+        if (integer<1){
+            manageCoordinateDetail.setCreateTime(new Date());
+            manageCoordinateDetail.setUpdateTime(new Date());
+            int insert = manageCoordinateDetailMapper.insert(manageCoordinateDetail);
+            return insert;
+        }
+        return null;
+    }
+
+    /**
+     * ������������������
+     * @param id
+     */
+    @Override
+    public void deleteCoordinate(Integer id) {
+        manageCoordinateDetailMapper.deleteById(id);
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
new file mode 100644
index 0000000..98c4569
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
@@ -0,0 +1,81 @@
+package com.moral.api.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.entity.ManageCoordinate;
+import com.moral.api.mapper.ManageCoordinateMapper;
+import com.moral.api.service.ManageCoordinateService;
+
+
+@Service
+public class ManageCoordinateServiceImpl extends ServiceImpl<ManageCoordinateMapper, ManageCoordinate> implements ManageCoordinateService {
+
+    @Autowired
+    private ManageCoordinateMapper manageCoordinateMapper;
+
+    /**
+     * ������������
+     * @param params
+     * @return
+     */
+    @Override
+    public Integer interCoordinate(Map<String, Object> params) {
+        String startPoint = params.get("startPoint").toString();
+        String endPoint = params.get("endPoint").toString();
+        QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("start_point",startPoint);
+        queryWrapper.eq("end_point",endPoint);
+        Integer integer = manageCoordinateMapper.selectCount(queryWrapper);
+        if (integer>=1){
+            return null;
+        }
+        ManageCoordinate manageCoordinate = new ManageCoordinate();
+        manageCoordinate.setCreateTime(new Date());
+        manageCoordinate.setUpdateTime(new Date());
+        manageCoordinate.setStartPoint(startPoint);
+        manageCoordinate.setEndPoint(endPoint);
+        manageCoordinate.setIsDel(0);
+        int code = manageCoordinateMapper.insert(manageCoordinate);
+        return code;
+    }
+
+    /**
+     * ������������
+     * @param manageCoordinate
+     */
+    @Override
+    public void updateCoordinate(ManageCoordinate manageCoordinate) {
+        manageCoordinate.setUpdateTime(new Date());
+        manageCoordinateMapper.updateById(manageCoordinate);
+    }
+
+    /**
+     * ������������
+     * @param id
+     */
+    @Override
+    public void deleteCoordinate(Integer id) {
+
+        manageCoordinateMapper.deleteById(id);
+    }
+
+    /**
+     * ������������������
+     * @return
+     */
+    @Override
+    public List<ManageCoordinate> selectCoordinate() {
+        QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_del",0);
+        List<ManageCoordinate> manageCoordinates = manageCoordinateMapper.selectList(queryWrapper);
+        return manageCoordinates;
+    }
+}
diff --git a/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml b/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
index a69ab10..553e496 100644
--- a/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
+++ b/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
@@ -11,4 +11,13 @@
                     <result column="batch" property="batch" />
         </resultMap>
 
+    <select id="getCruiserInfo" resultType="com.moral.api.pojo.dto.cruiser.CruiserDTO">
+        select  DATE_FORMAT(`time`, #{dateFormat}) AS time,value ->>'$.flylat' as flyLat,value ->>'$.flylon' as flyLon
+        from history_second_cruiser
+        WHERE mac = #{mac}
+          AND `time` <![CDATA[>=]]> #{time1}
+          AND `time` <![CDATA[<=]]> #{time2}
+        order by time
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/resources/mapper/ManageCoordinateDetailMapper.xml b/screen-manage/src/main/resources/mapper/ManageCoordinateDetailMapper.xml
new file mode 100644
index 0000000..c24070a
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/ManageCoordinateDetailMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.api.mapper.ManageCoordinateDetailMapper">
+
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageCoordinateDetail">
+        <id column="id" property="id" />
+        <result column="coordinate_id" property="coordinateId" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="update_user_id" property="updateUserId" />
+        <result column="updaye_user_name" property="updayeUserName" />
+    </resultMap>
+
+
+</mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml b/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml
new file mode 100644
index 0000000..61492c7
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.api.mapper.ManageCoordinateMapper">
+
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageCoordinate">
+        <id column="coordinate_id" property="coordinateId" />
+        <result column="start_point" property="startPoint" />
+        <result column="end_point" property="endPoint" />
+        <result column="is_del" property="isDel" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="update_user_id" property="updateUserId" />
+        <result column="updaye_user_name" property="updayeUserName" />
+    </resultMap>
+
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0