From 832e40a8249ae15a5b2a7f01c78da4edc06cd55e Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 13 十月 2025 15:54:57 +0800
Subject: [PATCH] 定时自动叫号 与 WMS获取车辆是否在园接口开发

---
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkCustomerNavigationMapper.java               |   12 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCustomerNavigation.java               |   91 +++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCustomerNavigationService.java          |   98 ++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCustomerNavigationServiceImpl.java |  157 ++++++++++++++++++++++++++
 4 files changed, 358 insertions(+), 0 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkCustomerNavigationMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkCustomerNavigationMapper.java
new file mode 100644
index 0000000..7c63700
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkCustomerNavigationMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.JkCustomerNavigation;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/10/13 15:48
+ */
+public interface JkCustomerNavigationMapper extends BaseMapper<JkCustomerNavigation> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCustomerNavigation.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCustomerNavigation.java
new file mode 100644
index 0000000..736c75d
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCustomerNavigation.java
@@ -0,0 +1,91 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 浜ゆ帶-璺嚎瑙勫垝淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2025/10/13 15:48
+ */
+@Data
+@ApiModel("浜ゆ帶-璺嚎瑙勫垝淇℃伅琛�")
+@TableName("`jk_customer_navigation`")
+public class JkCustomerNavigation {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String info;
+
+    @ApiModelProperty(value = "璧峰瀹㈡埛缂栫爜锛堣捣鐐逛綅-1锛�", example = "1")
+    @ExcelColumn(name="璧峰瀹㈡埛缂栫爜锛堣捣鐐逛綅-1锛�")
+    private Long startId;
+
+    @ApiModelProperty(value = "缁堢瀹㈡埛缂栫爜锛堣捣鐐逛綅-1锛�", example = "1")
+    @ExcelColumn(name="缁堢瀹㈡埛缂栫爜锛堣捣鐐逛綅-1锛�")
+    private Long endId;
+
+    @ApiModelProperty(value = "璺濈锛堢背锛�", example = "1")
+    @ExcelColumn(name="璺濈锛堢背锛�")
+    private Long distance;
+
+    @ApiModelProperty(value = "閫斿緞缁忕含搴﹂泦鍚堬紝鍒嗗彿闅斿紑")
+    @ExcelColumn(name="閫斿緞缁忕含搴﹂泦鍚堬紝鍒嗗彿闅斿紑")
+    private String steps;
+
+    @ApiModelProperty(value = "缁村害", example = "1")
+    @ExcelColumn(name="缁村害")
+    private BigDecimal startLatitude;
+
+    @ApiModelProperty(value = "瀹㈡埛搴忓彿", example = "1")
+    @ExcelColumn(name="瀹㈡埛搴忓彿")
+    private BigDecimal endLatitude;
+
+    @ApiModelProperty(value = "閫佽揣璺嚎缂栫爜锛堝叧鑱攋k_line)", example = "1")
+    @ExcelColumn(name="閫佽揣璺嚎缂栫爜锛堝叧鑱攋k_line)")
+    private BigDecimal startLogitude;
+
+    @ApiModelProperty(value = "鐘舵�� 0姝e父 绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0姝e父 绂佺敤")
+    private BigDecimal endLogitude;
+
+    @ApiModelProperty(value = "璧锋鐐笽D缁勫悎锛坰tartId-endId)")
+    @ExcelColumn(name="璧锋鐐笽D缁勫悎锛坰tartId-endId)")
+    private String idIndex;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCustomerNavigationService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCustomerNavigationService.java
new file mode 100644
index 0000000..bb58a29
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCustomerNavigationService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.dao.business.model.JkCustomerNavigation;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+
+import java.util.List;
+
+/**
+ * 浜ゆ帶-璺嚎瑙勫垝淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/10/13 15:48
+ */
+public interface JkCustomerNavigationService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param jkCustomerNavigation 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(JkCustomerNavigation jkCustomerNavigation);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param jkCustomerNavigation 瀹炰綋瀵硅薄
+     */
+    void delete(JkCustomerNavigation jkCustomerNavigation);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param jkCustomerNavigation 瀹炰綋瀵硅薄
+     */
+    void updateById(JkCustomerNavigation jkCustomerNavigation);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param jkCustomerNavigations 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<JkCustomerNavigation> jkCustomerNavigations);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return JkCustomerNavigation
+     */
+    JkCustomerNavigation findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param jkCustomerNavigation 瀹炰綋瀵硅薄
+     * @return JkCustomerNavigation
+     */
+    JkCustomerNavigation findOne(JkCustomerNavigation jkCustomerNavigation);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param jkCustomerNavigation 瀹炰綋瀵硅薄
+     * @return List<JkCustomerNavigation>
+     */
+    List<JkCustomerNavigation> findList(JkCustomerNavigation jkCustomerNavigation);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<JkCustomerNavigation>
+     */
+    PageData<JkCustomerNavigation> findPage(PageWrap<JkCustomerNavigation> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param jkCustomerNavigation 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(JkCustomerNavigation jkCustomerNavigation);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCustomerNavigationServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCustomerNavigationServiceImpl.java
new file mode 100644
index 0000000..3e5813a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCustomerNavigationServiceImpl.java
@@ -0,0 +1,157 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.JkCustomerNavigationMapper;
+import com.doumee.dao.business.model.JkCustomerNavigation;
+import com.doumee.service.business.JkCustomerNavigationService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 浜ゆ帶-璺嚎瑙勫垝淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/10/13 15:48
+ */
+@Service
+public class JkCustomerNavigationServiceImpl implements JkCustomerNavigationService {
+
+    @Autowired
+    private JkCustomerNavigationMapper jkCustomerNavigationMapper;
+
+    @Override
+    public Integer create(JkCustomerNavigation jkCustomerNavigation) {
+        jkCustomerNavigationMapper.insert(jkCustomerNavigation);
+        return jkCustomerNavigation.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        jkCustomerNavigationMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(JkCustomerNavigation jkCustomerNavigation) {
+        UpdateWrapper<JkCustomerNavigation> deleteWrapper = new UpdateWrapper<>(jkCustomerNavigation);
+        jkCustomerNavigationMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        jkCustomerNavigationMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(JkCustomerNavigation jkCustomerNavigation) {
+        jkCustomerNavigationMapper.updateById(jkCustomerNavigation);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<JkCustomerNavigation> jkCustomerNavigations) {
+        if (CollectionUtils.isEmpty(jkCustomerNavigations)) {
+            return;
+        }
+        for (JkCustomerNavigation jkCustomerNavigation: jkCustomerNavigations) {
+            this.updateById(jkCustomerNavigation);
+        }
+    }
+
+    @Override
+    public JkCustomerNavigation findById(Integer id) {
+        return jkCustomerNavigationMapper.selectById(id);
+    }
+
+    @Override
+    public JkCustomerNavigation findOne(JkCustomerNavigation jkCustomerNavigation) {
+        QueryWrapper<JkCustomerNavigation> wrapper = new QueryWrapper<>(jkCustomerNavigation);
+        return jkCustomerNavigationMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<JkCustomerNavigation> findList(JkCustomerNavigation jkCustomerNavigation) {
+        QueryWrapper<JkCustomerNavigation> wrapper = new QueryWrapper<>(jkCustomerNavigation);
+        return jkCustomerNavigationMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<JkCustomerNavigation> findPage(PageWrap<JkCustomerNavigation> pageWrap) {
+        IPage<JkCustomerNavigation> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<JkCustomerNavigation> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(JkCustomerNavigation::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(JkCustomerNavigation::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(JkCustomerNavigation::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(JkCustomerNavigation::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getInfo() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getInfo, pageWrap.getModel().getInfo());
+        }
+        if (pageWrap.getModel().getStartId() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getStartId, pageWrap.getModel().getStartId());
+        }
+        if (pageWrap.getModel().getEndId() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getEndId, pageWrap.getModel().getEndId());
+        }
+        if (pageWrap.getModel().getDistance() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getDistance, pageWrap.getModel().getDistance());
+        }
+        if (pageWrap.getModel().getSteps() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getSteps, pageWrap.getModel().getSteps());
+        }
+        if (pageWrap.getModel().getStartLatitude() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getStartLatitude, pageWrap.getModel().getStartLatitude());
+        }
+        if (pageWrap.getModel().getEndLatitude() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getEndLatitude, pageWrap.getModel().getEndLatitude());
+        }
+        if (pageWrap.getModel().getStartLogitude() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getStartLogitude, pageWrap.getModel().getStartLogitude());
+        }
+        if (pageWrap.getModel().getEndLogitude() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getEndLogitude, pageWrap.getModel().getEndLogitude());
+        }
+        if (pageWrap.getModel().getIdIndex() != null) {
+            queryWrapper.lambda().eq(JkCustomerNavigation::getIdIndex, pageWrap.getModel().getIdIndex());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(jkCustomerNavigationMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(JkCustomerNavigation jkCustomerNavigation) {
+        QueryWrapper<JkCustomerNavigation> wrapper = new QueryWrapper<>(jkCustomerNavigation);
+        return jkCustomerNavigationMapper.selectCount(wrapper);
+    }
+}

--
Gitblit v1.9.3