From 0eeeac73d40f04fdd49e8ffcb7c00988cf68040c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 21 Jul 2021 16:16:34 +0800
Subject: [PATCH] 押运人员,车辆,枪支实时位置,轨迹接口新增

---
 src/main/java/org/springblade/modules/location/mapper/LocusMapper.xml                    |   27 ++
 src/main/java/org/springblade/modules/location/service/LocusService.java                 |   24 ++
 src/main/java/org/springblade/modules/location/vo/LiveLocationVo.java                    |   26 ++
 src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.java            |   40 +++
 src/main/java/org/springblade/modules/location/controller/LocusController.java           |   87 +++++++
 src/main/java/org/springblade/modules/location/service/LiveLocationService.java          |   38 +++
 src/main/java/org/springblade/modules/location/mapper/LocusMapper.java                   |   32 ++
 src/main/java/org/springblade/modules/location/controller/LiveLocationController.java    |  152 ++++++++++++
 src/main/java/org/springblade/modules/location/entity/LiveLocation.java                  |   63 +++++
 src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.xml             |   63 +++++
 src/main/java/org/springblade/modules/location/service/impl/LocusServiceImpl.java        |   39 +++
 src/main/java/org/springblade/modules/location/entity/Locus.java                         |   56 ++++
 src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java |   50 ++++
 src/main/java/org/springblade/modules/location/vo/LocusVo.java                           |   14 +
 src/main/resources/application.yml                                                       |    2 
 15 files changed, 713 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java b/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
