feat: 新增所有路线下拉列表;新增该景区的路线下拉列表;新增该订单下所有路线的下拉列表;

This commit is contained in:
wuchuanbang 2025-07-28 13:51:38 +08:00
parent a836222fbc
commit f51c7955c6
5 changed files with 117 additions and 0 deletions

View File

@ -25,6 +25,7 @@ import com.aircraft.modules.route.service.CpRouteService;
import com.aircraft.modules.system.domain.*; import com.aircraft.modules.system.domain.*;
import com.aircraft.modules.system.domain.dto.LocalAttachmentMaterialDTO; import com.aircraft.modules.system.domain.dto.LocalAttachmentMaterialDTO;
import com.aircraft.modules.system.domain.enums.AttachmentMaterialBusinessTypeEnum; 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.mapper.UserRoleMapper;
import com.aircraft.modules.system.service.*; import com.aircraft.modules.system.service.*;
import com.aircraft.utils.RedisUtils; import com.aircraft.utils.RedisUtils;
@ -960,4 +961,43 @@ public class OrderBiz {
}); });
return orderConfirmList; return orderConfirmList;
} }
/**
* 根据订单 ID 获取对应的路线下拉
*
* @param orderId 订单ID
* @return List<KeyValueEntity>
*/
public List<KeyValueEntity> 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<CpRoute> routeList = cpRouteService.obtainAllRoutes();
Map<Long, CpRoute> routeMap = routeList.stream().collect(Collectors.toMap(CpRoute::getId, route -> route));
String routeIds = orderMain.getRouteIds();
// 逗号分割成数组
String[] routeIdArray = routeIds.split(StrUtil.COMMA);
List<KeyValueEntity> 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;
}
} }

View File

@ -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.dto.UpdateOrderDTO;
import com.aircraft.modules.order.domain.vo.OrderAllDetailVO; import com.aircraft.modules.order.domain.vo.OrderAllDetailVO;
import com.aircraft.modules.order.domain.vo.OrderMainPageQueryVO; 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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -19,6 +20,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* <p> * <p>
@ -109,5 +111,16 @@ public class OrderMainController {
orderBiz.completeOrder(orderId); orderBiz.completeOrder(orderId);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
/**
* 根据订单ID 获取对应的路线下拉-新建订单飞行任务的路线下拉
*/
@ApiOperation("根据订单ID 获取对应的路线下拉-新建订单飞行任务的路线下拉")
@GetMapping("/obtainRouteListByOrderId/{orderId}")
public ResponseEntity<List<KeyValueEntity>> obtainRouteListByOrderId(
@ApiParam(value = "订单ID", required = true, example = "1946509536383438850")
@PathVariable("orderId") Long orderId) {
return ResponseEntity.ok(orderBiz.obtainRouteListByOrderId(orderId));
}
} }

View File

@ -60,4 +60,26 @@ public class KeyValueEntityController {
return ResponseEntity.ok(keyValueEntityList); return ResponseEntity.ok(keyValueEntityList);
} }
/**
* 获取所有线路下拉列表
*/
@ApiOperation(value = "获取所有线路下拉列表")
@GetMapping("/obtainAllRouteList")
public ResponseEntity<List<KeyValueEntity>> obtainAllRoutes() {
List<KeyValueEntity> keyValueEntityList = keyValueEntityService.obtainAllRoutes();
return ResponseEntity.ok(keyValueEntityList);
}
/**
* 根据景区获取对应的线路下拉列表
*/
@ApiOperation(value = "根据景区获取对应的线路下拉列表")
@GetMapping("/obtainRouteListByScenicId/{scenicId}")
public ResponseEntity<List<KeyValueEntity>> obtainRouteListByScenicId(
@ApiParam(value = "景区id", required = true, example = "1")
@PathVariable Long scenicId) {
List<KeyValueEntity> keyValueEntityList = keyValueEntityService.obtainRouteListByScenicId(scenicId);
return ResponseEntity.ok(keyValueEntityList);
}
} }

View File

@ -32,4 +32,21 @@ public interface KeyValueEntityService {
* @return List<KeyValueEntity> * @return List<KeyValueEntity>
*/ */
List<KeyValueEntity> obtainDeviceList(); List<KeyValueEntity> obtainDeviceList();
/**
* 获取所有路线
*
* @return List<KeyValueEntity>
*/
List<KeyValueEntity> obtainAllRoutes();
/**
* 获取景区下拉列表
*
* @return List<KeyValueEntity>
*/
List<KeyValueEntity> obtainRouteListByScenicId(Long scenicId);
} }

View File

@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollectionUtil;
import com.aircraft.exception.BadRequestException; import com.aircraft.exception.BadRequestException;
import com.aircraft.modules.aircraft.domain.AircraftDevice; import com.aircraft.modules.aircraft.domain.AircraftDevice;
import com.aircraft.modules.aircraft.service.AircraftDeviceService; 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.CnCustomer;
import com.aircraft.modules.system.domain.EmEmployees; import com.aircraft.modules.system.domain.EmEmployees;
import com.aircraft.modules.system.domain.EmScenic; import com.aircraft.modules.system.domain.EmScenic;
@ -37,6 +39,8 @@ public class KeyValueEntityServiceImpl implements KeyValueEntityService {
private EmScenicService scenicService; private EmScenicService scenicService;
@Resource @Resource
private AircraftDeviceService deviceService; private AircraftDeviceService deviceService;
@Resource
private CpRouteService routeService;
@Override @Override
public List<KeyValueEntity> obtainUserListByType(Integer userType) { public List<KeyValueEntity> 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()); return list.stream().map(device -> KeyValueEntity.builder().key(device.getId()).value(device.getName()).build()).collect(Collectors.toList());
} }
@Override
public List<KeyValueEntity> obtainAllRoutes() {
List<CpRoute> 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<KeyValueEntity> obtainRouteListByScenicId(Long scenicId) {
List<CpRoute> 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());
}
/** /**
* 获取用户列表 * 获取用户列表
* *