From ec97abaae5a0d93e9b4d5f3f82de7b97f2b586b0 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sat, 11 Jun 2022 20:22:15 +0800 Subject: [PATCH] fix some problem and add update referer and add member --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 98 insertions(+), 4 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 b4b8d81..7dc3136 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 @@ -326,11 +326,20 @@ return new FebsResponse().fail().message("拨付数目需要大于0"); } - MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); - mallMemberWallet.setBalance(mallMemberWallet.getBalance().add(bigDecimal)); - mallMemberWalletMapper.updateBalanceWithId(mallMemberWallet); + Integer type = mallSystemPayDto.getType(); + String filedType = ""; + if (type == 1) { + filedType = "balance"; + } else if (type == 2) { + filedType = "score"; + } else if (type == 3) { + filedType = "prizeScore"; + } else { + throw new FebsException("参数错误"); + } - mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, FlowTypeEnum.BALANCE.getValue()); + iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); + mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); return new FebsResponse().success(); } @@ -363,6 +372,32 @@ mallMember.setPassword(pwd); this.baseMapper.updateById(mallMember); return new FebsResponse().success().message("重置成功"); + } + + @Override + public void resetPwd(String ids, Integer type) { + if (StrUtil.isEmpty(ids)) { + throw new FebsException("参数错误"); + } + List<String> idList = StrUtil.split(ids, ','); + + for (String s : idList) { + Long id = Long.parseLong(s); + MallMember member = new MallMember(); + member.setId(id); + member.setCreatedTime(null); + + // 重置交易密码 + if (type == 1) { + String payPwd = SecureUtil.md5("654321"); + member.setTradePassword(payPwd); + // 重置登录密码 + } else { + String pwd = SecureUtil.md5("a123456"); + member.setPassword(pwd); + } + this.baseMapper.updateById(member); + } } @Override @@ -458,4 +493,63 @@ mallMemberWalletMapper.updateById(mallMemberWallet); return new FebsResponse().success(); } + + @Override + public MallMember findByInviteId(String inviteId) { + + return this.baseMapper.selectInfoByInviteId(inviteId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void modifyReferer(MallMember member) { + MallMember referer = this.baseMapper.selectInfoByInviteId(member.getReferrerId()); + if (referer == null) { + throw new FebsException("推荐人不存在"); + } + String refererId = member.getReferrerId(); + + member = this.baseMapper.selectById(member.getId()); + + String beforeReferer = member.getReferrerId(); + member.setReferrerId(refererId); + String refererIds = refererIds(refererId); + member.setReferrerIds(refererIds); + this.baseMapper.updateById(member); + + List<MallMember> childs = this.baseMapper.selectByRefererId(member.getInviteId()); + if (CollUtil.isEmpty(childs)) { + return; + } + + for (MallMember child : childs) { + child.setReferrerIds(member.getInviteId() + "," + refererIds); + this.baseMapper.updateById(child); + } + } + + private String refererIds(String parentId) { + boolean flag = false; + if (StrUtil.isBlank(parentId)) { + flag = true; + } + String ids = ""; + while (!flag) { + if (StrUtil.isBlank(ids)) { + ids += parentId; + } else { + ids += ("," + parentId); + } + MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId); + if (parentMember == null) { + break; + } + parentId = parentMember.getReferrerId(); + if (StrUtil.isBlank(parentMember.getReferrerId())) { + flag = true; + } + } + + return ids; + } } -- Gitblit v1.9.1