From 753df81a02287acd5af16ef83eccd0a295530584 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 30 Oct 2025 10:46:36 +0800
Subject: [PATCH] feat(ai): 简化AI对话项创建逻辑并新增连续对话类型 - 移除复杂的对话项更新逻辑,统一通过add方法创建新项 - 新增AiTalkOutputEnum枚举值CONTEXT_TALK用于AI陪练连续对话 - 更新ApiMemberTalkAnswerSavaDto注释以包含新的对话类型 - 修复对话项创建时类型参数未正确传递的问题 - 优化代码结构,减少冗余的条件判断和数据转换操作
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
index b95426d..39d383b 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMemberLevelServiceImpl.java
@@ -4,19 +4,20 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.StateUpDownEnum;
import cc.mrbird.febs.mall.dto.memberLevel.*;
-import cc.mrbird.febs.mall.entity.HappyActivityCategory;
-import cc.mrbird.febs.mall.entity.HappyMemberLabel;
-import cc.mrbird.febs.mall.entity.HappyMemberLevel;
-import cc.mrbird.febs.mall.entity.HappySaleLevel;
+import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.HappyMemberLabelMapper;
+import cc.mrbird.febs.mall.mapper.HappyMemberLabelRecordMapper;
import cc.mrbird.febs.mall.mapper.HappyMemberLevelMapper;
import cc.mrbird.febs.mall.mapper.HappySaleLevelMapper;
import cc.mrbird.febs.mall.service.AdminMemberLevelService;
+import cc.mrbird.febs.mall.vo.memberLevel.AdminMemberLabelSetDto;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+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;
@@ -35,6 +36,7 @@
private final HappyMemberLevelMapper happyMemberLevelMapper;
private final HappySaleLevelMapper happySaleLevelMapper;
private final HappyMemberLabelMapper happyMemberLabelMapper;
+ private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
@Override
public IPage<HappyMemberLevel> getLevelListInPage(AdminMemberLevelDto dto, QueryRequest request) {
@@ -67,8 +69,25 @@
public FebsResponse labelAdd(AdminMemberLabelAddDto dto) {
HappyMemberLabel happyMemberLabel = new HappyMemberLabel();
BeanUtil.copyProperties(dto, happyMemberLabel);
+ Integer code = 0;
+ if(ObjectUtil.isEmpty(dto.getParentId())){
+ code = dto.getCode();
+ }
+ happyMemberLabel.setCode(code);
happyMemberLabelMapper.insert(happyMemberLabel);
return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse parentAll() {
+
+ List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
+ Wrappers.lambdaQuery(HappyMemberLabel.class)
+ .select(HappyMemberLabel::getId, HappyMemberLabel::getName)
+ .eq(HappyMemberLabel::getParentId, 0)
+ .eq(HappyMemberLabel::getCode,1)
+ );
+ return new FebsResponse().success().data(happyMemberLabels);
}
@Override
@@ -86,12 +105,43 @@
HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(dto.getId());
if (ObjectUtil.isNotNull(happyMemberLabel)) {
BeanUtil.copyProperties(dto, happyMemberLabel);
+
+ Integer code = 0;
+ Long parentId = 0L;
+ if(ObjectUtil.isEmpty(dto.getParentId())){
+ code = dto.getCode();
+ }else{
+ parentId = dto.getParentId();
+ }
+ happyMemberLabel.setCode(code);
+ happyMemberLabel.setParentId(parentId);
happyMemberLabelMapper.updateById(happyMemberLabel);
}
return new FebsResponse().success().message("操作成功");
}
@Override
+ public FebsResponse labelMemberSet(AdminMemberLabelSetDto dto) {
+ Long labelId = dto.getLabelId();
+ List<Long> memberIdList = dto.getMemberIdList();
+ HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(labelId);
+ if (ObjectUtil.isNotEmpty(happyMemberLabel)) {
+ LambdaQueryWrapper<HappyMemberLabelRecord> happyMemberLabelRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ happyMemberLabelRecordLambdaQueryWrapper.eq(HappyMemberLabelRecord::getLabelId,labelId);
+ happyMemberLabelRecordMapper.delete(happyMemberLabelRecordLambdaQueryWrapper);
+ if(CollUtil.isNotEmpty(memberIdList)){
+ for (Long memberId:memberIdList){
+ HappyMemberLabelRecord happyMemberLabelRecord = new HappyMemberLabelRecord();
+ happyMemberLabelRecord.setMemberId(memberId);
+ happyMemberLabelRecord.setLabelId(labelId);
+ happyMemberLabelRecordMapper.insert(happyMemberLabelRecord);
+ }
+ }
+ }
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
public FebsResponse levelAll() {
List<HappyMemberLevel> happyMemberLevels = happyMemberLevelMapper.selectList(
new LambdaQueryWrapper<HappyMemberLevel>()
--
Gitblit v1.9.1