Quellcode durchsuchen

添加gps对接18平台

bihs vor 2 Wochen
Ursprung
Commit
c19818faed
14 geänderte Dateien mit 559 neuen und 0 gelöschten Zeilen
  1. 53 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/CenternonitorTBeidouPositionController.java
  2. 55 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/CenternonitorTBeidouTrajectoryController.java
  3. 120 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/CenternonitorTBeidouPosition.java
  4. 78 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/CenternonitorTBeidouTrajectory.java
  5. 17 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/CenternonitorTBeidouPositionMapper.java
  6. 23 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/CenternonitorTBeidouTrajectoryMapper.java
  7. 15 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/ICenternonitorTBeidouPositionService.java
  8. 15 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/ICenternonitorTBeidouTrajectoryService.java
  9. 28 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/CenternonitorTBeidouPositionServiceImpl.java
  10. 42 0
      src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/CenternonitorTBeidouTrajectoryServiceImpl.java
  11. 8 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory.java
  12. 6 0
      src/main/java/com/sooka/sponest/monitor/remoteapi/service/data/RemoteDataBaseService.java
  13. 34 0
      src/main/resources/mapper/monitor/meiqiguan/CenternonitorTBeidouPositionMapper.xml
  14. 65 0
      src/main/resources/mapper/monitor/meiqiguan/CenternonitorTBeidouTrajectoryMapper.xml

+ 53 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/CenternonitorTBeidouPositionController.java

@@ -0,0 +1,53 @@
+package com.sooka.sponest.monitor.meiqiguan.controller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.sooka.sponest.monitor.meiqiguan.service.ICenternonitorTBeidouPositionService;
+import org.springframework.beans.factory.annotation.Autowired;
+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.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 18平台北斗定位位置信息Controller
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+@RestController
+@RequestMapping("/position")
+public class CenternonitorTBeidouPositionController extends BaseController {
+    @Autowired
+    private ICenternonitorTBeidouPositionService centernonitorTBeidouPositionService;
+
+    /**
+     * 批量新增18平台北斗定位位置信息
+     */
+    @Log(title = "18平台北斗定位位置信息", businessType = BusinessType.INSERT)
+    @PostMapping("/saveBatchBeidouPosition")
+    public AjaxResult saveBatch(@RequestBody List<Map<String, Object>> list) {
+        List<Map<String, Object>> saveList = list.stream()
+                .map(map -> {
+                    Map<String, Object> newMap = new HashMap<>(map);
+                    Object macidObj = newMap.get("Macid");
+                    if (macidObj instanceof String) {
+                        String macid = (String) macidObj;
+                        if (macid.startsWith("0")) {
+                            newMap.put("Macid", macid.substring(1));
+                        }
+                    }
+                    return newMap;
+                })
+                .collect(Collectors.toList());
+        return toAjax(centernonitorTBeidouPositionService.saveBatchBeidouPosition(saveList));
+    }
+
+}

+ 55 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/controller/CenternonitorTBeidouTrajectoryController.java

@@ -0,0 +1,55 @@
+package com.sooka.sponest.monitor.meiqiguan.controller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.sooka.sponest.monitor.meiqiguan.service.ICenternonitorTBeidouTrajectoryService;
+import com.sooka.sponest.monitor.remoteapi.service.data.RemoteDataBaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+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 javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 18平台北斗定位历史轨迹Controller
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+@RestController
+@RequestMapping("/trajectory")
+public class CenternonitorTBeidouTrajectoryController extends BaseController {
+    @Autowired
+    private ICenternonitorTBeidouTrajectoryService centernonitorTBeidouTrajectoryService;
+
+
+    /**
+     * 批量新增18平台北斗定位历史轨迹
+     */
+    @Log(title = "18平台北斗定位历史轨迹", businessType = BusinessType.INSERT)
+    @PostMapping("/saveBatchBeidouTrajectory")
+    public AjaxResult saveBatch(@RequestBody List<Map<String, Object>> list) {
+        List<Map<String, Object>> saveList = list.stream()
+                .map(map -> {
+                    Map<String, Object> newMap = new HashMap<>(map);
+                    Object macidObj = newMap.get("Macid");
+                    if (macidObj instanceof String) {
+                        String macid = (String) macidObj;
+                        if (macid.startsWith("0")) {
+                            newMap.put("Macid", macid.substring(1));
+                        }
+                    }
+                    return newMap;
+                })
+                .collect(Collectors.toList());
+        return toAjax(centernonitorTBeidouTrajectoryService.saveBatchBeidouTrajectory(saveList));
+    }
+}

