From d5a96c3122c136d4b0c585d08e61b42e8a123743 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 03 Apr 2023 00:26:52 +0800 Subject: [PATCH] 按照商品的来设置补贴额度的系数 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 89 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index e97394b..99cccf7 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -4,6 +4,7 @@ import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.enumerates.FlowTypeEnum; +import cc.mrbird.febs.common.enumerates.GreenScoreEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.LoginUserUtil; @@ -69,6 +70,8 @@ private final IMallMoneyFlowService mallMoneyFlowService; private final UnipayService unipayService; private final MallMemberBankMapper mallMemberBankMapper; + private final MallScoreRecordMapper mallScoreRecordMapper; + private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper; @Override public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { @@ -121,6 +124,10 @@ // throw new FebsException("团队存在线下服务中心,账号为【"+phoneList.toString()+"】"); // } mallMember.setStoreMaster(value); + }else if (type == 3){ + mallMember.setCreater(value); + } else if (type == 4){ + mallMember.setPartner(value); } else { throw new FebsException("参数错误"); } @@ -629,6 +636,88 @@ return adminMallMemberPaymentVo; } + @Override + public FebsResponse updateVoucher(MallSystemPayDto mallSystemPayDto) { + Long memberId = mallSystemPayDto.getId(); + MallMember mallMember = mallMemberMapper.selectById(memberId); + if(ObjectUtil.isEmpty(mallMember)){ + return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); + } + + BigDecimal addBalance = mallSystemPayDto.getAddBalance(); + if(addBalance.compareTo(BigDecimal.ZERO) <= 0){ + return new FebsResponse().fail().message("请输入正确的数量"); + } + + DataDictionaryCustom totalCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + GreenScoreEnum.TOTAL_CNT.getType(), + GreenScoreEnum.TOTAL_CNT.getCode() + ); + + BigDecimal totalCnt = new BigDecimal(totalCntDic.getValue()); + //凭证占总数的10% + BigDecimal roleCnt = totalCnt.multiply(new BigDecimal(0.1)); + //获取已卖出的凭证数量 + BigDecimal roleCntSale = mallScoreRecordMapper.selectSumScoreCnt().setScale(2,BigDecimal.ROUND_DOWN); + roleCntSale = roleCntSale.add(addBalance); + + if(roleCnt.compareTo(roleCntSale) < 0){ + return new FebsResponse().fail().message("已拨付:"+roleCntSale); + } + /** + * 增加一条会员购买记录 + * mall_score_record + */ + MallScoreRecord mallScoreRecord = new MallScoreRecord(); + mallScoreRecord.setMemberId(memberId); + mallScoreRecord.setScoreNo(MallUtils.getOrderNum("MSR")); + mallScoreRecord.setScoreCnt(addBalance); + mallScoreRecord.setSurplusCnt(addBalance); + mallScoreRecordMapper.insert(mallScoreRecord); + /** + * 减少剩余绿色凭证数量 + */ + DataDictionaryCustom surplusCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + GreenScoreEnum.SURPLUS_CNT.getType(), + GreenScoreEnum.SURPLUS_CNT.getCode() + ); + BigDecimal surplusCnt = new BigDecimal(surplusCntDic.getValue()); + surplusCnt = surplusCnt.subtract(addBalance); + surplusCntDic.setValue(surplusCnt.toString()); + dataDictionaryCustomMapper.updateById(surplusCntDic); + return new FebsResponse().success(); + } + + @Override + public IPage<MallScoreRecord> gerRoleReleaseList(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) { + Page<MallScoreRecord> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallScoreRecord> mallScoreRecordIPage = mallScoreRecordMapper.gerRoleReleaseListInPage(page, roleReleaseDto); + return mallScoreRecordIPage; + } + + @Override + public IPage<MallMoneyFlow> roleReleaseChild(QueryRequest request, MallScoreRecord mallScoreRecord) { + Page<MallMoneyFlow> page = new Page<>(request.getPageNum(), request.getPageSize()); + MallScoreRecord mallScore = mallScoreRecordMapper.selectById(mallScoreRecord.getId()); + IPage<MallMoneyFlow> mallMoneyFlowIPage = mallScoreRecordMapper.gerRoleReleaseChildInPage(page, mallScore); + return mallMoneyFlowIPage; + } + + @Override + public IPage<MallScoreAchieveRelease> gerAchieveReleaseList(AdminRoleReleaseDto roleReleaseDto, QueryRequest request) { + Page<MallScoreAchieveRelease> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallScoreAchieveRelease> MallScoreAchieveReleases = mallScoreAchieveReleaseMapper.gerAchieveReleaseListInPage(page, roleReleaseDto); + return MallScoreAchieveReleases; + } + + @Override + public IPage<MallMoneyFlow> achieveReleaseChild(QueryRequest request, MallScoreAchieveRelease mallScoreAchieveRelease) { + Page<MallMoneyFlow> page = new Page<>(request.getPageNum(), request.getPageSize()); + MallScoreAchieveRelease mallScoreAchieve = mallScoreAchieveReleaseMapper.selectById(mallScoreAchieveRelease.getId()); + IPage<MallMoneyFlow> mallMoneyFlowIPage = mallScoreAchieveReleaseMapper.gerAchieveReleaseChildInPage(page, mallScoreAchieve); + return mallMoneyFlowIPage; + } + private String refererIds(String parentId) { boolean flag = false; if (StrUtil.isBlank(parentId)) { -- Gitblit v1.9.1