From 63446c356df28f927e4d4735b2f867b278c1fec6 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 26 Aug 2025 11:38:30 +0800
Subject: [PATCH] refactor(ai): 优化 AI聊天功能代码
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 83 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
index f669736..d2c7adb 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
@@ -2,14 +2,22 @@
import cc.mrbird.febs.ai.entity.AiProductCategory;
import cc.mrbird.febs.ai.mapper.AiProductCategoryMapper;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto;
+import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
import cc.mrbird.febs.ai.service.AiProductCategoryService;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.vo.ApiActivityInfoVo;
+import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -26,4 +34,79 @@
private final AiProductCategoryMapper aiProductCategoryMapper;
+ @Override
+ public List<AiProductCategory> getListByQuery(LambdaQueryWrapper<AiProductCategory> query) {
+ return aiProductCategoryMapper.selectList(query);
+ }
+
+ @Override
+ public Page<ApiProductCategoryVo> getPageListByQuery(Page<ApiProductCategoryVo> page , ApiProductCategoryPageDto dto) {
+ return aiProductCategoryMapper.selectPageListByQuery(page,dto);
+ }
+
+ @Override
+ public FebsResponse hot() {
+
+ List<ApiProductCategoryVo> list = new ArrayList<>();
+
+ LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
+ query.eq(AiProductCategory::getState, 1);
+ query.eq(AiProductCategory::getHotState, 1);
+ query.orderByAsc(AiProductCategory::getSort);
+ List<AiProductCategory> listByQuery = this.getListByQuery(query);
+ if (CollUtil.isNotEmpty(listByQuery)){
+ for (AiProductCategory aiProductCategory : listByQuery){
+ ApiProductCategoryVo apiProductCategoryVo = new ApiProductCategoryVo();
+ apiProductCategoryVo.setId(aiProductCategory.getId());
+ apiProductCategoryVo.setName(aiProductCategory.getName());
+ apiProductCategoryVo.setBackImg(aiProductCategory.getBackImg());
+ apiProductCategoryVo.setIconImg(aiProductCategory.getIconImg());
+ list.add(apiProductCategoryVo);
+ }
+ }
+ return new FebsResponse().success().data(list);
+ }
+
+ @Override
+ public FebsResponse categoryList(ApiProductCategoryPageDto dto) {
+ // 创建分页对象,传入当前页和每页大小
+ Page<ApiProductCategoryVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+ Page<ApiProductCategoryVo> pageListByQuery = this.getPageListByQuery(page, dto);
+ return new FebsResponse().success().data(pageListByQuery);
+ }
+
+ @Override
+ public String getDefaultProductCategoryId() {
+ LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
+ query.eq(AiProductCategory::getState, 1);
+ query.eq(AiProductCategory::getHotState, 1);
+ query.orderByAsc(AiProductCategory::getSort);
+ query.last("limit 1");
+ List<AiProductCategory> listByQuery = this.getListByQuery(query);
+ if (CollUtil.isNotEmpty(listByQuery)){
+ return listByQuery.get(0).getId();
+ }
+ return null;
+ }
+
+ @Override
+ public FebsResponse allList() {
+ List<ApiProductCategoryVo> list = new ArrayList<>();
+ LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
+ query.eq(AiProductCategory::getState, 1);
+ query.orderByAsc(AiProductCategory::getSort);
+ List<AiProductCategory> listByQuery = this.getListByQuery(query);
+ if (CollUtil.isNotEmpty(listByQuery)){
+ for (AiProductCategory aiProductCategory : listByQuery){
+ ApiProductCategoryVo apiProductCategoryVo = new ApiProductCategoryVo();
+ apiProductCategoryVo.setId(aiProductCategory.getId());
+ apiProductCategoryVo.setName(aiProductCategory.getName());
+ apiProductCategoryVo.setBackImg(aiProductCategory.getBackImg());
+ apiProductCategoryVo.setIconImg(aiProductCategory.getIconImg());
+ list.add(apiProductCategoryVo);
+ }
+
+ }
+ return new FebsResponse().success().data(list);
+ }
}
--
Gitblit v1.9.1