+ 120 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/CenternonitorTBeidouPosition.java

@@ -0,0 +1,120 @@
+package com.sooka.sponest.monitor.meiqiguan.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 18平台北斗定位位置信息对象 centernonitor_t_beidou_position
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+@Data
+public class CenternonitorTBeidouPosition extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 设备编号
+     */
+    @Excel(name = "设备编号")
+    private String macid;
+
+    /**
+     * Gps时间 utc 毫秒时间戳;
+     * wifi、Lbs定位或状态、心跳则最后一次Gps时间;未上传过为0;
+     */
+    @Excel(name = "Gps时间 utc 毫秒时间戳; wifi、Lbs定位或状态、心跳则最后一次Gps时间;未上传过为0;")
+    private String gpsTime;
+
+    /**
+     * 信号时间 utc 毫秒时间戳
+     */
+    @Excel(name = "信号时间 utc 毫秒时间戳 ")
+    private String heartTime;
+
+    /**
+     * 最后一次更新位置[gps\wifi\LBS都会更新]时间 utc 毫秒时间戳;
+     * 只有位置有改变才更新时间,静止状态时间不变;
+     */
+    @Excel(name = "最后一次更新位置时间 utc 毫秒时间戳; 只有位置有改变才更新时间,静止状态时间不变;")
+    private String updTime;
+
+    /**
+     * 速度
+     */
+    @Excel(name = "速度 ")
+    private Long speed;
+
+    /**
+     * 方向
+     */
+    @Excel(name = "方向")
+    private Long dir;
+
+    /**
+     * 纬度【wifi\lbs\GPS:请根据SignalType做区分】
+     */
+    @Excel(name = "纬度")
+    private String lat;
+
+    /**
+     * 经度【wifi\lbs\GPS:请根据SignalType做区分】
+     */
+    @Excel(name = "经度")
+    private String lon;
+
+    /**
+     * 地图纬度【wifi\lbs\GPS:请根据SignalType做区分】,默认百度纬度
+     */
+    @Excel(name = "地图纬度,默认百度纬度")
+    private String mapLat;
+
+    /**
+     * 地图经度【wifi\lbs\GPS:请根据SignalType做区分】,默认百度经度
+     */
+    @Excel(name = "地图经度,默认百度经度")
+    private String mapLon;
+
+    /**
+     * 状态逗号分割(不支持为空):
+     * ---第一位:acc状 1 开,0关
+     * ---第二位:设防状态,1设防,0撤防
+     * ---第三位:油路,1 接通,0是断开
+     * ---第四位:已删除,
+     * ---第五位:门状态, 1 开,0关
+     * ---第六位:定位状态,1为GPS定位,0为LBS\WIFI等其它定位
+     * ---第七位:主电状态
+     */
+    @Excel(name = "状态逗号分割", readConverterExp = "不=支持为空")
+    private String stats;
+
+    /**
+     * 数值状态逗号分割(不支持为空):
+     * --第一位: 里程【米】
+     * --第二位: 油量, 主油箱油量【L】
+     * --第三位:重量,
+     * --第四位:温度1, 多路用 ‘|’ 分隔开(˚C)
+     * --第五位:备用电池电量,(大于100需要-100为V,其它为百分比)
+     * --第六位:主电源电压
+     * --第七位:GPS颗数(gpscount),
+     * --第八位: gsm信号强度(gsmlevel),
+     * --第九位: 正反转(ClockwiseState),
+     * --第十位: 车载状态(VehicleState),
+     * --第十一位:龙锁数(lockcnt) ,
+     * --第十二位:副油箱油量(ViceOil)
+     * --第十三位:已删除
+     * --第十四位:已删除
+     * --第十五位:高度 (height)
+     * --第十六位:定位信号类型(SignalType) // 0:GPS,16:LBS(基站)
+     * --第十七位:步数(StepNumber)
+     */
+    @Excel(name = "数值状态逗号分割", readConverterExp = "不=支持为空")
+    private String value;
+
+}

