From dd028e18a12ad9ae7c43ed09b15ddd6bde1a43e9 Mon Sep 17 00:00:00 2001 From: guyue <1721849008@qq.com> Date: 星期三, 03 九月 2025 11:27:50 +0800 Subject: [PATCH] 采集中状态修改提前,统计数据合并 --- src/main/java/com/linghu/controller/OrderController.java | 165 +++++------------------------------------------------- 1 files changed, 17 insertions(+), 148 deletions(-) diff --git a/src/main/java/com/linghu/controller/OrderController.java b/src/main/java/com/linghu/controller/OrderController.java index 377bbc1..49afe6a 100644 --- a/src/main/java/com/linghu/controller/OrderController.java +++ b/src/main/java/com/linghu/controller/OrderController.java @@ -16,9 +16,11 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; 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; @@ -35,58 +37,15 @@ @Autowired private OrderService orderService; - @Autowired - private KeywordService keywordService; /** * 新增订单 */ @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()); - - // 查询当天订单数量 - LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.likeRight(Orders::getOrder_id, dateStr); - long count = orderService.count(queryWrapper); - - // 生成订单ID - String orderId = String.format("%s%04d", dateStr, count + 1); - 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); } /** @@ -95,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查询订单 @@ -155,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); } + + /** * 查询订单列表 @@ -174,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