doum
3 天以前 e8a0fd29e22c43c2146ffae0564ff03cbf0fc2c4
Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
已添加4个文件
358 ■■■■■ 文件已修改
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkCustomerNavigationMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCustomerNavigation.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCustomerNavigationService.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCustomerNavigationServiceImpl.java 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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> {
}
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 = "送货路线编码(关联jk_line)", example = "1")
    @ExcelColumn(name="送货路线编码(关联jk_line)")
    private BigDecimal startLogitude;
    @ApiModelProperty(value = "状态 0正常 ç¦ç”¨", example = "1")
    @ExcelColumn(name="状态 0正常 ç¦ç”¨")
    private BigDecimal endLogitude;
    @ApiModelProperty(value = "起止点ID组合(startId-endId)")
    @ExcelColumn(name="起止点ID组合(startId-endId)")
    private String idIndex;
}
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;
/**
 * äº¤æŽ§-路线规划信息表Service定义
 * @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);
}
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;
/**
 * äº¤æŽ§-路线规划信息表Service实现
 * @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);
    }
}