From 1e35772e6e401dd9a0f6fe80299c9109edbb13c7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 02 Feb 2026 13:51:44 +0800
Subject: [PATCH] feat(ai): 添加产品问答状态批量更新功能
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java | 37 ++++++++++++++++++++++++++++++++++---
1 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java
index d125cf8..2352f24 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java
@@ -9,8 +9,12 @@
import cc.mrbird.febs.ai.util.UUID;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.mall.entity.MallMember;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.SecureUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@@ -55,7 +59,14 @@
public IPage<AiProductQuestion> listInPage(AiProductQuestion dto, QueryRequest request) {
Page<AiProductQuestion> page = new Page<>(request.getPageNum(), request.getPageSize());
LambdaQueryWrapper<AiProductQuestion> query = Wrappers.lambdaQuery(AiProductQuestion.class);
+ if (StrUtil.isNotEmpty(dto.getCompanyId())){
+ query.eq(AiProductQuestion::getCompanyId, dto.getCompanyId());
+ }
+ if (StrUtil.isNotEmpty(dto.getProductCategoryId())){
+ query.eq(AiProductQuestion::getProductCategoryId, dto.getProductCategoryId());
+ }
query.ne(AiProductQuestion::getState, 2);
+ query.orderByDesc(AiProductQuestion::getCreatedTime);
Page<AiProductQuestion> pages = aiProductQuestionMapper.selectPage(page, query);
return pages;
}
@@ -99,6 +110,7 @@
for (AiProductQuestionItem item : dto.getAiProductQuestionItems()){
item.setId(UUID.getSimpleUUIDString());
item.setProductQuestionId(entity.getId());
+ item.setCompanyId(dto.getCompanyId());
item.setTitle(entity.getTitle());
item.setCreatedTime(new Date());
aiProductQuestionItemService.getBaseMapper().insert(item);
@@ -125,7 +137,6 @@
if (ObjectUtil.isNotNull( entity)){
this.update(null,
Wrappers.lambdaUpdate(AiProductQuestion.class)
- .set(AiProductQuestion::getCompanyId, dto.getCompanyId())
.set(AiProductQuestion::getProductCategoryId, dto.getProductCategoryId())
.set(AiProductQuestion::getTitle, dto.getTitle())
.set(AiProductQuestion::getDifficulty, dto.getDifficulty())
@@ -147,6 +158,20 @@
}
@Override
+ public FebsResponse stateUpdate(String ids, Integer type) {
+ if (StrUtil.isEmpty(ids)) {
+ throw new FebsException("参数错误");
+ }
+ List<String> idList = StrUtil.split(ids, ',');
+ this.update(null,
+ Wrappers.lambdaUpdate(AiProductQuestion.class)
+ .set(AiProductQuestion::getState, type)
+ .set(AiProductQuestion::getUpdatedTime, new Date())
+ .in(AiProductQuestion::getId, idList));
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
public FebsResponse delete(String id) {
AiProductQuestion entity = this.getById(id);
if(ObjectUtil.isNotNull( entity)){
@@ -161,9 +186,13 @@
}
@Override
- public List<AiProductQuestion> questionTree() {
+ public List<AiProductQuestion> questionTree(String companyId) {
+ LambdaQueryWrapper<AiProductQuestion> query = Wrappers.lambdaQuery(AiProductQuestion.class);
+ if (StrUtil.isNotEmpty(companyId)){
+ query.eq(AiProductQuestion::getCompanyId, companyId);
+ }
- return aiProductQuestionMapper.selectList(null);
+ return aiProductQuestionMapper.selectList(query);
}
@Override
@@ -190,6 +219,7 @@
AiProductQuestion aiProductQuestion = new AiProductQuestion();
aiProductQuestion.setId(UUID.getSimpleUUIDString());
+ aiProductQuestion.setCompanyId(dto.getCompanyId());
aiProductQuestion.setProductCategoryId(productCategoryId);
aiProductQuestion.setTitle(title);
aiProductQuestion.setDifficulty(difficulty);
@@ -205,6 +235,7 @@
System.out.println("分析: " + answer.getStr("analysis"));
AiProductQuestionItem aiProductQuestionItem = new AiProductQuestionItem();
aiProductQuestionItem.setId(UUID.getSimpleUUIDString());
+ aiProductQuestionItem.setCompanyId(dto.getCompanyId());
aiProductQuestionItem.setProductQuestionId(aiProductQuestion.getId());
aiProductQuestionItem.setTitle(aiProductQuestion.getTitle());
aiProductQuestionItem.setAnswer(answer.getStr("answer"));
--
Gitblit v1.9.1