From f51c7955c648189a91f678820b4ded18795f52ad Mon Sep 17 00:00:00 2001 From: wuchuanbang Date: Mon, 28 Jul 2025 13:51:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=89=80=E6=9C=89?= =?UTF-8?q?=E8=B7=AF=E7=BA=BF=E4=B8=8B=E6=8B=89=E5=88=97=E8=A1=A8=EF=BC=9B?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=A5=E6=99=AF=E5=8C=BA=E7=9A=84=E8=B7=AF?= =?UTF-8?q?=E7=BA=BF=E4=B8=8B=E6=8B=89=E5=88=97=E8=A1=A8=EF=BC=9B=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=AF=A5=E8=AE=A2=E5=8D=95=E4=B8=8B=E6=89=80=E6=9C=89?= =?UTF-8?q?=E8=B7=AF=E7=BA=BF=E7=9A=84=E4=B8=8B=E6=8B=89=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aircraft/modules/order/biz/OrderBiz.java | 40 +++++++++++++++++++ .../order/controller/OrderMainController.java | 13 ++++++ .../controller/KeyValueEntityController.java | 22 ++++++++++ .../system/service/KeyValueEntityService.java | 17 ++++++++ .../impl/KeyValueEntityServiceImpl.java | 25 ++++++++++++ 5 files changed, 117 insertions(+) diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java b/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java index 44d23ec..fff869b 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/biz/OrderBiz.java @@ -25,6 +25,7 @@ import com.aircraft.modules.route.service.CpRouteService; import com.aircraft.modules.system.domain.*; import com.aircraft.modules.system.domain.dto.LocalAttachmentMaterialDTO; import com.aircraft.modules.system.domain.enums.AttachmentMaterialBusinessTypeEnum; +import com.aircraft.modules.system.domain.vo.KeyValueEntity; import com.aircraft.modules.system.mapper.UserRoleMapper; import com.aircraft.modules.system.service.*; import com.aircraft.utils.RedisUtils; @@ -960,4 +961,43 @@ public class OrderBiz { }); return orderConfirmList; } + + /** + * 根据订单 ID 获取对应的路线下拉 + * + * @param orderId 订单ID + * @return List + */ + public List obtainRouteListByOrderId(Long orderId) { + // 根据订单ID 获取订单结果 + OrderMain orderMain = orderMainService.obtainOrderMainById(orderId); + if (ObjectUtil.isNull(orderMain)) { + throw new BadRequestException("订单不存在"); + } + if (StrUtil.isBlank(orderMain.getRouteIds())) { + throw new BadRequestException("订单未指定路线"); + } + // 获取所有路线 + List routeList = cpRouteService.obtainAllRoutes(); + Map routeMap = routeList.stream().collect(Collectors.toMap(CpRoute::getId, route -> route)); + String routeIds = orderMain.getRouteIds(); + + // 逗号分割成数组 + String[] routeIdArray = routeIds.split(StrUtil.COMMA); + List keyValueEntityList = new ArrayList<>(); + for (String routeId : routeIdArray) { + Long routeIdLong = Long.valueOf(routeId); + CpRoute route = routeMap.get(routeIdLong); + if (ObjectUtil.isNull(route)) { + continue; + } + KeyValueEntity keyValueEntity = KeyValueEntity.builder() + .key(routeIdLong) + .value(route.getName()) + .build(); + keyValueEntityList.add(keyValueEntity); + } + + return keyValueEntityList; + } } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java index edd73bb..a51ca70 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderMainController.java @@ -8,6 +8,7 @@ import com.aircraft.modules.order.domain.dto.OrderMainPageQueryDTO; import com.aircraft.modules.order.domain.dto.UpdateOrderDTO; import com.aircraft.modules.order.domain.vo.OrderAllDetailVO; import com.aircraft.modules.order.domain.vo.OrderMainPageQueryVO; +import com.aircraft.modules.system.domain.vo.KeyValueEntity; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -19,6 +20,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** *

@@ -109,5 +111,16 @@ public class OrderMainController { orderBiz.completeOrder(orderId); return new ResponseEntity<>(HttpStatus.OK); } + + /** + * 根据订单ID 获取对应的路线下拉-新建订单飞行任务的路线下拉 + */ + @ApiOperation("根据订单ID 获取对应的路线下拉-新建订单飞行任务的路线下拉") + @GetMapping("/obtainRouteListByOrderId/{orderId}") + public ResponseEntity> obtainRouteListByOrderId( + @ApiParam(value = "订单ID", required = true, example = "1946509536383438850") + @PathVariable("orderId") Long orderId) { + return ResponseEntity.ok(orderBiz.obtainRouteListByOrderId(orderId)); + } } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/system/controller/KeyValueEntityController.java b/aircraft-system/src/main/java/com/aircraft/modules/system/controller/KeyValueEntityController.java index 475e633..a9ccd3c 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/system/controller/KeyValueEntityController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/system/controller/KeyValueEntityController.java @@ -60,4 +60,26 @@ public class KeyValueEntityController { return ResponseEntity.ok(keyValueEntityList); } + /** + * 获取所有线路下拉列表 + */ + @ApiOperation(value = "获取所有线路下拉列表") + @GetMapping("/obtainAllRouteList") + public ResponseEntity> obtainAllRoutes() { + List keyValueEntityList = keyValueEntityService.obtainAllRoutes(); + return ResponseEntity.ok(keyValueEntityList); + } + + /** + * 根据景区获取对应的线路下拉列表 + */ + @ApiOperation(value = "根据景区获取对应的线路下拉列表") + @GetMapping("/obtainRouteListByScenicId/{scenicId}") + public ResponseEntity> obtainRouteListByScenicId( + @ApiParam(value = "景区id", required = true, example = "1") + @PathVariable Long scenicId) { + List keyValueEntityList = keyValueEntityService.obtainRouteListByScenicId(scenicId); + return ResponseEntity.ok(keyValueEntityList); + } + } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/system/service/KeyValueEntityService.java b/aircraft-system/src/main/java/com/aircraft/modules/system/service/KeyValueEntityService.java index 79fa443..e57435b 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/system/service/KeyValueEntityService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/system/service/KeyValueEntityService.java @@ -32,4 +32,21 @@ public interface KeyValueEntityService { * @return List */ List obtainDeviceList(); + + /** + * 获取所有路线 + * + * @return List + */ + List obtainAllRoutes(); + + + /** + * 获取景区下拉列表 + * + * @return List + */ + List obtainRouteListByScenicId(Long scenicId); + + } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/KeyValueEntityServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/KeyValueEntityServiceImpl.java index 089b3c1..7dce1d6 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/KeyValueEntityServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/system/service/impl/KeyValueEntityServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollectionUtil; import com.aircraft.exception.BadRequestException; import com.aircraft.modules.aircraft.domain.AircraftDevice; import com.aircraft.modules.aircraft.service.AircraftDeviceService; +import com.aircraft.modules.route.domain.CpRoute; +import com.aircraft.modules.route.service.CpRouteService; import com.aircraft.modules.system.domain.CnCustomer; import com.aircraft.modules.system.domain.EmEmployees; import com.aircraft.modules.system.domain.EmScenic; @@ -37,6 +39,8 @@ public class KeyValueEntityServiceImpl implements KeyValueEntityService { private EmScenicService scenicService; @Resource private AircraftDeviceService deviceService; + @Resource + private CpRouteService routeService; @Override public List obtainUserListByType(Integer userType) { @@ -83,6 +87,27 @@ public class KeyValueEntityServiceImpl implements KeyValueEntityService { return list.stream().map(device -> KeyValueEntity.builder().key(device.getId()).value(device.getName()).build()).collect(Collectors.toList()); } + @Override + public List obtainAllRoutes() { + List list = routeService.obtainAllRoutes(); + if (CollectionUtil.isEmpty( list)) { + return new ArrayList<>(); + } + return list.stream().map(route -> KeyValueEntity.builder().key(route.getId()).value(route.getName()).build()) + .collect(Collectors.toList()); + } + + @Override + public List obtainRouteListByScenicId(Long scenicId) { + List list = routeService.obtainAllRoutes(); + if (CollectionUtil.isEmpty( list)) { + return new ArrayList<>(); + } + return list.stream().filter(route -> route.getScenicId().equals(scenicId)) + .map(route -> KeyValueEntity.builder().key(route.getId()).value(route.getName()).build()) + .collect(Collectors.toList()); + } + /** * 获取用户列表 *