+ 78 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/domain/CenternonitorTBeidouTrajectory.java

@@ -0,0 +1,78 @@
+package com.sooka.sponest.monitor.meiqiguan.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 18平台北斗定位历史轨迹对象 centernonitor_t_beidou_trajectory
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+public class CenternonitorTBeidouTrajectory extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 设备编号
+     */
+    @Excel(name = "设备编号")
+    private String macid;
+
+    /**
+     * Gps时间 utc 毫秒时间戳;
+     * wifi、Lbs定位或状态、心跳则最后一次Gps时间;未上传过为0;
+     */
+    @Excel(name = "Gps时间 utc 毫秒时间戳; wifi、Lbs定位或状态、心跳则最后一次Gps时间;未上传过为0;")
+    private String gpsTime;
+
+    /**
+     * 速度
+     */
+    @Excel(name = "速度 ")
+    private Long speed;
+
+    /**
+     * 纬度
+     */
+    @Excel(name = "纬度 ")
+    private String lat;
+
+    /**
+     * 经度
+     */
+    @Excel(name = "经度")
+    private String lon;
+
+    /**
+     * 方向
+     */
+    @Excel(name = "方向")
+    private Long dir;
+
+    /**
+     * 定位类型[gps:0,wifi:1,lbs:16]
+     */
+    @Excel(name = "定位类型[gps:0,wifi:1,lbs:16]")
+    private String sType;
+
+    /**
+     * 状态逗号分割(不支持为空):
+     * ---第一位:acc状 1 开,0关
+     * ---第二位:设防状态,1设防,0撤防
+     * ---第三位:油路,1 接通,0是断开
+     * ---第四位:已删除,
+     * ---第五位:门状态, 1 开,0关
+     * ---第六位:定位状态,1为GPS定位,0为LBS\WIFI等其它定位
+     * ---第七位:主电状态
+     */
+    @Excel(name = "状态逗号分割", readConverterExp = "不=支持为空")
+    private String status;
+
+
+}

+ 17 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/CenternonitorTBeidouPositionMapper.java

@@ -0,0 +1,17 @@
+package com.sooka.sponest.monitor.meiqiguan.mapper;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 18平台北斗定位位置信息Mapper接口
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+public interface CenternonitorTBeidouPositionMapper {
+
+
+    int saveBatchBeidouPosition(List<Map<String, Object>> list);
+}

+ 23 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/mapper/CenternonitorTBeidouTrajectoryMapper.java

@@ -0,0 +1,23 @@
+package com.sooka.sponest.monitor.meiqiguan.mapper;
+
+import com.sooka.sponest.monitor.meiqiguan.domain.vo.GasTankHistoricalTrajectoryVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 18平台北斗定位历史轨迹Mapper接口
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+public interface CenternonitorTBeidouTrajectoryMapper {
+
+
+    int saveBatchBeidouTrajectory(List<Map<String, Object>> list);
+
+    List<GasTankHistoricalTrajectoryVo> selectBeidouTrajectoryListByDeviceId(@Param("deviceid") String deviceid);
+
+    List<GasTankHistoricalTrajectoryVo> selectBeidouTrajectoryListOneByDeviceId(@Param("deviceid") String deviceid);
+}

+ 15 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/ICenternonitorTBeidouPositionService.java

@@ -0,0 +1,15 @@
+package com.sooka.sponest.monitor.meiqiguan.service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 18平台北斗定位位置信息Service接口
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+public interface ICenternonitorTBeidouPositionService {
+
+    int saveBatchBeidouPosition(List<Map<String, Object>> list);
+}

+ 15 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/ICenternonitorTBeidouTrajectoryService.java

@@ -0,0 +1,15 @@
+package com.sooka.sponest.monitor.meiqiguan.service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 18平台北斗定位历史轨迹Service接口
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+public interface ICenternonitorTBeidouTrajectoryService {
+
+    int saveBatchBeidouTrajectory(List<Map<String, Object>> list);
+}

