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()); + } + /** * 获取用户列表 *