src/main/java/com/webmanage/controller/OrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/webmanage/service/OrderInfoService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/webmanage/controller/OrderController.java
@@ -360,4 +360,17 @@ return Result.error("取消订单失败:" + e.getMessage()); } } @GetMapping("/product/{productId}/has-completed-orders") @ApiOperation("根据产品ID判断是否存在审核中的关联订单") public Result<Boolean> hasCompletedOrdersByProductId( @ApiParam("产品ID") @PathVariable @NotBlank String productId) { try { boolean exists = orderInfoService.existsCompletedNotCancelledOrderByProductId(productId); return Result.success(exists); } catch (Exception e) { log.error("查询产品关联订单存在性失败,产品ID: {}", productId, e); return Result.error("查询失败:" + e.getMessage()); } } } src/main/java/com/webmanage/service/OrderInfoService.java
@@ -145,4 +145,11 @@ * @return 是否更新成功 */ boolean updateWorkflowId(String orderId, String workflowId); /** * 根据产品ID判断是否存在未取消且已完成的关联订单 * @param productId 产品ID * @return 存在返回true,不存在返回false */ boolean existsCompletedNotCancelledOrderByProductId(String productId); } src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
@@ -41,6 +41,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; import java.util.Arrays; import java.util.stream.Collectors; /** @@ -1183,4 +1184,19 @@ orderInfo.setUpdatedAt(LocalDateTime.now()); return this.updateById(orderInfo); } @Override public boolean existsCompletedNotCancelledOrderByProductId(String productId) { if (!StringUtils.hasText(productId)) { throw new BusinessException("产品ID不能为空"); } QueryWrapper<OrderInfo> wrapper = new QueryWrapper<>(); wrapper.eq("product_id", productId); // 未取消:逻辑未删除 wrapper.eq("deleted", 0); // 审核中:状态不为 已完成 或 已取消 wrapper.notIn("order_status", Arrays.asList("已完成", "已取消")); Integer count = this.baseMapper.selectCount(wrapper); return count != null && count > 0; } }