From 836e019db92b9871cba9d440c8159b35f79e1726 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 30 Mar 2023 09:32:42 +0800 Subject: [PATCH] 根据补贴记录,减少用户贡献值 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 133 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 117 insertions(+), 16 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 7dc3136..e97394b 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 @@ -16,6 +16,8 @@ import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.vo.*; +import cc.mrbird.febs.pay.model.SinglePayDto; +import cc.mrbird.febs.pay.service.UnipayService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -34,6 +36,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * @author wzy @@ -58,11 +61,14 @@ private final IApiMallMemberWalletService iApiMallMemberWalletService; private final AppVersionMapper appVersionMapper; + private final MallMemberWithdrawMapper mallMemberWithdrawMapper; private final MallNewsInfoMapper mallNewsInfoMapper; private final MallShopApplyMapper mallShopApplyMapper; private final IMallMoneyFlowService mallMoneyFlowService; + private final UnipayService unipayService; + private final MallMemberBankMapper mallMemberBankMapper; @Override public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { @@ -96,6 +102,33 @@ } @Override + public void changeIdentity(Integer type, Long id, Integer value) { + MallMember mallMember = mallMemberMapper.selectById(id); + if(mallMember == null) { + throw new FebsException("参数错误"); + } + + if (type == 1) { + mallMember.setDirector(value); + } else if (type == 2){ + /** + * 线下服务商设置 + * 团队下没有线下服务商,才能成为线下服务商 + */ +// List<MallMember> mallMembers = mallMemberMapper.selectAllChildAgentListByInviteIdAndStoreMaster(mallMember.getInviteId(), 1); +// if(CollUtil.isNotEmpty(mallMembers)){ +// List<String> phoneList = mallMembers.stream().map(MallMember::getPhone).collect(Collectors.toList()); +// throw new FebsException("团队存在线下服务中心,账号为【"+phoneList.toString()+"】"); +// } + mallMember.setStoreMaster(value); + } else { + throw new FebsException("参数错误"); + } + + this.baseMapper.updateById(mallMember); + } + + @Override public MallMemberVo getMallMemberInfoById(long id) { MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberInfoById(id); return mallMemberVo; @@ -125,41 +158,70 @@ @Override @Transactional public FebsResponse chargeAgree(Long id) { - MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); - if(ObjectUtil.isEmpty(mallMoneyFlow)){ + + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMemberWithdraw)){ return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); } - if(1 != mallMoneyFlow.getStatus()){ + if(1 != mallMemberWithdraw.getStatus()){ return new FebsResponse().fail().message("当前状态不是提现中"); } - mallMoneyFlow.setStatus(2); - mallMoneyFlowMapper.updateById(mallMoneyFlow); + + Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); + MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); + /** + * 调用汇聚代付 + */ + SinglePayDto singlePayDto = new SinglePayDto(); + singlePayDto.setMerchantOrderNo(mallMemberWithdraw.getWithdrawNo()); + singlePayDto.setReceiverAccountNoEncBankNo(mallMemberBank.getBankNo()); + singlePayDto.setReceiverAccountNoEncName(mallMemberBank.getName()); + singlePayDto.setReceiverAccountType("201"); + BigDecimal paidAmount = mallMemberWithdraw.getAmount().subtract(mallMemberWithdraw.getAmountFee()).setScale(2, BigDecimal.ROUND_DOWN); + singlePayDto.setPaidAmount(paidAmount); + singlePayDto.setCurrency("201"); + singlePayDto.setIsChecked("202"); + singlePayDto.setPaidDesc("用户提现"); + singlePayDto.setPaidUse("202"); + String singlePayRep = unipayService.singlePay(singlePayDto); + if(!mallMemberWithdraw.getWithdrawNo().equals(singlePayRep)){ + return new FebsResponse().fail().message("提现失败,请稍后查看错误信息一览"); + } + return new FebsResponse().success(); } @Override @Transactional public FebsResponse chargeDisagree(Long id) { - MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); - if(ObjectUtil.isEmpty(mallMoneyFlow)){ + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMemberWithdraw)){ return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); } - if(1 != mallMoneyFlow.getStatus()){ + if(1 != mallMemberWithdraw.getStatus()){ return new FebsResponse().fail().message("当前状态不是提现中"); } + + mallMemberWithdraw.setStatus(3); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + QueryWrapper<MallMoneyFlow> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); + objectQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); mallMoneyFlow.setStatus(3); mallMoneyFlowMapper.updateById(mallMoneyFlow); - //用户钱包增加对应的余额 - iApiMallMemberWalletService.addBalance(mallMoneyFlow.getAmount().negate(),mallMoneyFlow.getMemberId()); + //用户佣金增加对应的余额 + iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance"); return new FebsResponse().success(); } @Override public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) { AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); - MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); - AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMoneyFlow.getMemberId()); + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); + AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMemberWithdraw.getMemberId()); if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){ adminMallMemberPaymentVo = adminMallMemberPaymentVoa; } @@ -307,7 +369,7 @@ if(StrUtil.isEmpty(level) || !AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())){ return new FebsResponse().fail().message("该用户无法激活"); } - mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); + mallMember.setLevel(AgentLevelEnum.SECOND_LEVEL.name()); mallMemberMapper.updateById(mallMember); return new FebsResponse().success(); } @@ -322,8 +384,9 @@ } BigDecimal bigDecimal = mallSystemPayDto.getAddBalance(); + boolean isReduce = false; if(bigDecimal.compareTo(BigDecimal.ZERO) <= 0){ - return new FebsResponse().fail().message("拨付数目需要大于0"); + isReduce = true; } Integer type = mallSystemPayDto.getType(); @@ -338,7 +401,15 @@ throw new FebsException("参数错误"); } - iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); + if (isReduce) { + int i = iApiMallMemberWalletService.reduce(mallSystemPayDto.getAddBalance().negate(), mallSystemPayDto.getId(), filedType); + + if (i == 2) { + throw new FebsException("剩余数量不足"); + } + } else { + iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); + } mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); return new FebsResponse().success(); } @@ -389,7 +460,7 @@ // 重置交易密码 if (type == 1) { - String payPwd = SecureUtil.md5("654321"); + String payPwd = SecureUtil.md5("123456"); member.setTradePassword(payPwd); // 重置登录密码 } else { @@ -425,6 +496,10 @@ if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) { throw new FebsException("申请已审核, 请勿重复操作"); } + + MallMember member = mallMemberMapper.selectById(apply.getMemberId()); + member.setStoreMaster(1); + mallMemberMapper.updateById(member); apply.setStatus(MallShopApply.APPLY_AGREE); mallShopApplyMapper.updateById(apply); @@ -528,6 +603,32 @@ } } + @Override + public void updateShopApply(MallShopApply apply) { + MallShopApply mallShopApply = mallShopApplyMapper.selectById(apply.getId()); + mallShopApply.setName(apply.getName()); + mallShopApply.setPhone(apply.getPhone()); + mallShopApply.setIdcard(apply.getIdcard()); + mallShopApply.setBusinessLicense(apply.getBusinessLicense()); + mallShopApply.setSaleArea(apply.getSaleArea()); + mallShopApply.setShopName(apply.getShopName()); + mallShopApplyMapper.updateById(mallShopApply); + } + + @Override + public AdminMallMemberPaymentVo getMallBankInfoById(long id) { + + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); + Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); + MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); + AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); + if(ObjectUtil.isNotEmpty(mallMemberBank)){ + adminMallMemberPaymentVo.setBankNo(mallMemberBank.getBankNo()); + adminMallMemberPaymentVo.setBankName(mallMemberBank.getName()); + } + return adminMallMemberPaymentVo; + } + private String refererIds(String parentId) { boolean flag = false; if (StrUtil.isBlank(parentId)) { -- Gitblit v1.9.1