From e285517df2a3cb206282a41f958c80044422a552 Mon Sep 17 00:00:00 2001 From: guyue <1721849008@qq.com> Date: 星期一, 07 七月 2025 17:51:35 +0800 Subject: [PATCH] 基本增删改 --- src/main/java/com/linghu/service/impl/OrderServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 75 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/linghu/service/impl/OrderServiceImpl.java b/src/main/java/com/linghu/service/impl/OrderServiceImpl.java index bcc381f..e8fa8ba 100644 --- a/src/main/java/com/linghu/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/linghu/service/impl/OrderServiceImpl.java @@ -1,22 +1,88 @@ package com.linghu.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.linghu.model.dto.OrderDto; +import com.linghu.model.entity.Keyword; import com.linghu.model.entity.Order; +import com.linghu.service.KeywordService; import com.linghu.service.OrderService; import com.linghu.mapper.OrderMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; /** -* @author xy -* @description 针对表【order】的数据库操作Service实现 -* @createDate 2025-07-02 16:32:19 -*/ + * @author xy + * @description 针对表【order】的数据库操作Service实现 + * @createDate 2025-07-04 20:17:33 + */ @Service public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> - implements OrderService{ + implements OrderService { + @Autowired + private KeywordService keywordService; + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean saveOrderWithKeywords(OrderDto orderDto) { + // 保存订单 + if (!this.save(orderDto)) { + return false; + } + + // 如果有关键词,则保存关键词 + if (StringUtils.hasText(orderDto.getKeywords())) { + String[] keywordArray = orderDto.getKeywords().split("\\n"); + for (String keywordName : keywordArray) { + if (StringUtils.hasText(keywordName)) { + Keyword keyword = new Keyword(); + keyword.setOrder_id(orderDto.getOrder_id()); + keyword.setKeyword_name(keywordName.trim()); + keyword.setStatus("notSubmitted"); + // keyword.setNum(1); // 默认采集轮数为1 + keywordService.save(keyword); + } + } + } + + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateOrderWithKeywords(OrderDto orderDto, Integer currentStatus) { + // 状态为2或3时禁止修改 + if (currentStatus >= 2) { + throw new RuntimeException("执行中和已完成状态的订单不可修改"); + } + + // 更新订单基本信息 + if (!this.updateById(orderDto)) { + return false; + } + + // 删除旧关键词(当状态为1时允许修改关键词) + keywordService.lambdaUpdate() + .eq(Keyword::getOrder_id, orderDto.getOrder_id()) + .eq(Keyword::getStatus, "notSubmitted") + .remove(); + + // 保存新关键词 + if (StringUtils.hasText(orderDto.getKeywords())) { + String[] keywordArray = orderDto.getKeywords().split("\\n"); + for (String keywordName : keywordArray) { + if (StringUtils.hasText(keywordName)) { + Keyword keyword = new Keyword(); + keyword.setOrder_id(orderDto.getOrder_id()); + keyword.setKeyword_name(keywordName.trim()); + keyword.setStatus("notSubmitted"); + keywordService.save(keyword); + } + } + } + + return true; + } } - - - - -- Gitblit v1.7.1