From 3173bd5f183f9890b066e7be45b2555a529e33b1 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 26 二月 2026 11:10:06 +0800
Subject: [PATCH] 点位管理新增分页列表

---
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpPointClient.java                      |   13 +
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java  |   12 ++
 xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPointServiceImpl.java         |   17 ---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpPointMapper.java                    |    7 +
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpOpenCityClient.java                   |   16 ---
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointListQuery.java                           |    2 
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpBannerManagementController.java |   27 ++++
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/task/BannerTaskUtil.java               |   48 +++++++++
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java              |   15 ++-
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpPointService.java                  |    7 +
 xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml                             |   45 +++++++++
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPointClientFallbackFactory.java           |   14 ++
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/IndexController.java                          |   10 -
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java         |   15 ++
 xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListListQuery.java                   |   29 +++++
 15 files changed, 211 insertions(+), 66 deletions(-)

diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPointClientFallbackFactory.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPointClientFallbackFactory.java
index cc81681..3a237f0 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPointClientFallbackFactory.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPointClientFallbackFactory.java
@@ -9,10 +9,12 @@
 import com.xiaopeng.api.feignClient.operation.XpPointClient;
 import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
 import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
 import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
@@ -46,12 +48,18 @@
             }
 
             @Override
-            public R<List<XpPoint>> list(PointPageListQuery query) {
-                log.error("获取点位分页列表失败:{}", cause.getMessage());
+            public R<List<XpPoint>> list(PointListQuery query) {
+                log.error("获取点位列表失败:{}", cause.getMessage());
                 return R.fail(Collections.emptyList());
             }
 
             @Override
+            public R<PageInfo<XpPoint>> pageList(PointPageListListQuery query) {
+                log.error("获取点位分页列表失败:{}", cause.getMessage());
+                return R.fail(new PageInfo<>());
+            }
+
+            @Override
             public R add(PointAddDto pointAddDto) {
                 log.error("新增点位失败:{}", cause.getMessage());
                 return R.fail("新增点位失败");
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpOpenCityClient.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpOpenCityClient.java
index 8f217c1..2c2ff5b 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpOpenCityClient.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpOpenCityClient.java
@@ -1,26 +1,10 @@
 package com.xiaopeng.api.feignClient.operation;
 
-import com.xiaopeng.api.dto.operation.PointAddDto;
-import com.xiaopeng.api.dto.operation.PointUpdateDto;
-import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto;
-import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
-import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
 import com.xiaopeng.api.factory.operation.XpOpenCityClientFallbackFactory;
-import com.xiaopeng.api.factory.operation.XpPointClientFallbackFactory;
-import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
-import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
-import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
-import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum;
-import com.xiaopeng.common.core.web.page.PageInfo;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.validation.annotation.Validated;
 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.RequestParam;
 
 import java.util.List;
 
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpPointClient.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpPointClient.java
index 58b3ba5..f58289f 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpPointClient.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/operation/XpPointClient.java
@@ -7,15 +7,15 @@
 import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
 import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
 import com.xiaopeng.api.factory.operation.XpPointClientFallbackFactory;
-import com.xiaopeng.api.factory.operation.XpSystemSettingClientFallbackFactory;
 import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
 import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
 import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum;
-import io.swagger.annotations.ApiOperation;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -34,7 +34,10 @@
     @PostMapping("/api/v1/point/listElectronicFenceArea")
     R<List<XpElectronicFenceArea>> listElectronicFenceArea();
     @PostMapping("/api/v1/point/listPoint")
-    R<List<XpPoint>> list(@RequestBody PointPageListQuery query);
+    R<List<XpPoint>> list(@RequestBody PointListQuery query);
+    @PostMapping("/api/v1/point/pageList")
+    R<PageInfo<XpPoint>> pageList(PointPageListListQuery query);
+
 
     /**
      * 新增点位
@@ -67,4 +70,6 @@
 
     @PostMapping("/api/v1/pointMap")
     R<List<XpPoint>> pointMap(@RequestBody PointMapQuery query);
+
+
 }
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListQuery.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointListQuery.java
similarity index 93%
rename from xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListQuery.java
rename to xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointListQuery.java
index a1e8392..fab2ebe 100644
--- a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListQuery.java
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointListQuery.java
@@ -9,7 +9,7 @@
 
 @Data
 @ApiModel(value = "点位管理列表查询query")
-public class PointPageListQuery {
+public class PointListQuery extends BasePage {
     @ApiModelProperty(value = "查询参数(名称、poi、唯一ID)")
     private String queryParams;
     @ApiModelProperty(value = "运营状态 1=待启用 2=启用中 3=已停用 4=已失效")
diff --git a/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListListQuery.java b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListListQuery.java
new file mode 100644
index 0000000..60b612f
--- /dev/null
+++ b/xp-robotaxi-api/src/main/java/com/xiaopeng/api/query/operation/PointPageListListQuery.java
@@ -0,0 +1,29 @@
+package com.xiaopeng.api.query.operation;
+
+import com.xiaopeng.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "点位管理分页列表查询query")
+public class PointPageListListQuery extends BasePage {
+    @ApiModelProperty(value = "点位ID")
+    private String pointNumber;
+    @ApiModelProperty(value = "点位名称")
+    private String pointName;
+    @ApiModelProperty(value = "点位状态 1待测试 2测试中 3测试不通过 4可运营 5待生效 6启用中 7已停用 8失效")
+    private Integer operationStatus;
+    @ApiModelProperty(value = "限停时长")
+    private Integer parkingTimeLimit;
+    @ApiModelProperty(value = "点位经纬度")
+    private String pointLonAndLat;
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    @ApiModelProperty(value = "创建开始时间 yyyy-MM-dd HH:mm:ss")
+    private String startTime;
+    @ApiModelProperty(value = "创建结束时间 yyyy-MM-dd HH:mm:ss")
+    private String endTime;
+}
diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPointServiceImpl.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPointServiceImpl.java
index c12d19b..2003ce3 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPointServiceImpl.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPointServiceImpl.java
@@ -1,33 +1,16 @@
 package com.xiaopeng.itinerary.service.impl;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xiaopeng.api.dto.operation.PointMapQuery;
-import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
-import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
 import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.model.operation.XpSystemSetting;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
-import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
-import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
-import com.xiaopeng.api.vo.order.XpPointsListVo;
-import com.xiaopeng.api.vo.order.XpPointsSearchVo;
-import com.xiaopeng.common.core.constant.CacheConstants;
-import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.itinerary.mapper.XpPointMapper;
-import com.xiaopeng.itinerary.mapper.XpSystemSettingMapper;
 import com.xiaopeng.itinerary.service.XpPointService;
 import com.xiaopeng.itinerary.utils.TimeRangeChecker;
 import com.xiaopeng.itinerary.utils.holiday.HolidayUtil;
-import com.xiaopeng.itinerary.utils.map.FastDistanceCalculator;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * <p>
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/IndexController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/IndexController.java
index f15a161..eb31e07 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/IndexController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/IndexController.java
@@ -1,24 +1,18 @@
 package com.xiaopeng.map.controller;
 
-import com.xiaopeng.api.dto.operation.LonLatDto;
 import com.xiaopeng.api.dto.operation.PointMapQuery;
 import com.xiaopeng.api.feignClient.operation.XpPointClient;
 import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
 import com.xiaopeng.api.vo.account.LoginOperationUser;
 import com.xiaopeng.common.core.domain.R;
-import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.common.security.service.TokenService;
-import com.xiaopeng.map.utils.AmapWalkingRouteUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
 import java.util.List;
 
 /**
@@ -47,7 +41,7 @@
 
     @ApiOperation(value = "点位管理列表", tags = {"运维APP-站点导航"})
     @PostMapping("/list")
-    public R<List<XpPoint>> list(@RequestBody PointPageListQuery query) {
+    public R<List<XpPoint>> list(@RequestBody PointListQuery query) {
         return pointClient.list( query);
     }
     @ApiOperation(value = "点位详情")
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
index 44f970b..59198eb 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
@@ -5,23 +5,22 @@
 import com.xiaopeng.api.dto.operation.PointUpdateDto;
 import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto;
 import com.xiaopeng.api.feignClient.operation.XpPointClient;
-import com.xiaopeng.api.model.operation.XpElectronicFence;
 import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
 import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.web.controller.BaseController;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.common.security.service.TokenService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -45,9 +44,15 @@
 
         return xpPointClient.listElectronicFenceArea();
     }
+    @ApiOperation(value = "点位管理分页列表", response = XpPoint.class)
+    @PostMapping("/pageList")
+    public R<PageInfo<XpPoint>> pageList(@RequestBody PointPageListListQuery query) {
+
+        return xpPointClient.pageList(query);
+    }
     @ApiOperation(value = "点位管理列表", response = XpPoint.class)
     @PostMapping("/list")
-    public R<List<XpPoint>> list(@RequestBody PointPageListQuery query) {
+    public R<List<XpPoint>> list(@RequestBody PointListQuery query) {
         if (StringUtils.hasLength(query.getOperationStatus())){
             List<Integer> operationStatusIds = Arrays.stream(query.getOperationStatus().split(",")).map(Integer::parseInt).collect(Collectors.toList());
             query.setOperationStatusIds(operationStatusIds);
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpBannerManagementController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpBannerManagementController.java
index 6a485f8..3d7fb11 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpBannerManagementController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpBannerManagementController.java
@@ -36,9 +36,28 @@
         PageInfo<XpBanner> pageList = xpBannerService.pageList(query);
         return R.ok(pageList);
     }
-
-
-
-
+    @ApiOperation(value = "新增banner")
+    @PostMapping("/saveBanner")
+    public R saveBanner(@RequestBody XpBanner dto) {
+        xpBannerService.save(dto);
+        return R.ok();
+    }
+    @ApiOperation(value = "修改banner")
+    @PostMapping("/updateBanner")
+    public R updateBanner(@RequestBody XpBanner dto) {
+        xpBannerService.updateById(dto);
+        return R.ok();
+    }
+    @ApiOperation(value = "详情banner")
+    @GetMapping("/detailBanner")
+    public R<XpBanner> detailBanner(Long id) {
+        return R.ok(xpBannerService.getById(id));
+    }
+    @ApiOperation(value = "删除banner")
+    @DeleteMapping("/deleteBanner")
+    public R deleteBanner(Long id) {
+        xpBannerService.removeById(id);
+        return R.ok();
+    }
 
 }
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
index 752541b..c7068c8 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
@@ -6,9 +6,11 @@
 import com.xiaopeng.api.dto.operation.PointUpdateDto;
 import com.xiaopeng.api.dto.operation.XpPointEnableDisableDto;
 import com.xiaopeng.api.model.operation.*;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.web.controller.BaseController;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.operation.dto.XpPointSpecialDto;
 import com.xiaopeng.operation.service.IXpElectronicFenceAreaService;
 import com.xiaopeng.operation.service.IXpElectronicFenceService;
@@ -56,10 +58,16 @@
     }
     @ApiOperation(value = "点位管理列表", response = XpPoint.class)
     @PostMapping("/listPoint")
-    public R<List<XpPoint>> list(@RequestBody PointPageListQuery query) {
+    public R<List<XpPoint>> list(@RequestBody PointListQuery query) {
         List<XpPoint> pageList = xpPointService.listAll(query);
         return R.ok(pageList);
     }
+    @ApiOperation(value = "点位管理分页列表", response = XpPoint.class)
+    @PostMapping("/pageList")
+    public R<PageInfo<XpPoint>> pageList(@RequestBody PointPageListListQuery query) {
+        PageInfo<XpPoint> pageList = xpPointService.pageList(query);
+        return R.ok(pageList);
+    }
     /**
      * 新增点位
      */
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpPointMapper.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpPointMapper.java
index 3d0f99b..1cccb2a 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpPointMapper.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/mapper/XpPointMapper.java
@@ -3,10 +3,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xiaopeng.api.model.operation.XpPoint;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.api.vo.order.XpPointsListVo;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.operation.query.PointByNameQuery;
 import com.xiaopeng.api.dto.operation.PointMapQuery;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -24,8 +26,9 @@
 
     List<XpPoint> pointMap(@Param("query") PointMapQuery query);
 
-    List<XpPoint> listAll(@Param("query")PointPageListQuery query);
+    List<XpPoint> listAll(@Param("query") PointListQuery query);
 
     List<XpPointsListVo> queryPointByName(@Param("query") PointByNameQuery query);
 
+    List<XpPoint> pageList(@Param("pageInfo") PageInfo<XpPoint> pageInfo, @Param("query") PointPageListListQuery query);
 }
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpPointService.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpPointService.java
index dc3f3df..ff6e6aa 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpPointService.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpPointService.java
@@ -5,12 +5,14 @@
 import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
 import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
 import com.xiaopeng.api.model.operation.XpPoint;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
 import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
 import com.xiaopeng.api.vo.order.XpPointsSearchVo;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.operation.dto.NearestDto;
 import com.xiaopeng.operation.query.PointByNameQuery;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
 import com.xiaopeng.operation.vo.NearestVo;
 
 import javax.validation.Valid;
@@ -46,7 +48,7 @@
     boolean getInTime(LocalTime now,  Integer effectivePeriod, String effectiveTimePeriod);
     List<XpPoint> pointMap(PointMapQuery query);
 
-    List<XpPoint> listAll(PointPageListQuery query);
+    List<XpPoint> listAll(PointListQuery query);
 
 
     /**
@@ -80,5 +82,6 @@
     OrderDistanceVo getOrderDistance();
 
 
+    PageInfo<XpPoint> pageList(PointPageListListQuery query);
 
 }
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
index 80bcca2..2cc0efa 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -6,14 +6,17 @@
 import com.xiaopeng.api.dto.operation.PointMapQuery;
 import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
 import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
+import com.xiaopeng.api.model.operation.XpBanner;
 import com.xiaopeng.api.model.operation.XpPoint;
 import com.xiaopeng.api.model.operation.XpSystemSetting;
-import com.xiaopeng.api.query.operation.PointPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
+import com.xiaopeng.api.query.operation.PointPageListListQuery;
 import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
 import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
 import com.xiaopeng.api.vo.order.XpPointsListVo;
 import com.xiaopeng.api.vo.order.XpPointsSearchVo;
 import com.xiaopeng.common.core.constant.CacheConstants;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.operation.dto.NearestDto;
 import com.xiaopeng.operation.mapper.XpPointMapper;
@@ -155,7 +158,7 @@
     }
 
     @Override
-    public List<XpPoint> listAll(PointPageListQuery query) {
+    public List<XpPoint> listAll(PointListQuery query) {
         List<XpPoint> list = this.baseMapper.listAll(query);
         return list;
     }
@@ -244,4 +247,12 @@
         return orderDistanceVo;
     }
 
+    @Override
+    public PageInfo<XpPoint> pageList(PointPageListListQuery query) {
+        PageInfo<XpPoint> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize());
+        List<XpPoint> list = this.baseMapper.pageList(pageInfo,query);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
+
 }
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/task/BannerTaskUtil.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/task/BannerTaskUtil.java
new file mode 100644
index 0000000..9ee2673
--- /dev/null
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/task/BannerTaskUtil.java
@@ -0,0 +1,48 @@
+package com.xiaopeng.operation.utils.task;
+
+import com.xiaopeng.api.model.operation.XpBanner;
+import com.xiaopeng.operation.service.XpBannerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author 无关风月
+ * @date 2026/2/26 9:49
+ */
+@Component
+public class BannerTaskUtil {
+
+    @Autowired
+    private XpBannerService bannerService;
+
+
+    /**
+     * 每隔一分钟去处理的定时任务
+     */
+    @Scheduled(fixedRate = 60000)
+    public void taskMinute() {
+        try {
+            // 根据banner开始、结束时间修改banner状态
+            List<XpBanner> banners = bannerService.list();
+            for (XpBanner banner : banners) {
+                // 如果当前时间小于开始时间 那么状态为未开始 当前时间大于结束时间状态为已结束 否则为进行中
+                if (banner.getStartTime().isAfter(LocalDateTime.now())) {
+                    banner.setStatus(0);
+                }else if (banner.getEndTime().isBefore(LocalDateTime.now())){
+                    banner.setStatus(2);
+                }else{
+                    banner.setStatus(1);
+                }
+            }
+            bannerService.updateBatchById(banners);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+}
diff --git a/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml b/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml
index e54196e..d10de07 100644
--- a/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml
+++ b/xp-robotaxi-operation-boot/src/main/resources/mapper/operation/XpPointMapper.xml
@@ -105,5 +105,50 @@
         </if>
 
     </select>
+    <select id="pageList" resultType="com.xiaopeng.api.model.operation.XpPoint">
+        select xp.id,xp.point_number as pointNumber,xp.point_name as pointName,xp.point_poi as pointPoi,
+               xp.point_lon as pointLon,xp.point_lat as pointLat,xp.create_time as createTime,xp.create_by as createBy
+        ,xp.parking_time_limit as parkingTimeLimit,xp.verification_status as verificationStatus,xp.operation_status as operationStatus
+        from xp_point xp
+        where xp.is_deleted = 0
+        <if test="query.pointName != null and query.pointName != ''">
+            and xp.point_name like concat('%',#{query.pointName},'%')
+        </if>
+        <if test="query.pointNumber != null and query.pointNumber != ''">
+            and xp.point_number like concat('%',#{query.pointNumber},'%')
+        </if>
+        <if test="query.createBy != null and query.createBy != ''">
+            and xp.create_by like concat('%',#{query.createBy},'%')
+        </if>
+        <if test="query.parkingTimeLimit != null">
+            and xp.parking_time_limit = #{query.parkingTimeLimit}
+        </if>
+        <if test="query.pointLonAndLat != null and query.pointLonAndLat != ''">
+            and #{query.pointLonAndLat}  like concat('%',xp.point_lon,'%')
+        and #{query.pointLonAndLat}  like concat('%',xp.point_lat,'%')
+        </if>
+
+        <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
+            and xp.create_time between #{query.startTime} and #{query.endTime}
+        </if>
+        <if test="query.operationStatus != null">
+        <if test="query.operationStatus ==1">
+            and xp.verification_status = 1
+        </if>
+          <if test="query.operationStatus ==2">
+            and xp.verification_status = 2
+        </if>
+          <if test="query.operationStatus ==3">
+            and xp.verification_status = 4
+        </if>
+          <if test="query.operationStatus ==4">
+            and xp.verification_status = 3 and xp.operation_status =1
+        </if>
+            <if test="query.operationStatus ==5">
+                and xp.verification_status = 3 and xp.operation_status =1
+            </if>
+        </if>
+        order by xp.create_time desc
+    </select>
 
 </mapper>

--
Gitblit v1.7.1