From 1a9aca4e28eb23091b97ba2877b68fade7dfde4e Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 07 三月 2026 21:12:00 +0800
Subject: [PATCH] feat(management):管理后台-车队管理

---
 xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java |  124 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 115 insertions(+), 9 deletions(-)

diff --git a/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java b/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java
index 9b2422d..fe74295 100644
--- a/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java
+++ b/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java
@@ -2,15 +2,21 @@
 
 import com.xiaopeng.api.model.vehicleConvoy.XpFleet;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.web.page.PageInfo;
+import com.xiaopeng.vehicleConvoy.model.dto.FleetAddDTO;
+import com.xiaopeng.vehicleConvoy.model.dto.FleetEditDTO;
+import com.xiaopeng.vehicleConvoy.model.query.FleetPageQuery;
+import com.xiaopeng.vehicleConvoy.model.query.FleetUserPageQuery;
+import com.xiaopeng.vehicleConvoy.model.query.FleetVehiclePageQuery;
+import com.xiaopeng.vehicleConvoy.model.vo.*;
 import com.xiaopeng.vehicleConvoy.service.IXpFleetService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
-import javax.annotation.Resource;
+import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -22,12 +28,12 @@
  * @author mitao
  * @since 2026-02-03
  */
-@RestController
 @Api(tags = "车队管理")
+@RequiredArgsConstructor(onConstructor_ = @Lazy)
+@RestController
 public class XpFleetController {
 
-    @Resource
-    private IXpFleetService xpFleetService;
+    private final IXpFleetService xpFleetService;
 
     /**
      * 根据ID列表批量查询车队信息(内部接口)
@@ -43,4 +49,104 @@
         }
         return R.ok(xpFleetService.listByIds(ids));
     }
+
+    /**
+     * 添加车队
+     *
+     * @param dto 添加车队DTO
+     * @return 操作结果
+     */
+    @ApiOperation(value = "添加车队", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/fleet/add")
+    public R<Void> add(@Valid @RequestBody FleetAddDTO dto) {
+        return xpFleetService.add(dto);
+    }
+
+    /**
+     * 编辑车队
+     *
+     * @param dto 编辑车队DTO
+     * @return 操作结果
+     */
+    @ApiOperation(value = "编辑车队", tags = {"管理后台-车队管理"}, notes = "打卡地列表接口在xp-robotaxi-maintenance-boot,人员列表在xp-robotaxi-account-boot")
+    @PostMapping("/api/v1/fleet/edit")
+    public R<Void> edit(@Valid @RequestBody FleetEditDTO dto) {
+        return xpFleetService.edit(dto);
+    }
+
+    /**
+     * 查询车队详情
+     *
+     * @param id 车队id
+     * @return 车队详情
+     */
+    @ApiOperation(value = "查询车队详情", tags = {"管理后台-车队管理"})
+    @GetMapping("/api/v1/fleet/queryById")
+    public R<FleetDetailVO> queryById(@RequestParam Long id) {
+        return xpFleetService.queryById(id);
+    }
+
+    /**
+     * 车队分页列表
+     *
+     * @param query 查询参数
+     * @return 分页结果
+     */
+    @ApiOperation(value = "车队分页列表", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/fleet/pageList")
+    public R<PageInfo<FleetPageVO>> pageList(@Valid @RequestBody FleetPageQuery query) {
+        return xpFleetService.pageList(query);
+    }
+
+    /**
+     * 查询车队车辆分页列表
+     *
+     * @param query 查询参数
+     * @return 分页结果
+     */
+    @ApiOperation(value = "查询车队车辆分页列表", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/fleet/queryVehiclePageList")
+    public R<PageInfo<FleetVehicleVO>> queryVehiclePageList(@Valid @RequestBody FleetVehiclePageQuery query) {
+        return xpFleetService.queryVehiclePageList(query);
+    }
+
+    /**
+     * 查询车队人员分页列表
+     *
+     * @param query 查询参数
+     * @return 分页结果
+     */
+    @ApiOperation(value = "查询车队人员分页列表", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/fleet/queryUserPageList")
+    public R<PageInfo<FleetUserVO>> queryUserPageList(@Valid @RequestBody FleetUserPageQuery query) {
+        return xpFleetService.queryUserPageList(query);
+    }
+
+    @ApiOperation(value = "删除车队", tags = {"管理后台-车队管理"})
+    @DeleteMapping("/api/v1/fleet/delete/{id}")
+    public R<?> deleteById(@ApiParam(name = "id", value = "车队ID") @PathVariable Long id) {
+        xpFleetService.deleteById(id);
+        return R.ok();
+    }
+
+    @ApiOperation(value = "车队添加车辆成员", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/fleet/vehicle/add")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "fleetId", value = "车队ID", dataTypeClass = Long.class),
+            @ApiImplicitParam(name = "vehicleId", value = "车辆ID", dataTypeClass = Long.class)})
+    public R<?> addVehicle(Long fleetId, Long vehicleId) {
+        xpFleetService.addVehicle(fleetId, vehicleId);
+        return R.ok();
+    }
+
+    @ApiOperation(value = "车队添加人员成员", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/fleet/operation-user/add")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "fleetId", value = "车队ID", dataTypeClass = Long.class),
+            @ApiImplicitParam(name = "operationUserId", value = "车辆ID", dataTypeClass = Long.class)})
+    public R<?> addOperationUserId(Long fleetId, Long operationUserId) {
+        xpFleetService.addOperationUserId(fleetId, operationUserId);
+        return R.ok();
+    }
+
 }

--
Gitblit v1.7.1