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/ApiSaleServiceImpl.java | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
index fe546c7..4bc6271 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
@@ -1,7 +1,9 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.mall.dto.ScoreSettingDto;
import cc.mrbird.febs.mall.dto.sale.ApiSaleListInfoDto;
import cc.mrbird.febs.mall.dto.sale.ApiSaleRecordInfoDto;
import cc.mrbird.febs.mall.dto.sale.ApiTeamListInfoDto;
@@ -15,6 +17,7 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -37,6 +40,7 @@
private final MallAchieveRecordMapper mallAchieveRecordMapper;
private final MallMemberWalletMapper mallMemberWalletMapper;
private final MallMemberMapper mallMemberMapper;
+ private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
@Override
public FebsResponse saleInfo() {
ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo();
@@ -176,7 +180,7 @@
apiLevelListInfoVo.setTeamAmount(happySaleLevel.getTeamAmount());
apiLevelListInfoVo.setTeamAmountNow(
CollUtil.isNotEmpty(mallAchieveRecords)
- ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
+ ? mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
: BigDecimal.ZERO);
apiLevelListInfoVos.add(apiLevelListInfoVo);
});
@@ -304,17 +308,26 @@
Map<Integer, HappyMemberLevel> happyMemberLevelMap = happyMemberLevels.stream()
.collect(Collectors.toMap(HappyMemberLevel::getCode, happyMemberLevel -> happyMemberLevel));
if (CollUtil.isNotEmpty(happyMemberLevels)) {
- happyMemberLevels.forEach(happyMemberLevel -> {
+ int mostSignIn = 1;
+ DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SCORE_SIGN_SETTING.getType(),
+ DataDictionaryEnum.SCORE_SIGN_SETTING.getCode());
+ if (dic != null) {
+ ScoreSettingDto scoreSettingDto = JSONObject.parseObject(dic.getValue(), ScoreSettingDto.class);
+ mostSignIn = ObjectUtil.isEmpty(scoreSettingDto.getMostSignIn()) ? 1 : scoreSettingDto.getMostSignIn();
+ }
+ for (HappyMemberLevel happyMemberLevel : happyMemberLevels) {
ApiMemberLevelListInfoVo vo = new ApiMemberLevelListInfoVo();
BeanUtil.copyProperties(happyMemberLevel, vo);
+ vo.setMostSignIn(mostSignIn);
vo.setMemberCode(mallMember.getDirector());
vo.setMemberScore(mallMemberWallet.getScore());
vo.setUpgradeScore(
- ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode() + 1)) ?
- 0 : happyMemberLevelMap.get(happyMemberLevel.getCode() + 1).getUpgradeScore()
- );
+ ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode())) ?
+ 0 : happyMemberLevelMap.get(happyMemberLevel.getCode()).getUpgradeScore()
+ );
apiLevelListInfoVos.add(vo);
- });
+ }
}
return new FebsResponse().success().data(apiLevelListInfoVos);
}
--
Gitblit v1.9.1