+ 28 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/CenternonitorTBeidouPositionServiceImpl.java

@@ -0,0 +1,28 @@
+package com.sooka.sponest.monitor.meiqiguan.service.impl;
+
+
+import com.sooka.sponest.monitor.meiqiguan.mapper.CenternonitorTBeidouPositionMapper;
+import com.sooka.sponest.monitor.meiqiguan.service.ICenternonitorTBeidouPositionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 18平台北斗定位位置信息Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+@Service
+public class CenternonitorTBeidouPositionServiceImpl implements ICenternonitorTBeidouPositionService {
+    @Autowired
+    private CenternonitorTBeidouPositionMapper centernonitorTBeidouPositionMapper;
+
+    @Override
+    public int saveBatchBeidouPosition(List<Map<String, Object>> list) {
+        return centernonitorTBeidouPositionMapper.saveBatchBeidouPosition(list);
+    }
+}

+ 42 - 0
src/main/java/com/sooka/sponest/monitor/meiqiguan/service/impl/CenternonitorTBeidouTrajectoryServiceImpl.java

@@ -0,0 +1,42 @@
+package com.sooka.sponest.monitor.meiqiguan.service.impl;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.sooka.sponest.monitor.meiqiguan.mapper.CenternonitorTBeidouTrajectoryMapper;
+import com.sooka.sponest.monitor.meiqiguan.service.ICenternonitorTBeidouTrajectoryService;
+import com.sooka.sponest.monitor.remoteapi.service.data.RemoteDataBaseService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 18平台北斗定位历史轨迹Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2025-06-17
+ */
+@Slf4j
+@Service
+public class CenternonitorTBeidouTrajectoryServiceImpl implements ICenternonitorTBeidouTrajectoryService {
+    @Autowired
+    private CenternonitorTBeidouTrajectoryMapper centernonitorTBeidouTrajectoryMapper;
+    @Resource
+    private RemoteDataBaseService remoteDataBaseService;
+
+    @Override
+    public int saveBatchBeidouTrajectory(List<Map<String, Object>> list) {
+        //向数据中心推送数据
+        R dataResult = remoteDataBaseService.sendGpsEventEighteen(list);
+        if (dataResult.getCode() == 200) {
+            log.info("北斗卫星定位车辆gps历史轨迹对接,数据推送成功");
+        } else {
+            log.error("北斗卫星定位车辆gps历史轨迹对接,数据推送失败,原因:{}", dataResult.getMsg());
+        }
+        return centernonitorTBeidouTrajectoryMapper.saveBatchBeidouTrajectory(list);
+    }
+}

+ 8 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/fallback/data/RemoteDataBaseServiceFallbackFactory.java

@@ -8,6 +8,9 @@ import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.Map;
+
 @Component
 public class RemoteDataBaseServiceFallbackFactory implements FallbackFactory<RemoteDataBaseService> {
 
@@ -24,6 +27,11 @@ public class RemoteDataBaseServiceFallbackFactory implements FallbackFactory<Rem
                 return null;
             }
 
+            @Override
+            public R sendGpsEventEighteen(List<Map<String, Object>> list) {
+                return null;
+            }
+
 
         };
 

+ 6 - 0
src/main/java/com/sooka/sponest/monitor/remoteapi/service/data/RemoteDataBaseService.java

