From 9b51a95fa8bc9b3a86108c6900e17fc55f8db467 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 17:02:07 +0800 Subject: [PATCH] refactor(vip): 优化积分和返佣计算逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAgentServiceImpl.java | 31 ++++++++++++++++++++++++++++--- 1 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAgentServiceImpl.java index 94ab94b..9e814ae 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAgentServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAgentServiceImpl.java @@ -2,20 +2,29 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; +import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.mall.conversion.MallAgentRecordConversion; import cc.mrbird.febs.mall.conversion.MallGoodsConversion; import cc.mrbird.febs.mall.dto.ApiAgentApplyDto; +import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallAgentRecord; import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.mall.mapper.MallAgentRecordMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.service.IApiMallAgentService; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.List; @Slf4j @Service @@ -24,6 +33,7 @@ private final MallAgentRecordMapper mallAgentRecordMapper; private final MallMemberMapper mallMemberMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override public FebsResponse agentApply(ApiAgentApplyDto apiAgentApplyDto) { @@ -36,14 +46,29 @@ //判断用户是否正在申请 MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectByMemberIdAndState(memberId,MallAgentRecord.APPLY_ING); if(ObjectUtil.isNotEmpty(mallAgentRecord)){ - return new FebsResponse().fail().message("用户已申请"); + mallAgentRecordMapper.deleteByMemberIdAndState(memberId,MallAgentRecord.APPLY_ING); } +// String city = apiAgentApplyDto.getCity(); +// List<MallAgentRecord> cityMallAgents = mallAgentRecordMapper.selectByCity(city); +// if(CollUtil.isEmpty(cityMallAgents)){ +// return new FebsResponse().fail().message("当前城市已经无法申请"); +// } + + + DataDictionaryCustom agentAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.PRICE_AMOUNT.getType() + , DataDictionaryEnum.PRICE_AMOUNT.getCode()); + String agentAmount = agentAmountDic.getValue(); + BigDecimal bigDecimal = new BigDecimal(agentAmount); MallAgentRecord mallAgentRecordNew = MallAgentRecordConversion.INSTANCE.dtoToEntity(apiAgentApplyDto); mallAgentRecordNew.setMemberId(memberId); mallAgentRecordNew.setState(MallAgentRecord.APPLY_ING); + mallAgentRecordNew.setAgentLevel(apiAgentApplyDto.getType()); + if(apiAgentApplyDto.getType().equals(AgentLevelEnum.LEVEL_THREE.getName())){ + mallAgentRecordNew.setAmount(bigDecimal); + } mallAgentRecordMapper.insert(mallAgentRecordNew); - - return new FebsResponse().success().message("申请成功"); + return new FebsResponse().success().data(bigDecimal); } + } -- Gitblit v1.9.1