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