From cd59cd93b4eceee7b5f948a19d4e78371348fcd0 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 27 Jun 2024 10:29:27 +0800 Subject: [PATCH] 后台 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 520 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 486 insertions(+), 34 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 71684cc..4c607a3 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 @@ -2,20 +2,24 @@ import cc.mrbird.febs.common.entity.FebsResponse; 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.MoneyFlowTypeEnum; +import cc.mrbird.febs.common.enumerates.*; import cc.mrbird.febs.common.exception.FebsException; +import cc.mrbird.febs.common.utils.AppContants; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.entity.MallNewsInfo; import cc.mrbird.febs.mall.mapper.*; +import cc.mrbird.febs.mall.service.AsyncService; import cc.mrbird.febs.mall.service.IAdminMallMemberService; 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.NBYHResponse; +import cc.mrbird.febs.pay.model.SinglePayDto; +import cc.mrbird.febs.pay.service.NBYHService; +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; @@ -28,12 +32,13 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.xmlbeans.impl.store.Query; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.util.Date; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * @author wzy @@ -50,6 +55,7 @@ private final MallMemberWalletMapper mallMemberWalletMapper; private final MallMoneyFlowMapper mallMoneyFlowMapper; + private final IMallMoneyFlowService mallMemberService; private final MallMemberPaymentMapper mallMemberPaymentMapper; @@ -64,6 +70,12 @@ private final MallShopApplyMapper mallShopApplyMapper; private final IMallMoneyFlowService mallMoneyFlowService; + private final UnipayService unipayService; + private final MallMemberBankMapper mallMemberBankMapper; + private final MallScoreRecordMapper mallScoreRecordMapper; + private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper; + private final NBYHService nbyhService; + private final MallMemberAmountMapper mallMemberAmountMapper; @Override public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { @@ -106,7 +118,20 @@ 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 if (type == 3){ + mallMember.setCreater(value); + } else if (type == 4){ + mallMember.setPartner(value); } else { throw new FebsException("参数错误"); } @@ -152,17 +177,32 @@ if(1 != mallMemberWithdraw.getStatus()){ return new FebsResponse().fail().message("当前状态不是提现中"); } - mallMemberWithdraw.setStatus(2); - 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(2); - mallMoneyFlowMapper.updateById(mallMoneyFlow); + Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); + MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); + String bankName = mallMemberBank.getBankName(); + NBYHResponse nbyhResponse = new NBYHResponse(); + if("宁波银行".equals(bankName)){ + nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId()); + }else{ + nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId()); + } + if(nbyhResponse.isFlag()){ + mallMemberWithdraw.setStatus(2); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); - return new FebsResponse().success(); + QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>(); + flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); + flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper); + if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ + mallMoneyFlow.setStatus(2); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + } + return new FebsResponse().success().message(nbyhResponse.getMsg()); + }else{ + return new FebsResponse().fail().message(nbyhResponse.getMsg()); + } } @Override @@ -176,7 +216,6 @@ return new FebsResponse().fail().message("当前状态不是提现中"); } - mallMemberWithdraw.setStatus(3); mallMemberWithdrawMapper.updateById(mallMemberWithdraw); @@ -186,9 +225,59 @@ MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); mallMoneyFlow.setStatus(3); mallMoneyFlowMapper.updateById(mallMoneyFlow); + if(AppContants.MEMBER_WITHDRAW_NORMAL.equals(mallMemberWithdraw.getRemark())){ + //用户佣金增加对应的余额 + iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance"); + mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeEnum.WITHDRAWAL.getValue(), + mallMemberWithdraw.getWithdrawNo(), + null, + null, + mallMemberWithdraw.getMemberId(), + 2, + FlowTypeEnum.BALANCE.getValue(), + 1); + } + if(AppContants.MEMBER_WITHDRAW_VOUCHER.equals(mallMemberWithdraw.getRemark())){ + iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance"); - //用户佣金增加对应的余额 - iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount().negate(),mallMemberWithdraw.getMemberId(),"commission"); + mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeEnum.WITHDRAWAL.getValue(), + mallMemberWithdraw.getWithdrawNo(), + null, + null, + mallMemberWithdraw.getMemberId(), + 2, + FlowTypeEnum.BALANCE.getValue(), + 1); + iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherFireCnt"); + + mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmountFee(), + MoneyFlowTypeEnum.WITHDRAWAL.getValue(), + mallMemberWithdraw.getWithdrawNo(), + null, + null, + mallMemberWithdraw.getMemberId(), + 2, + FlowTypeEnum.COMMISSION.getValue(), + 1); + } + if(AppContants.MEMBER_WITHDRAW_VOUCHER_AMOUNT.equals(mallMemberWithdraw.getRemark())){ + iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"voucherAmount"); + mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeEnum.WITHDRAWAL.getValue(), + mallMemberWithdraw.getWithdrawNo(), + null, + null, + mallMemberWithdraw.getMemberId(), + 2, + FlowTypeEnum.VOUCHER_AMOUNT.getValue(), + 1); + } return new FebsResponse().success(); } @@ -204,23 +293,70 @@ } @Override - public IPage<AdminAgentVo> getAgentList(AgentDto agentDto, QueryRequest request) { - Page<AdminAgentVo> page = new Page<>(request.getPageNum(), request.getPageSize()); - IPage<AdminAgentVo> adminAgentVos = this.baseMapper.getAgentListInPage(page, agentDto); - List<AdminAgentVo> records = adminAgentVos.getRecords(); - if(CollUtil.isNotEmpty(records)){ - for(AdminAgentVo adminAgentVo : records){ - String inviteId = adminAgentVo.getInviteId(); - //直接下级 - List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId); - adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size()); + public FebsResponse getAgentList(AgentDto agentDto, QueryRequest request) { + List<AdminMallMemberVo> adminMallMemberVos = new ArrayList<>(); + if(StrUtil.isEmpty(agentDto.getAccountLogin())){ + return new FebsResponse().success().data(adminMallMemberVos); + } + String accountLogin = agentDto.getAccountLogin(); + MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin); + if(ObjectUtil.isEmpty(mallMember)){ + return new FebsResponse().success().data(adminMallMemberVos); + } - //获取总数 - List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId); - adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size()); + ArrayList<Long> memberIdList = new ArrayList<>(); + memberIdList.add(mallMember.getId()); + + QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("referrer_id",mallMember.getInviteId()); + List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper); + if(CollUtil.isNotEmpty(mallMembers)){ + for(MallMember directMember : mallMembers){ + //第一代 + memberIdList.add(directMember.getId()); + + QueryWrapper<MallMember> directWrapper = new QueryWrapper<>(); + directWrapper.eq("referrer_id",directMember.getInviteId()); + List<MallMember> refMembers = this.baseMapper.selectList(directWrapper); + if(CollUtil.isNotEmpty(refMembers)){ + for(MallMember refMember : refMembers){ + //第二代 + memberIdList.add(refMember.getId()); + } + } } } - return adminAgentVos; + + for(Long id : memberIdList){ + AdminMallMemberVo adminMallMemberVo = new AdminMallMemberVo(); + + MallMember member = this.baseMapper.selectById(id); + adminMallMemberVo.setAccountLogin(member.getAccountLogin()); + + BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue()); + adminMallMemberVo.setChargeAmount(chargeAmount); + BigDecimal withDrawAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_WITHDRAW.getValue()); + adminMallMemberVo.setWithDrawAmount(withDrawAmount); + + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id); + adminMallMemberVo.setBalance(mallMemberWallet.getBalance()); + + BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue()); + adminMallMemberVo.setAmountBuy(amountBuy); + + BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue()); + BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue()); + BigDecimal add = amountBuy.add(playerPerk).add(ownerPerk); + adminMallMemberVo.setAmountPerk(add); + + adminMallMemberVos.add(adminMallMemberVo); + } + + Map<String, Object> data = new HashMap<>(2); + data.put("rows", adminMallMemberVos); + data.put("total", adminMallMemberVos.size()); + + return new FebsResponse().success().data(data); } @Override @@ -344,7 +480,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(); } @@ -385,7 +521,12 @@ } else { iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); } - mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); + mallMoneyFlowService.addMoneyFlow( + memberId, + bigDecimal, + GameFlowTypeEnum.PLAYER_CHARGE.getValue(), + MallUtils.getOrderNum("CZ"), + GameFlowTypeEnum.PLAYER_CHARGE.getDescrition()); return new FebsResponse().success(); } @@ -435,7 +576,7 @@ // 重置交易密码 if (type == 1) { - String payPwd = SecureUtil.md5("654321"); + String payPwd = SecureUtil.md5("123456"); member.setTradePassword(payPwd); // 重置登录密码 } else { @@ -550,6 +691,7 @@ return this.baseMapper.selectInfoByInviteId(inviteId); } + private final AsyncService asyncService; @Override @Transactional(rollbackFor = Exception.class) public void modifyReferer(MallMember member) { @@ -576,6 +718,15 @@ child.setReferrerIds(member.getInviteId() + "," + refererIds); this.baseMapper.updateById(child); } + + log.info("异步更新用户信息"); + List<MallMember> mallMembers = this.baseMapper.selectList(null); + if(CollUtil.isEmpty(mallMembers)){ + return; + } + for(MallMember mallMemberDown : mallMembers){ + asyncService.updateAllMemberReferrerId(mallMemberDown); + } } @Override @@ -590,6 +741,307 @@ 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()); + adminMallMemberPaymentVo.setDigitalNo(mallMemberBank.getDigitalNo()); + adminMallMemberPaymentVo.setSubbranchName(mallMemberBank.getSubbranchName()); + adminMallMemberPaymentVo.setBank(mallMemberBank.getBankName()); + } + 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; + } + + @Override + public FebsResponse insideWithType(Long id, int i) { + MallMember mallMember = mallMemberMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMember)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + mallMember.setInsideWith(i); + mallMemberMapper.updateById(mallMember); + return new FebsResponse().success(); + } + + @Override + public FebsResponse searchInfo(Long id) { + NBYHResponse nbyhResponse1 = nbyhService.transferResultInfoQuery(id); + return new FebsResponse().success().message(nbyhResponse1.getMsg()); + } + + @Override + public FebsResponse accountInfo(Long id) { + boolean b = nbyhService.accountInfoQuery(id); + if(!b){ + return new FebsResponse().fail().message("银行账户余额不足"); + } + return new FebsResponse().success().message("可以转账"); + } + + @Override + public FebsResponse outsideWithType(Long id, int i) { + MallMember mallMember = mallMemberMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMember)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + mallMember.setOutsideWith(i); + mallMemberMapper.updateById(mallMember); + return new FebsResponse().success(); + } + + @Override + public FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdrawInfo) { + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawInfo.getId()); + + if(ObjectUtil.isEmpty(mallMemberWithdraw)){ + return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); + } + if(1 != mallMemberWithdraw.getStatus()){ + return new FebsResponse().fail().message("当前状态不是提现中"); + } + + Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); + MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); + if(ObjectUtil.isEmpty(mallMemberBank)){ + return new FebsResponse().fail().message("提现银行卡已删除"); + } + String agreeType = mallMemberWithdrawInfo.getAgreeType(); + if("1".equals(agreeType)){ + mallMemberWithdraw.setStatus(2); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>(); + flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); + flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper); + if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ + mallMoneyFlow.setStatus(2); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + } + return new FebsResponse().success(); + }else{ + String bankName = mallMemberBank.getBankName(); + NBYHResponse nbyhResponse = new NBYHResponse(); + if("宁波银行".equals(bankName)){ + nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId()); + }else{ + nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId()); + } + if(nbyhResponse.isFlag()){ + mallMemberWithdraw.setStatus(2); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>(); + flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); + flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper); + if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ + mallMoneyFlow.setStatus(2); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + } + return new FebsResponse().success().message(nbyhResponse.getMsg()); + }else{ + return new FebsResponse().fail().message(nbyhResponse.getMsg()); + } + } + + } + + @Override + public IPage<AdminMallMemberVo> getFcmMallMemberList(MallMember mallMember, QueryRequest request) { + Page<AdminMallMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminMallMemberVo> adminMallMemberVoIPage = this.baseMapper.getFcmMallMemberList(page, mallMember); + List<AdminMallMemberVo> records = adminMallMemberVoIPage.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(AdminMallMemberVo adminMallMemberVo : records){ + Long id = adminMallMemberVo.getId(); + BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue()); + adminMallMemberVo.setChargeAmount(chargeAmount); + BigDecimal withDrawAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_WITHDRAW.getValue()); + adminMallMemberVo.setWithDrawAmount(withDrawAmount); + BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue()); + adminMallMemberVo.setAmountBuy(amountBuy); + BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue()); + BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue()); + BigDecimal add = amountBuy.add(playerPerk).add(ownerPerk); + adminMallMemberVo.setAmountPerk(add); + } + } + + + return adminMallMemberVoIPage; + } + + @Override + public FebsResponse frozenWith(Long id, int i) { + + MallMember mallMember = mallMemberMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMember)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + mallMember.setIsFrozen(i); + mallMemberMapper.updateById(mallMember); + return new FebsResponse().success(); + } + + @Override + public FebsResponse updateSystemPayInfo(MallSystemPayDto mallSystemPayDto) { + Long amountId = mallSystemPayDto.getId(); + MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectById(amountId); + MallMember mallMember = mallMemberMapper.selectById(mallMemberAmount.getMemberId()); + if(ObjectUtil.isEmpty(mallMember)){ + throw new FebsException("会员不存在"); + } + BigDecimal bigDecimal = mallSystemPayDto.getAddBalance(); + Integer type = mallSystemPayDto.getType(); + Integer flowType = 0; + if (type == 1) { + BigDecimal add = mallMemberAmount.getTrendsNft().add(bigDecimal); + if(BigDecimal.ZERO.compareTo(add) > 0){ + throw new FebsException("输入合适的值"); + } + mallMemberAmount.setTrendsNft(add); + mallMemberAmountMapper.updateTrendsNftById(mallMemberAmount); + flowType = FlowTypeNewEnum.NFT.getValue(); + } else if (type == 2) { + BigDecimal add = mallMemberAmount.getFcmCntAva().add(bigDecimal); + if(BigDecimal.ZERO.compareTo(add) > 0){ + throw new FebsException("输入合适的值"); + } + mallMemberAmount.setFcmCntAva(add); + mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); + flowType = FlowTypeNewEnum.FCM_COIN.getValue(); + } else if (type == 3) { + BigDecimal add = mallMemberAmount.getTokenAva().add(bigDecimal); + if(BigDecimal.ZERO.compareTo(add) > 0){ + throw new FebsException("输入合适的值"); + } + mallMemberAmount.setTokenAva(add); + mallMemberAmountMapper.updateTokenAvaById(mallMemberAmount); + flowType = FlowTypeNewEnum.TOKEN.getValue(); + } else { + throw new FebsException("参数错误"); + } + String orderNo = MallUtils.getOrderNum("BF"); + mallMoneyFlowService.addMoneyFlow( + mallMemberAmount.getMemberId(), + bigDecimal, + MoneyFlowTypeNewEnum.SYSTEM_PEY.getValue(), + orderNo, + mallMemberAmount.getMemberId(), + flowType, + MoneyFlowTypeNewEnum.SYSTEM_PEY.getDescrition()); + return new FebsResponse().success(); + } + + @Override + public MallMemberVo getMallmemberAmountByMemberId(long id) { + MallMemberVo mallMemberVo = mallMemberMapper.getMallmemberAmountByMemberId(id); + return mallMemberVo; + } + + @Override + public IPage<MallMemberCharge> memberChargeList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Page<MallMemberCharge> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallMemberCharge> mallMemberChargeIPage = mallMemberMapper.getMemberChargeListInPage(page, moneyChargeListDto); + return mallMemberChargeIPage; + } + + @Override + public IPage<MallMemberWithdraw> memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Page<MallMemberWithdraw> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallMemberWithdraw> mallMemberWithdrawIPage = mallMemberMapper.getMemberWithDrawListInPage(page, moneyChargeListDto); + return mallMemberWithdrawIPage; + } + private String refererIds(String parentId) { boolean flag = false; if (StrUtil.isBlank(parentId)) { -- Gitblit v1.9.1