From 87b793dc328b8cd4a6263acc45bc7dcfdacf04d1 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 22 Jul 2025 10:52:05 +0800
Subject: [PATCH] feat(mall): 添加收藏、点赞、关注状态接口
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 44 insertions(+), 15 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 e031858..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;
@@ -36,6 +39,8 @@
private final HappyMemberLevelMapper happyMemberLevelMapper;
private final MallAchieveRecordMapper mallAchieveRecordMapper;
private final MallMemberWalletMapper mallMemberWalletMapper;
+ private final MallMemberMapper mallMemberMapper;
+ private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
@Override
public FebsResponse saleInfo() {
ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo();
@@ -62,18 +67,17 @@
new LambdaQueryWrapper<MallAchieveRecord>()
.eq(MallAchieveRecord::getMemberId, id)
);
- if (CollUtil.isNotEmpty(mallAchieveRecords)) {
- apiSaleInfoVo.setTotalSaleAmount(
- CollUtil.isNotEmpty(mallAchieveRecords)
- ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
- : BigDecimal.ZERO);
- apiSaleInfoVo.setOrderCnt(CollUtil.isNotEmpty(mallAchieveRecords) ? mallAchieveRecords.size() : 0);
- }
+ apiSaleInfoVo.setTotalSaleAmount(
+ CollUtil.isNotEmpty(mallAchieveRecords)
+ ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
+ : BigDecimal.ZERO);
+ apiSaleInfoVo.setOrderCnt(CollUtil.isNotEmpty(mallAchieveRecords) ? mallAchieveRecords.size() : 0);
- List<MallMember> mallMembers = this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId());
+ List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId());
apiSaleInfoVo.setTotalCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0);
- // todo 提现部分暂无
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id);
+ apiSaleInfoVo.setAvaAmount(mallMemberWallet.getCommission());
return new FebsResponse().success().data(apiSaleInfoVo);
}
@@ -154,6 +158,13 @@
new LambdaQueryWrapper<HappySaleLevel>()
.orderByAsc(HappySaleLevel::getCode)
);
+
+ List<MallMember> directMembers = mallMemberMapper.selectByRefererId(mallMember.getInviteId());
+ List<MallMember> teamMembers = mallMemberMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId());
+ List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectList(
+ new LambdaQueryWrapper<MallAchieveRecord>()
+ .eq(MallAchieveRecord::getMemberId, memberId)
+ );
if (CollUtil.isNotEmpty(happySaleLevels)) {
happySaleLevels.forEach(happySaleLevel -> {
ApiLevelListInfoVo apiLevelListInfoVo = new ApiLevelListInfoVo();
@@ -161,7 +172,16 @@
apiLevelListInfoVo.setMemberCode(mallMember.getStoreMaster());
apiLevelListInfoVo.setCode(happySaleLevel.getCode());
apiLevelListInfoVo.setContent(happySaleLevel.getContent());
- apiLevelListInfoVo.setHeaderPng(happySaleLevel.getIconPng());
+ apiLevelListInfoVo.setHeaderPng(happySaleLevel.getHeaderPng());
+ apiLevelListInfoVo.setTeamCnt(happySaleLevel.getTeamCnt());
+ apiLevelListInfoVo.setTeamCntNow(CollUtil.isNotEmpty(teamMembers) ? teamMembers.size() : 0);
+ apiLevelListInfoVo.setDirectCnt(happySaleLevel.getDirectCnt());
+ apiLevelListInfoVo.setDirectCntNow(CollUtil.isNotEmpty(directMembers) ? directMembers.size() : 0);
+ apiLevelListInfoVo.setTeamAmount(happySaleLevel.getTeamAmount());
+ apiLevelListInfoVo.setTeamAmountNow(
+ CollUtil.isNotEmpty(mallAchieveRecords)
+ ? mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
+ : BigDecimal.ZERO);
apiLevelListInfoVos.add(apiLevelListInfoVo);
});
}
@@ -288,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