new file mode 100644
index 0000000..077bb7f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
@@ -0,0 +1,152 @@
+package org.springblade.modules.location.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+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.location.entity.LiveLocation;
+import org.springblade.modules.location.entity.Locus;
+import org.springblade.modules.location.service.LiveLocationService;
+import org.springblade.modules.location.service.LocusService;
+import org.springblade.modules.location.vo.LiveLocationVo;
+import org.springblade.modules.location.vo.LocusVo;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-21
+ * @desc 实时位置控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/liveLocation")
+public class LiveLocationController {
+
+	private final LiveLocationService liveLocationService;
+
+
+	private final LocusService locusService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<LiveLocationVo>> page(LiveLocationVo liveLocation, Query query) {
+		IPage<LiveLocationVo> pages = liveLocationService.selectLiveLocationPage(Condition.getPage(query), liveLocation);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入liveLocation")
+	public R save(@RequestBody LiveLocation liveLocation) {
+		return R.status(liveLocationService.save(liveLocation));
+	}
+
+
+	/**
+	 * 实时位置信息新增,同时新增到轨迹表中
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@PostMapping("/saveLiveLocationAndLocus")
+	@ApiOperation(value = "新增", notes = "传入liveLocation")
+	public R saveLiveLocationAndLocus(@RequestBody LiveLocation liveLocation) {
+		//先查询是否已有实时位置信息,如果有,则更新,没有则插入
+		LiveLocationVo liveLocationVo = liveLocationService.selectLiveLocationInfo(liveLocation);
+		boolean status = false;
+		if (null == liveLocationVo){
+			//新增
+			liveLocation.setRecordTime(new Date());
+			status = liveLocationService.save(liveLocation);
+		}else {
+			//更新
+			liveLocationVo.setRecordTime(new Date());
+			status = liveLocationService.updateById(liveLocationVo);
+		}
+
+		if (status){
+			//新增轨迹
+			Locus locus = new Locus();
+			//封装数据
+			if (null!=liveLocationVo){
+				locus.setLiveLocationId(liveLocationVo.getId());
+			}else {
+				locus.setLiveLocationId(liveLocation.getId());
+			}
+			if (null!= liveLocation.getLatitude() && null!=liveLocation.getLongitude()){
+				locus.setLatitude(liveLocation.getLatitude());
+				locus.setLongitude(liveLocation.getLongitude());
+			}
+			locus.setRecordTime(new Date());
+			//新增轨迹
+			boolean save1 = locusService.save(locus);
+			if (save1){
+				//返回数据
+				return R.status(true);
+			}
+		}
+		//返回数据
+		return R.status(false);
+	}
+
+	/**
+	 * 修改
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody LiveLocation liveLocation) {
+		return R.status(liveLocationService.updateById(liveLocation));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody LiveLocation liveLocation) {
+		return R.status(liveLocationService.saveOrUpdate(liveLocation));
+	}
+
+	/**
+	 * 删除
+	 * @param ids 实时位置信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(liveLocationService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入liveLocation")
+	public R<LiveLocation> detail(LiveLocation liveLocation) {
+		LiveLocation detail = liveLocationService.getOne(Condition.getQueryWrapper(liveLocation));
+		return R.data(detail);
+	}
+
+	/**
+	 * 获取轨迹数据
+	 * @param liveLocationVo 实时对象信息
+	 * @return
+	 */
+	@GetMapping("/getLocusInfoList")
+	public R<List<LocusVo>> getLocusInfoList(LiveLocationVo liveLocationVo){
+		return R.data(liveLocationService.getLocusInfoList(liveLocationVo));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/location/controller/LocusController.java b/src/main/java/org/springblade/modules/location/controller/LocusController.java
new file mode 100644
index 0000000..9c3c212
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/controller/LocusController.java
@@ -0,0 +1,87 @@
+package org.springblade.modules.location.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+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.location.entity.Locus;
+import org.springblade.modules.location.service.LocusService;
+import org.springblade.modules.location.vo.LocusVo;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-06
+ * @desc 轨迹管理控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/locus")
+public class LocusController {
+
+	private final LocusService locusService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param locus 轨迹信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<LocusVo>> page(LocusVo locus, Query query) {
+		IPage<LocusVo> pages = locusService.selectLocusPage(Condition.getPage(query), locus);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param locus 轨迹信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入locus")
+	public R save(@RequestBody Locus locus) {
+		return R.status(locusService.save(locus));
+	}
+
+	/**
+	 * 修改
+	 * @param locus 轨迹信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody Locus locus) {
+		return R.status(locusService.updateById(locus));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param locus 轨迹信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody Locus locus) {
+		return R.status(locusService.saveOrUpdate(locus));
+	}
+
+	/**
+	 * 删除
+	 * @param ids 轨迹信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(locusService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param locus 轨迹信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入locus")
+	public R<LocusVo> detail(Locus locus) {
+		LocusVo detail = locusService.selectLocusInfo(locus);
+		return R.data(detail);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/location/entity/LiveLocation.java b/src/main/java/org/springblade/modules/location/entity/LiveLocation.java
new file mode 100644
index 0000000..8775160
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/entity/LiveLocation.java
@@ -0,0 +1,63 @@
+package org.springblade.modules.location.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 实时位置实体类
+ * @author zhongrj
+ * @time 2021-07-21
+ */
+@Data
+@TableName("sys_live_location")
+public class LiveLocation implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 实时位置主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 类型  1:押运人员  2:押运车辆  3:枪支
+	 */
+	@TableField("type")
+	private Integer type;
+
+
+	/**
+	 * 押运人员/车辆/枪支id
+	 */
+	@TableField("worker_id")
+	private Long workerId;
+
+
+	/**
+	 * 记录时间/上传时间
+	 */
+	@TableField("record_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date recordTime;
+
+
+	/**
+	 * 经度
+	 */
+	private String longitude;
+
+	/**
+	 * 纬度
+	 */
+	private String latitude;
+
+}
diff --git a/src/main/java/org/springblade/modules/location/entity/Locus.java b/src/main/java/org/springblade/modules/location/entity/Locus.java
new file mode 100644
index 0000000..75b5312
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/entity/Locus.java
@@ -0,0 +1,56 @@
+package org.springblade.modules.location.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 轨迹实体类
+ * @author zhongrj
+ * @time 2021-07-21
+ */
+@Data
+@TableName("sys_locus")
+public class Locus implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 轨迹主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 实时位置id
+	 */
+	@TableField("live_location_id")
+	private Long liveLocationId;
+
+
+	/**
+	 * 记录时间/上传时间
+	 */
+	@TableField("record_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date recordTime;
+
+
+	/**
+	 * 经度
+	 */
+	private String longitude;
+
+	/**
+	 * 纬度
+	 */
+	private String latitude;
+
+}
diff --git a/src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.java b/src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.java
new file mode 100644
index 0000000..81a9382
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.java
@@ -0,0 +1,40 @@
+package org.springblade.modules.location.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.location.entity.LiveLocation;
+import org.springblade.modules.location.vo.LiveLocationVo;
+import org.springblade.modules.location.vo.LocusVo;
+
+import java.util.List;
+
+/**
+ * 实时位置Mapper 接口
+ * @author zhongrj
+ */
+public interface LiveLocationMapper extends BaseMapper<LiveLocation> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page   分页
+	 * @param liveLocation 实体
+	 * @return
+	 */
+	List<LiveLocationVo> selectLiveLocationPage(IPage page, @Param("liveLocation") LiveLocationVo liveLocation);
+
+	/**
+	 * 详情
+	 * @param liveLocation 实时位置信息对象
+	 * @return
+	 */
+	LiveLocationVo selectLiveLocationInfo(@Param("liveLocation") LiveLocation liveLocation);
+
+	/**
+	 * 获取轨迹数据
+	 * @param liveLocationVo 实时对象信息
+	 * @return
+	 */
+	List<LocusVo> getLocusInfoList(@Param("liveLocation") LiveLocationVo liveLocationVo);
+}
diff --git a/src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.xml b/src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.xml
new file mode 100644
index 0000000..180ca43
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/mapper/LiveLocationMapper.xml
@@ -0,0 +1,63 @@
+<?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="org.springblade.modules.location.mapper.LiveLocationMapper">
+
+    <!--实时位置分页信息-->
+    <select id="selectLiveLocationPage" resultType="org.springblade.modules.location.vo.LiveLocationVo">
+        SELECT
+            *
+        FROM
+            sys_live_location
+        WHERE
+            1=1
+        <if test="liveLocation.startTime!=null and liveLocation.startTime!=''">
+            and record_time &gt;= #{liveLocation.startTime}
+        </if>
+        <if test="liveLocation.endTime!=null and liveLocation.endTime!=''">
+            and record_time &lt;= #{liveLocation.endTime}
+        </if>
+    </select>
+
+    <!--实时位置详情信息-->
+    <select id="selectLiveLocationInfo" resultType="org.springblade.modules.location.vo.LiveLocationVo">
+        SELECT
+            *
+        FROM
+            sys_live_location
+        WHERE
+            1=1
+        <if test="liveLocation.type!=null">
+            and type = #{liveLocation.type}
+        </if>
+        <if test="liveLocation.workerId!=null and liveLocation.workerId!=''">
+            and worker_id = #{liveLocation.workerId}
+        </if>
+    </select>
+
+    <!--获取轨迹数据-->
+    <select id="getLocusInfoList" resultType="org.springblade.modules.location.vo.LocusVo">
+        select
+            sl.*
+        from
+            sys_locus sl
+        left join
+            sys_live_location sll
+        on
+            sll.id = sl.live_location_id
+        where
+            1=1
+        <if test="liveLocation.type!=null and liveLocation.type!=''">
+            and sll.type = #{liveLocation.type}
+        </if>
+        <if test="liveLocation.workerId!=null and liveLocation.workerId!=''">
+            and sll.worker_id = #{liveLocation.workerId}
+        </if>
+        <if test="liveLocation.startTime!=null and liveLocation.startTime!=''">
+            and sl.record_time &gt;= #{liveLocation.startTime}
+        </if>
+        <if test="liveLocation.endTime!=null and liveLocation.endTime!=''">
+            and sl.record_time &lt;= #{liveLocation.endTime}
+        </if>
+
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/location/mapper/LocusMapper.java b/src/main/java/org/springblade/modules/location/mapper/LocusMapper.java
new file mode 100644
index 0000000..10fc707
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/mapper/LocusMapper.java
@@ -0,0 +1,32 @@
+package org.springblade.modules.location.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.location.entity.Locus;
+import org.springblade.modules.location.vo.LocusVo;
+
+import java.util.List;
+
+/**
+ * 轨迹Mapper 接口
+ * @author zhongrj
+ */
+public interface LocusMapper extends BaseMapper<Locus> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page   分页
+	 * @param locus 实体
+	 * @return
+	 */
+	List<LocusVo> selectLocusPage(IPage page, @Param("locus") LocusVo locus);
+
+	/**
+	 * 详情
+	 * @param locus 轨迹信息对象
+	 * @return
+	 */
+	LocusVo selectLocusInfo(@Param("locus") Locus locus);
+}
diff --git a/src/main/java/org/springblade/modules/location/mapper/LocusMapper.xml b/src/main/java/org/springblade/modules/location/mapper/LocusMapper.xml
new file mode 100644
index 0000000..78acbea
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/mapper/LocusMapper.xml
@@ -0,0 +1,27 @@
+<?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="org.springblade.modules.location.mapper.LocusMapper">
+
+    <!--轨迹分页信息-->
+    <select id="selectLocusPage" resultType="org.springblade.modules.location.vo.LocusVo">
+        SELECT
+            *
+        FROM
+            sys_locus
+        WHERE
+            1=1
+    </select>
+
+    <!--轨迹详情信息-->
+    <select id="selectLocusInfo" resultType="org.springblade.modules.location.vo.LocusVo">
+        SELECT
+            *
+        FROM
+            sys_locus
+        WHERE
+            1=1
+        <if test="locus.id!=null">
+            and id = #{locus.id}
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/location/service/LiveLocationService.java b/src/main/java/org/springblade/modules/location/service/LiveLocationService.java
new file mode 100644
index 0000000..8ea57a3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/service/LiveLocationService.java
@@ -0,0 +1,38 @@
+package org.springblade.modules.location.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.location.entity.LiveLocation;
+import org.springblade.modules.location.vo.LiveLocationVo;
+import org.springblade.modules.location.vo.LocusVo;
+
+import java.util.List;
+
+/**
+ * @author zhongrj
+ */
+public interface LiveLocationService extends IService<LiveLocation> {
+
+	/**
+	 * 实时位置详情
+	 * @param liveLocation 实时位置信息对象
+	 * @return
+	 */
+	LiveLocationVo selectLiveLocationInfo(LiveLocation liveLocation);
+
+	/**
+	 * 实时位置分页信息
+	 * @param page
+	 * @param liveLocation 实时位置信息对象
+	 * @return
+	 */
+	IPage<LiveLocationVo> selectLiveLocationPage(IPage<LiveLocationVo> page, LiveLocationVo liveLocation);
+
+	/**
+	 * 获取轨迹数据
+	 * @param liveLocationVo 实时对象信息
+	 * @return
+	 */
+	List<LocusVo> getLocusInfoList(LiveLocationVo liveLocationVo);
+}
diff --git a/src/main/java/org/springblade/modules/location/service/LocusService.java b/src/main/java/org/springblade/modules/location/service/LocusService.java
new file mode 100644
index 0000000..db01583
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/service/LocusService.java
@@ -0,0 +1,24 @@
+package org.springblade.modules.location.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.location.entity.Locus;
+import org.springblade.modules.location.vo.LocusVo;
+
+public interface LocusService extends IService<Locus> {
+
+	/**
+	 * 详情
+	 * @param locus 轨迹信息对象
+	 * @return
+	 */
+	LocusVo selectLocusInfo(Locus locus);
+
+	/**
+	 * 分页
+	 * @param page
+	 * @param locus
+	 * @return
+	 */
+	IPage<LocusVo> selectLocusPage(IPage<LocusVo> page, LocusVo locus);
+}
diff --git a/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java b/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
new file mode 100644
index 0000000..4a3c09c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
@@ -0,0 +1,50 @@
+package org.springblade.modules.location.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.location.entity.LiveLocation;
+import org.springblade.modules.location.mapper.LiveLocationMapper;
+import org.springblade.modules.location.service.LiveLocationService;
+import org.springblade.modules.location.vo.LiveLocationVo;
+import org.springblade.modules.location.vo.LocusVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 实时位置服务实现类
+ * @author zhongrj
+ */
+@Service
+public class LiveLocationServiceImpl extends ServiceImpl<LiveLocationMapper, LiveLocation> implements LiveLocationService {
+
+	/**
+	 * 实时位置分页信息
+	 * @param page
+	 * @param liveLocation 实时位置信息对象
+	 * @return
+	 */
+	@Override
+	public IPage<LiveLocationVo> selectLiveLocationPage(IPage<LiveLocationVo> page, LiveLocationVo liveLocation) {
+		return page.setRecords(baseMapper.selectLiveLocationPage(page, liveLocation));
+	}
+
+	/**
+	 * 详情
+	 * @param liveLocation 实时位置信息对象
+	 */
+	@Override
+	public LiveLocationVo selectLiveLocationInfo(LiveLocation liveLocation) {
+		return baseMapper.selectLiveLocationInfo(liveLocation);
+	}
+
+	/**
+	 * 获取轨迹数据
+	 * @param liveLocationVo 实时对象信息
+	 * @return
+	 */
+	@Override
+	public List<LocusVo> getLocusInfoList(LiveLocationVo liveLocationVo) {
+		return baseMapper.getLocusInfoList(liveLocationVo);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/location/service/impl/LocusServiceImpl.java b/src/main/java/org/springblade/modules/location/service/impl/LocusServiceImpl.java
new file mode 100644
index 0000000..6c06cb8
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/service/impl/LocusServiceImpl.java
@@ -0,0 +1,39 @@
+
+package org.springblade.modules.location.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.location.entity.Locus;
+import org.springblade.modules.location.mapper.LocusMapper;
+import org.springblade.modules.location.service.LocusService;
+import org.springblade.modules.location.vo.LocusVo;
+import org.springframework.stereotype.Service;
+
+/**
+ * 轨迹服务实现类
+ * @author zhongrj
+ */
+@Service
+public class LocusServiceImpl extends ServiceImpl<LocusMapper, Locus> implements LocusService {
+
+	/**
+	 * 轨迹列表信息
+	 * @param page
+	 * @param rquipage
+	 * @return
+	 */
+	@Override
+	public IPage<LocusVo> selectLocusPage(IPage<LocusVo> page, LocusVo rquipage) {
+		return page.setRecords(baseMapper.selectLocusPage(page, rquipage));
+	}
+
+	/**
+	 * 详情
+	 * @param rquipage 轨迹信息对象
+	 */
+	@Override
+	public LocusVo selectLocusInfo(Locus rquipage) {
+		return baseMapper.selectLocusInfo(rquipage);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/location/vo/LiveLocationVo.java b/src/main/java/org/springblade/modules/location/vo/LiveLocationVo.java
new file mode 100644
index 0000000..7fdea2a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/vo/LiveLocationVo.java
@@ -0,0 +1,26 @@
+package org.springblade.modules.location.vo;
+
+import lombok.Data;
+import org.springblade.modules.location.entity.LiveLocation;
+
+import java.io.Serializable;
+
+/**
+ * @author zhongrj
+ * @since 2021-07-21
+ */
+@Data
+public class LiveLocationVo extends LiveLocation implements Serializable {
+
+
+	/**
+	 * 开始时间
+	 */
+	private String startTime;
+
+	/**
+	 * 结束时间
+	 */
+	private String endTime;
+
+}
diff --git a/src/main/java/org/springblade/modules/location/vo/LocusVo.java b/src/main/java/org/springblade/modules/location/vo/LocusVo.java
new file mode 100644
index 0000000..a9b91ad
--- /dev/null
+++ b/src/main/java/org/springblade/modules/location/vo/LocusVo.java
@@ -0,0 +1,14 @@
+package org.springblade.modules.location.vo;
+
+import lombok.Data;
+import org.springblade.modules.location.entity.Locus;
+
+import java.io.Serializable;
+
+/**
+ * @author zhongrj
+ */
+@Data
+public class LocusVo extends Locus implements Serializable {
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index dbe474f..74b414b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -193,6 +193,8 @@
     #接口放行
     skip-url:
       - /blade-test/**
+      - /liveLocation/**
+      - /locus/**
     #授权认证配置
     auth:
       - method: ALL

--
Gitblit v1.9.3