From 1de5a4bf3d3248b6847cad2f73ce7ca8a4a6ba56 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 03 Jun 2024 15:45:05 +0800 Subject: [PATCH] 退款时,退最后一个商品才退运费 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 87 insertions(+), 16 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 18dd2a9..bde2101 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -95,6 +95,7 @@ private final MallStoreMapper mallStoreMapper; private final MallStoreItemMapper mallStoreItemMapper; private final MallStoreMemberMapper mallStoreMemberMapper; + private final MallMemberLevelMapper mallMemberLevelMapper; @Value("${spring.profiles.active}") @@ -379,12 +380,30 @@ MallMember mallMember = this.baseMapper.selectById(memberId); List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId()); + if(CollUtil.isNotEmpty(list)){ + for(TeamListVo teamListVo : list){ + String levelName = ""; + if(1 == teamListVo.getLevelCode()){ + levelName = "一级"; + }else if(2 == teamListVo.getLevelCode()){ + levelName = "二级"; + } + teamListVo.setLevelName(levelName); + } + } + + QueryWrapper<MallMemberLevel> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("member_id",memberId); + MallMemberLevel mallMemberLevel = mallMemberLevelMapper.selectOne(queryWrapper); MyTeamVo myTeamVo = new MyTeamVo(); + myTeamVo.setLevelPercent(mallMemberLevel.getLevelPercent()); + myTeamVo.setLevelCode(mallMemberLevel.getLevelCode()); myTeamVo.setTeam(list); myTeamVo.setMyAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 1)); myTeamVo.setMyTeamAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 2)); - myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size()); + List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(mallMember.getInviteId()); + myTeamVo.setMyTeamCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size()); return new FebsResponse().success().data(myTeamVo); } @@ -675,6 +694,12 @@ } this.baseMapper.insert(mallMember); +// MallMemberLevel mallMemberLevel = new MallMemberLevel(); +// mallMemberLevel.setMemberId(mallMember.getId()); +// mallMemberLevel.setLevelCode(0); +// mallMemberLevel.setLevelPercent(BigDecimal.ZERO); +// mallMemberLevelMapper.insert(mallMemberLevel); + mallMember = this.baseMapper.selectMemberByOpenId(openId); String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId()); mallMember.setInviteId(inviteId); @@ -731,21 +756,21 @@ mallMember.setAvatar(avatarUrl); } - if (StrUtil.isNotBlank(apiXcxSaveInfoDto.getRealName())) { - mallMember.setRealName(apiXcxSaveInfoDto.getRealName()); - } - - if (apiXcxSaveInfoDto.getBirthday() != null) { - mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday()); - } - - List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList(); - if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) { - MallVipConfig mallVipConfig = configs.get(0); - mallMember.setLevel(mallVipConfig.getCode()); - } - - mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); +// if (StrUtil.isNotBlank(apiXcxSaveInfoDto.getRealName())) { +// mallMember.setRealName(apiXcxSaveInfoDto.getRealName()); +// } +// +// if (apiXcxSaveInfoDto.getBirthday() != null) { +// mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday()); +// } +// +// List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList(); +// if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) { +// MallVipConfig mallVipConfig = configs.get(0); +// mallMember.setLevel(mallVipConfig.getCode()); +// } +// +// mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); this.baseMapper.updateById(mallMember); return new FebsResponse().success(); } @@ -1307,6 +1332,52 @@ return new FebsResponse().success().data(data); } + @Override + public FebsResponse levelUpdate(ApiLevelUpdateDto apiLevelUpdateDto) { + Long levelId = apiLevelUpdateDto.getLevelId(); + MallMemberLevel mallMemberLevel = mallMemberLevelMapper.selectById(levelId); + if(ObjectUtil.isEmpty(mallMemberLevel)){ + throw new FebsException("记录不存在"); + } + + DataDictionaryCustom memberLevelOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.MEMBER_LEVEL_ONE.getType(), + DataDictionaryEnum.MEMBER_LEVEL_ONE.getCode() + ); + if(Integer.parseInt(memberLevelOneDic.getValue()) != mallMemberLevel.getLevelCode()){ + throw new FebsException(StrUtil.format("{}才能设置层级和佣金比例}", memberLevelOneDic.getDescription())); + } + + DataDictionaryCustom memberLevelTwoDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.MEMBER_LEVEL_TWO.getType(), + DataDictionaryEnum.MEMBER_LEVEL_TWO.getCode() + ); + Integer levelCode = apiLevelUpdateDto.getLevelCode(); + if(Integer.parseInt(memberLevelTwoDic.getValue()) != levelCode){ + throw new FebsException(StrUtil.format("当前用户只能设置{}}", memberLevelTwoDic.getDescription())); + } + + DataDictionaryCustom minPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MIN.getType(), + DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MIN.getCode() + ); + DataDictionaryCustom maxPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MAX.getType(), + DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MAX.getCode() + ); + BigDecimal minPercent = new BigDecimal(minPercentDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); + BigDecimal maxPercent = new BigDecimal(maxPercentDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); + BigDecimal levelPercent = apiLevelUpdateDto.getLevelPercent(); + if(levelPercent.compareTo(minPercent) < 0 || levelPercent.compareTo(maxPercent) > 0){ + throw new FebsException(StrUtil.format("佣金比例必须在{}和{}之间。", minPercent,maxPercent)); + } + + mallMemberLevel.setLevelCode(levelCode); + mallMemberLevel.setLevelPercent(levelPercent); + mallMemberLevelMapper.updateById(mallMemberLevel); + return new FebsResponse().success().message("操作成功"); + } + public static void main(String[] args) { Long userld = 173L; String shopAccount = "luohu"; -- Gitblit v1.9.1