@@ -8,6 +8,9 @@ import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
+import java.util.Map;
+
 
 @FeignClient(
         contextId = "RemoteDataBaseService",
@@ -20,5 +23,8 @@ public interface RemoteDataBaseService {
     @PostMapping("/taskHandler/sendGpsEvent")
     public R sendGpsEvent(@RequestBody String jsonArray);
 
+    @PostMapping("/taskHandler/sendGpsEventEighteen")
+    public R sendGpsEventEighteen(@RequestBody List<Map<String, Object>> list);
+
 
 }

+ 34 - 0
src/main/resources/mapper/monitor/meiqiguan/CenternonitorTBeidouPositionMapper.xml

@@ -0,0 +1,34 @@
+<?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.sooka.sponest.monitor.meiqiguan.mapper.CenternonitorTBeidouPositionMapper">
+
+    <resultMap type="CenternonitorTBeidouPosition" id="CenternonitorTBeidouPositionResult">
+        <result property="id" column="id"/>
+        <result property="macid" column="macid"/>
+        <result property="gpsTime" column="gps_time"/>
+        <result property="heartTime" column="heart_time"/>
+        <result property="updTime" column="upd_time"/>
+        <result property="speed" column="speed"/>
+        <result property="dir" column="dir"/>
+        <result property="lat" column="lat"/>
+        <result property="lon" column="lon"/>
+        <result property="mapLat" column="map_lat"/>
+        <result property="mapLon" column="map_lon"/>
+        <result property="stats" column="stats"/>
+        <result property="value" column="value"/>
+        <result property="createTime" column="create_time"/>
+    </resultMap>
+
+
+    <insert id="saveBatchBeidouPosition" parameterType="List">
+        insert into centernonitor_t_beidou_position (macid, gps_time, heart_time, upd_time, speed, dir, lat, lon,
+        map_lat, map_lon, stats, value, create_time)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.Macid}, #{item.GpsTime}, #{item.HeartTime}, #{item.UpdTime}, #{item.Speed}, #{item.Dir},
+            #{item.Lat}, #{item.Lon}, #{item.MapLat}, #{item.MapLon}, #{item.Stats}, #{item.Value}, now())
+        </foreach>
+    </insert>
+</mapper>

+ 65 - 0
src/main/resources/mapper/monitor/meiqiguan/CenternonitorTBeidouTrajectoryMapper.xml

@@ -0,0 +1,65 @@
+<?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.sooka.sponest.monitor.meiqiguan.mapper.CenternonitorTBeidouTrajectoryMapper">
+    
+    <resultMap type="CenternonitorTBeidouTrajectory" id="CenternonitorTBeidouTrajectoryResult">
+        <result property="id"    column="id"    />
+        <result property="macid"    column="macid"    />
+        <result property="gpsTime"    column="gps_time"    />
+        <result property="speed"    column="speed"    />
+        <result property="lat"    column="lat"    />
+        <result property="lon"    column="lon"    />
+        <result property="dir"    column="dir"    />
+        <result property="sType"    column="s_type"    />
+        <result property="status"    column="status"    />
+        <result property="createTime"    column="create_time"    />
+    </resultMap>
+    <resultMap type="GasTankHistoricalTrajectoryVo" id="GasTankHistoricalTrajectoryVoResult">
+        <result property="callat" column="callat"/>
+        <result property="callon" column="callon"/>
+    </resultMap>
+    <sql id="selectBeidouTrajectoryVo">
+        select id,
+               macid,
+               gps_time,
+               speed,
+               lat,
+               lon,
+               dir,
+               s_type,
+               status,
+               create_time
+        from centernonitor_t_beidou_trajectory
+    </sql>
+    <insert id="saveBatchBeidouTrajectory" parameterType="List">
+        insert into centernonitor_t_beidou_trajectory(macid, gps_time, speed, lat, lon, dir, s_type, status, create_time)
+        values
+        <foreach collection="list" item="item" separator=",">
+        (#{item.Macid}, #{item.GpsTime}, #{item.Speed}, #{item.Lat}, #{item.Lon}, #{item.Dir}, #{item.SType},
+        #{item.Status}, now())
+        </foreach>
+    </insert>
+
+    <select id="selectBeidouTrajectoryListByDeviceId" resultType="java.util.Map">
+        select id,
+               macid as deviceid,
+               lat as callat,
+               lon as callon
+        from centernonitor_t_beidou_trajectory
+        where macid= #{deviceid} AND DATE(create_time) = CURDATE()
+        ORDER BY gps_time asc
+    </select>
+
+    <select id="selectBeidouTrajectoryListOneByDeviceId" parameterType="GasTankHistoricalTrajectoryVo"
+            resultMap="GasTankHistoricalTrajectoryVoResult">
+        select id,
+               macid as deviceid,
+               lat as callat,
+               lon as callon
+        from centernonitor_t_beidou_trajectory
+        where macid= #{deviceid} AND DATE(create_time) = CURDATE()
+        ORDER BY gps_time asc
+    </select>
+</mapper>