From cbe4b354224dfc34a852c7b7f932d33bbe85ffec Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 03 Feb 2026 15:19:39 +0800
Subject: [PATCH] feat(ai): 新增产品题目导入导出功能

---
 src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java b/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java
index 497dc54..075ec0a 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java
@@ -1,19 +1,41 @@
 package cc.mrbird.febs.ai.controller.productQuestion;
 
 import cc.mrbird.febs.ai.entity.AiProductQuestion;
+import cc.mrbird.febs.ai.entity.AiProductQuestionItem;
+import cc.mrbird.febs.ai.entity.AiProductQuestionJob;
 import cc.mrbird.febs.ai.req.AiProductQuestionAiDto;
 import cc.mrbird.febs.ai.service.AiProductQuestionService;
 import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
+import cc.mrbird.febs.common.utils.excl.ExcelUtil;
+import cc.mrbird.febs.common.utils.excl.ExcelVersion;
+import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil;
+import cc.mrbird.febs.mall.dto.DeliverGoodsDto;
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import cc.mrbird.febs.mall.entity.MallOrderItem;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -34,6 +56,15 @@
         dto.setCompanyId(companyId);
 
         Map<String, Object> data = getDataTable(aiProductQuestionService.listInPage(dto, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    @GetMapping("jobList")
+    public FebsResponse jobList(AiProductQuestionJob dto, QueryRequest request) {
+        String companyId = getCurrentUserCompanyId();
+        dto.setCompanyId(companyId);
+
+        Map<String, Object> data = getDataTable(aiProductQuestionService.listJobInPage(dto, request));
         return new FebsResponse().success().data(data);
     }
 
@@ -60,9 +91,12 @@
     @ControllerEndpoint(operation = "AI生成题目", exceptionMessage = "操作失败")
     public FebsResponse aiAdd(@RequestBody @Valid AiProductQuestionAiDto dto) {
 
+//        String companyId = getCurrentUserCompanyId();
+//        dto.setCompanyId(companyId);
+//        return aiProductQuestionService.aiAdd(dto);
         String companyId = getCurrentUserCompanyId();
         dto.setCompanyId(companyId);
-        return aiProductQuestionService.aiAdd(dto);
+        return aiProductQuestionService.aiAddV2(dto);
     }
 
     @PostMapping("update")
@@ -70,6 +104,18 @@
     public FebsResponse update(@RequestBody @Valid AiProductQuestion dto) {
 
         return aiProductQuestionService.update(dto);
+    }
+
+    @PostMapping(value = "stateUpdate/{type}/{ids}")
+    @ControllerEndpoint(operation = "更新", exceptionMessage = "操作失败")
+    public FebsResponse stateUpdate(@PathVariable("ids") String ids, @PathVariable("type") Integer type) {
+        return aiProductQuestionService.stateUpdate(ids, type);
+    }
+
+    @PostMapping(value = "productQuestionDelete/{ids}")
+    @ControllerEndpoint(operation = "删除", exceptionMessage = "操作失败")
+    public FebsResponse productQuestionDelete(@PathVariable("ids") String ids) {
+        return aiProductQuestionService.productQuestionDelete(ids);
     }
 
     @GetMapping("delete/{id}")
@@ -88,4 +134,16 @@
         String companyId = getCurrentUserCompanyId();
         return new FebsResponse().success().data(aiProductQuestionService.questionTree(companyId));
     }
+
+    @GetMapping("exportProductQuestion")
+    @ControllerEndpoint(operation = "导出", exceptionMessage = "操作失败")
+    public FebsResponse exportProductQuestion(AiProductQuestion dto, HttpServletResponse response) throws IOException {
+        aiProductQuestionService.exportProductQuestion(dto, response);
+        return null;
+    }
+    @PostMapping(value = "/importProductQuestion")
+    @ControllerEndpoint(operation = "导入", exceptionMessage = "操作失败")
+    public FebsResponse importDeliver(@RequestBody MultipartFile file){
+        return aiProductQuestionService.importDeliver(file);
+    }
 }

--
Gitblit v1.9.1