From ff1fec7eae681e89e607fd441d2597ab67b5ed2a Mon Sep 17 00:00:00 2001 From: guyue <1721849008@qq.com> Date: 星期二, 12 八月 2025 19:04:34 +0800 Subject: [PATCH] 修改查看时间和删除关键词 --- src/main/java/com/linghu/controller/OrderController.java | 175 +++++----------------------------------------------------- 1 files changed, 15 insertions(+), 160 deletions(-) diff --git a/src/main/java/com/linghu/controller/OrderController.java b/src/main/java/com/linghu/controller/OrderController.java index ef26edd..49afe6a 100644 --- a/src/main/java/com/linghu/controller/OrderController.java +++ b/src/main/java/com/linghu/controller/OrderController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Date; @@ -36,8 +37,6 @@ @Autowired private OrderService orderService; - @Autowired - private KeywordService keywordService; /** * 新增订单 @@ -45,62 +44,8 @@ @PostMapping @Transactional // 开启事务 @ApiOperation(value = "新增订单") - public ResponseResult<Orders> add(@RequestBody OrderDto orderDto) { - // 将dto转entity - Orders order = new Orders(); - BeanUtils.copyProperties(orderDto, order); - - if (order.getClient_name() == null || order.getClient_name().trim().isEmpty()) { - return ResponseResult.error("客户名称不能为空"); - } - - // 生成订单ID:日期+当天的订单数量(如:202507060001) - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); - String dateStr = dateFormat.format(new Date()); - // 1. 查询当天最大的订单号(包含已删除的,适应硬删除场景) - LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.likeRight(Orders::getOrder_id, dateStr) - .select(Orders::getOrder_id) - .orderByDesc(Orders::getOrder_id) - .last("LIMIT 1"); // 只取最大的一条 - Orders maxOrder = orderService.getOne(queryWrapper); - int sequence = 1; // 默认序号 - - if (maxOrder != null && maxOrder.getOrder_id() != null) { - // 2. 从最大订单号中提取序号(如"202507250005"提取"0005") - String maxId = maxOrder.getOrder_id(); - if (maxId.length() == dateStr.length() + 4) { // 校验格式 - String seqStr = maxId.substring(dateStr.length()); - sequence = Integer.parseInt(seqStr) + 1; // 序号+1 - } - } - - // 3. 生成新订单号(补全4位,如1→0001) - String orderId = String.format("%s%04d", dateStr, sequence); - order.setOrder_id(orderId); - - // 设置初始状态 - order.setStatus(1); // 待处理 - order.setDel_flag(0); // 未删除 - order.setCreate_time(LocalDateTime.now()); - boolean save = orderService.save(order); - // 保存关键词 - boolean saveOrderWithKeywords = orderService.saveOrderWithKeywords(orderDto, order.getOrder_id()); - if (!saveOrderWithKeywords) { - return ResponseResult.error("添加关键词失败"); - } - //更新关键词数量 - LambdaQueryWrapper<Keyword> queryKeywordsQueryWrapper = new LambdaQueryWrapper<>(); - queryKeywordsQueryWrapper.eq(Keyword::getOrder_id, order.getOrder_id()); - int count1 = keywordService.count(queryKeywordsQueryWrapper); - order.setKeyword_num(count1); - order.setUpdate_time(LocalDateTime.now()); - orderService.updateById(order); - - if (save) { - return ResponseResult.success(order); - } - return ResponseResult.error("添加订单失败"); + public ResponseResult<Orders> add(@Valid @RequestBody OrderDto orderDto) { + return orderService.getOrdersResponseResult(orderDto); } /** @@ -109,59 +54,20 @@ @DeleteMapping("/{orderId}") @ApiOperation(value = "删除订单") public ResponseResult<Void> delete(@PathVariable String orderId) { - Orders order = orderService.getById(orderId); - if (order == null) { - return ResponseResult.error("订单不存在"); - } - - order.setDel_flag(1); - order.setUpdate_time(LocalDateTime.now()); - boolean success = orderService.updateById(order); - - return success ? ResponseResult.success() : ResponseResult.error("删除订单失败"); + return orderService.getVoidResponseResult(orderId); } + + /** * 更新订单 */ @PutMapping @ApiOperation(value = "更新订单") - public ResponseResult<Void> update(@RequestBody OrderDto orderDto) { - if (orderDto.getOrder_id() == null) { - return ResponseResult.error("订单ID不能为空"); - } - if (orderDto.getClient_name() == null || orderDto.getClient_name().trim().isEmpty()) { - return ResponseResult.error("客户名称不能为空"); - } - - Orders existingOrder = orderService.getById(orderDto.getOrder_id()); - if (existingOrder == null) { - return ResponseResult.error("订单不存在"); - } - - orderDto.setUpdate_time(LocalDateTime.now()); - if (orderDto.getKeywords()!= null&&orderDto.getKeywords().trim().length() > 0){ - // 保存关键词 - boolean saveOrderWithKeywords = orderService.saveOrderWithKeywords(orderDto, orderDto.getOrder_id()); - if (!saveOrderWithKeywords) { - return ResponseResult.error("添加关键词失败"); - } - //更新订单状态,新增关键词 - orderDto.setStatus(1); - } - //更新关键词数量 - LambdaQueryWrapper<Keyword> queryKeywordsQueryWrapper = new LambdaQueryWrapper<>(); - queryKeywordsQueryWrapper.eq(Keyword::getOrder_id, orderDto.getOrder_id()); - int count1 = keywordService.count(queryKeywordsQueryWrapper); - orderDto.setKeyword_num(count1); - - - - if (orderService.updateById(orderDto)) { - return ResponseResult.success(); - } - return ResponseResult.error("更新订单失败"); + public ResponseResult<Void> update(@Valid @RequestBody OrderDto orderDto) { + return orderService.updateOrder(orderDto); } + /** * 根据ID查询订单 @@ -169,12 +75,10 @@ @GetMapping("/{orderId}") @ApiOperation("根据ID查询订单") public ResponseResult<Orders> getById(@PathVariable String orderId) { - Orders order = orderService.getById(orderId); - if (order == null || order.getDel_flag() == 1) { - return ResponseResult.error("订单不存在"); - } - return ResponseResult.success(order); + return orderService.getOrderById(orderId); } + + /** * 查询订单列表 @@ -188,60 +92,11 @@ @RequestParam(required = false) Integer status, @RequestParam(required = false) String timeRange) { - LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Orders::getDel_flag, 0); - - // 添加查询条件 - if (clientName != null && !clientName.trim().isEmpty()) { - queryWrapper.eq(Orders::getClient_name, clientName); - } - if (status != null) { - queryWrapper.eq(Orders::getStatus, status); - } - // 改造时间筛选逻辑 - if (timeRange != null && !timeRange.trim().isEmpty()) { - LocalDateTime now = LocalDateTime.now(); - LocalDateTime startTime = null; - - switch (timeRange.trim()) { - case "week": - startTime = now.minusWeeks(1); - break; - case "month": - startTime = now.minusMonths(1); - break; - case "threeMonths": - startTime = now.minusMonths(3); - break; - case "year": - startTime = now.minusYears(1); - break; - default: - // 可添加日志记录无效参数 - break; - } - if (startTime != null) { - queryWrapper.ge(Orders::getCreate_time, startTime); - } - } - // 排序 - queryWrapper.orderByDesc(Orders::getCreate_time); - // 分页查询 - if (pageNum != null && pageSize != null) { - Page<Orders> pageInfo = new Page<>(pageNum, pageSize); - Page<Orders> result = orderService.page(pageInfo, queryWrapper); - return ResponseResult.success(new CustomPage<>(result)); - } - - // 不分页查询:手动创建 CustomPage - List<Orders> list = orderService.list(queryWrapper); - CustomPage<Orders> page = new CustomPage<>(new Page<>()); - page.setRecords(list); - page.setTotal(list.size()); - - return ResponseResult.success(page); + return orderService.getCustomPageResponseResult(pageNum, pageSize, clientName, status, timeRange); } + + /** * 获取客户列表 * @param -- Gitblit v1.7.1