guyue
3 天以前 fa6c51df4e981bf0e0041626317ca4a686f1a918
采集列表
5个文件已修改
57 ■■■■■ 已修改文件
src/main/java/com/linghu/controller/OrderController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/linghu/model/dto/KeywordDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/linghu/model/dto/OrderDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/linghu/service/OrderService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/linghu/service/impl/OrderServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/linghu/controller/OrderController.java
@@ -5,6 +5,7 @@
import com.fasterxml.jackson.databind.util.BeanUtil;
import com.linghu.model.common.ResponseResult;
import com.linghu.model.entity.Orders;
import com.linghu.model.dto.KeywordDto;
import com.linghu.model.dto.OrderDto;
import com.linghu.service.OrderService;
@@ -168,4 +169,11 @@
        List<Orders> list = orderService.list(queryWrapper);
        return ResponseResult.success(list);
    }
    @GetMapping("/{orderId}/keywordList")
    @ApiOperation("获取订单关联的关键词及提问词")
    public ResponseResult<List<KeywordDto>> getKeywordList(@PathVariable String orderId) {
        List<KeywordDto> result = orderService.getKeywordListByOrderId(orderId);
        return ResponseResult.success(result);
    }
}
src/main/java/com/linghu/model/dto/KeywordDto.java
@@ -2,7 +2,11 @@
 
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
import com.linghu.model.entity.Keyword;
import com.linghu.model.entity.Question;
 
@EqualsAndHashCode(callSuper = true)
@Data
@@ -11,4 +15,6 @@
     * 提问词列表,用换行符分隔
     */
    private String questions;
    private List<Question> questionList;
}
src/main/java/com/linghu/model/dto/OrderDto.java
@@ -4,6 +4,8 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
 * 订单数据传输对象,扩展Order实体
 */
@@ -14,4 +16,6 @@
     * 关键词列表,用换行符分隔
     */
    private String keywords;
    private List<KeywordDto> keywordList;
}
src/main/java/com/linghu/service/OrderService.java
@@ -1,7 +1,11 @@
package com.linghu.service;
import com.linghu.model.entity.Orders;
import com.linghu.model.dto.KeywordDto;
import com.linghu.model.dto.OrderDto;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@@ -19,4 +23,6 @@
     * @return 是否保存成功
     */
    boolean saveOrderWithKeywords(OrderDto orderDto,String order_id);
    List<KeywordDto> getKeywordListByOrderId(String order_id);
}
src/main/java/com/linghu/service/impl/OrderServiceImpl.java
@@ -1,12 +1,20 @@
package com.linghu.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.linghu.model.dto.KeywordDto;
import com.linghu.model.dto.OrderDto;
import com.linghu.model.entity.Keyword;
import com.linghu.model.entity.Orders;
import com.linghu.model.entity.Question;
import com.linghu.service.KeywordService;
import com.linghu.service.OrderService;
import com.linghu.mapper.OrderMapper;
import java.util.ArrayList;
import java.util.List;
import com.linghu.service.QuestionService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -23,11 +31,12 @@
    @Autowired
    private KeywordService keywordService;
    @Autowired
    private QuestionService questionService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean saveOrderWithKeywords(OrderDto orderDto,String order_id) {
        // 如果有关键词,则保存关键词
        if (StringUtils.hasText(orderDto.getKeywords())) {
@@ -82,4 +91,26 @@
        return true;
    }
    @Override
    public List<KeywordDto> getKeywordListByOrderId(String orderId) {
        List<Keyword> keywords = keywordService.lambdaQuery()
                .eq(Keyword::getOrder_id, orderId)
                .list();
        // 遍历关键词,获取每个关键词对应的提问词
        List<KeywordDto> keywordDtos = new ArrayList<>();
        for (Keyword keyword : keywords) {
            KeywordDto dto = new KeywordDto();
            BeanUtils.copyProperties(keyword, dto);
            // 查询该关键词下的所有提问词
            List<Question> questions = questionService.lambdaQuery()
                    .eq(Question::getKeyword_id, keyword.getKeyword_id())
                    .list();
            dto.setQuestionList(questions);
            keywordDtos.add(dto);
        }
        return keywordDtos;
    }
}