From 96a6e0d312a35f4e9fc16d0c6c757768b9bfeb6e Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 24 Jun 2024 11:18:09 +0800 Subject: [PATCH] websocket推送消息 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 269 +++++++++++++++-------------------------------------- 1 files changed, 78 insertions(+), 191 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 7e3ce7b..f4abe29 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 @@ -114,7 +114,6 @@ mallMember.setAccountLogin(accountLogin); mallMember.setPassword(SecureUtil.md5(registerDto.getPassword())); mallMember.setUserKey(userKey); - mallMember.setTradePassword(SecureUtil.md5(registerDto.getTradePassword())); Integer count = this.baseMapper.selectCount(null); if (count != null && count != 0) { @@ -124,16 +123,11 @@ } mallMember.setReferrerId(registerDto.getInviteId()); } -// mallMember.setName(registerDto.getName()); -// mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL); mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode()); mallMember.setIsFrozen(ProductEnum.MEMBER_UNFROZEN.getValue()); mallMember.setPartner(2); -// mallMember.setSex("男"); -// mallMember.setBindPhone(registerDto.getAccount()); - this.baseMapper.insert(mallMember); String inviteId = ShareCodeUtil.toSerialNumberCodeTwo(mallMember.getId()); @@ -170,17 +164,10 @@ MallMemberWallet wallet = new MallMemberWallet(); wallet.setMemberId(mallMember.getId()); mallMemberWalletMapper.insert(wallet); - MallMemberAmount mallMemberAmount = new MallMemberAmount(); - mallMemberAmount.setMemberId(mallMember.getId()); - mallMemberAmountMapper.insert(mallMemberAmount); - - MallMemberPayment mallMemberPayment = new MallMemberPayment(); - mallMemberPayment.setMemberId(mallMember.getId()); - mallMemberPaymentMapper.insert(mallMemberPayment); ApiRegisterVo apiRegisterVo = new ApiRegisterVo(); apiRegisterVo.setAccount(mallMember.getAccountLogin()); - apiRegisterVo.setUserKey(mallMember.getUserKey()); + apiRegisterVo.setUserKey(registerDto.getPassword()); return new FebsResponse().success().data(apiRegisterVo); } @@ -253,115 +240,8 @@ MallMember mallMember = this.baseMapper.selectById(id); MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember); - - MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId()); - if (referMember != null) { - mallMemberVo.setReferrerName(referMember.getName()); - } - - MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(id); - if (payment != null) { - mallMemberVo.setHasPayment(1); - } - - DataDictionaryCustom nftMinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.NFT_MIN.getType(), - DataDictionaryEnum.NFT_MIN.getCode()); - mallMemberVo.setNftMin(ObjectUtil.isEmpty(nftMinDic) ? new BigDecimal(100) : new BigDecimal(nftMinDic.getValue())); - - DataDictionaryCustom outFcmMinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.OUT_FCM_MIN.getType(), - DataDictionaryEnum.OUT_FCM_MIN.getCode()); - mallMemberVo.setOutFcmMin(ObjectUtil.isEmpty(outFcmMinDic) ? new BigDecimal(100) : new BigDecimal(outFcmMinDic.getValue())); - - DataDictionaryCustom fcmPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.FCM_PRICE.getType(), - DataDictionaryEnum.FCM_PRICE.getCode()); - mallMemberVo.setFcmPrice(ObjectUtil.isEmpty(fcmPriceDic) ? new BigDecimal(8) : new BigDecimal(fcmPriceDic.getValue())); - - DataDictionaryCustom outFcmFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.OUT_FCM_FEE.getType(), - DataDictionaryEnum.OUT_FCM_FEE.getCode()); - mallMemberVo.setOutFcmFee(ObjectUtil.isEmpty(outFcmFeeDic) ? new BigDecimal(20) : new BigDecimal(outFcmFeeDic.getValue())); - - DataDictionaryCustom nftFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.NFT_FEE.getType(), - DataDictionaryEnum.NFT_FEE.getCode()); - BigDecimal nftFeePercent = ObjectUtil.isEmpty(nftFeeDic) ? new BigDecimal(20) : new BigDecimal(nftFeeDic.getValue()); - mallMemberVo.setNftFee(nftFeePercent); - - DataDictionaryCustom memberFrozenFcmCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.MEMBER_FROZEN_FCM_CNT.getType(), - DataDictionaryEnum.MEMBER_FROZEN_FCM_CNT.getCode() - ); - BigDecimal memberFrozenFcmCnt = ObjectUtil.isEmpty(memberFrozenFcmCntDic) ? new BigDecimal(100) : new BigDecimal(memberFrozenFcmCntDic.getValue()); - mallMemberVo.setUnfrozenCnt(memberFrozenFcmCnt); - - DataDictionaryCustom insureMinuteDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.INSURE_END_MINUTE.getType(), - DataDictionaryEnum.INSURE_END_MINUTE.getCode() - ); - Integer insureMinute = Integer.parseInt(ObjectUtil.isEmpty(insureMinuteDic) ? "60" : insureMinuteDic.getValue()); - mallMemberVo.setMinuteCnt(insureMinute); - - DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(mallMember.getLevel(), mallMember.getLevel()); - if (dic != null) { - mallMemberVo.setLevelName(dic.getDescription()); - }else{ - mallMemberVo.setLevelName("非会员"); - } - MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMember.getId()); - mallMemberVo.setGsd(mallMemberAmount.getGsd()); - mallMemberVo.setStaticNft(mallMemberAmount.getStaticNft()); - mallMemberVo.setTrendsNft(mallMemberAmount.getTrendsNft()); - mallMemberVo.setFrozenNft(mallMemberAmount.getFrozenNft()); - mallMemberVo.setFcmCntAva(mallMemberAmount.getFcmCntAva()); - mallMemberVo.setFcmCntFrozen(mallMemberAmount.getFcmCntFrozen()); - mallMemberVo.setTokenAva(mallMemberAmount.getTokenAva()); - mallMemberVo.setTokenFrozen(mallMemberAmount.getTokenFrozen()); - mallMemberVo.setTotalPerk(mallMemberAmount.getTotalPerk()); - DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.YU_YUE_START_TIME.getType(), - DataDictionaryEnum.YU_YUE_START_TIME.getCode() - ); - mallMemberVo.setStartTime(startTimeDic.getValue()); - DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.YU_YUE_END_TIME.getType(), - DataDictionaryEnum.YU_YUE_END_TIME.getCode() - ); - mallMemberVo.setEndTime(endTimeDic.getValue()); - - Integer pickCount = mallProductBuyMapper.selectListByMemberIdAndState(id); - mallMemberVo.setPickCount(pickCount); - -// BigDecimal totalPerk = mallProductBuyMapper.selectTotalPerkByMemberId(mallMember.getId()); -// mallMemberVo.setTotalPerk(totalPerk); - - DataDictionaryCustom insideNFTPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getType(), - DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getCode() - ); - mallMemberVo.setInsideNFTPercent(insideNFTPercentDic.getValue()); - - DataDictionaryCustom chargeAddressDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.CHARGE_ADDRESS.getType(), - DataDictionaryEnum.CHARGE_ADDRESS.getCode() - ); - mallMemberVo.setChargeAddress(chargeAddressDic.getValue()); - - DataDictionaryCustom withdrawAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.WITHDRAW_AMOUNT.getType(), - DataDictionaryEnum.WITHDRAW_AMOUNT.getCode() - ); - BigDecimal withdrawAmount = new BigDecimal(withdrawAmountDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); - mallMemberVo.setWithdrawAmount(withdrawAmount); - - DataDictionaryCustom usdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.USDT_PRICE.getType(), - DataDictionaryEnum.USDT_PRICE.getCode() - ); - BigDecimal usdtPrice = new BigDecimal(usdtPriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); - mallMemberVo.setUsdtPrice(usdtPrice); + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId()); + mallMemberVo.setBalance(mallMemberWallet.getBalance()); return new FebsResponse().success().data(mallMemberVo); } @@ -416,90 +296,98 @@ } @Override - public FebsResponse teamList(TeamListDto teamListDto) { - Long memberId = null; - if (teamListDto.getId() == null) { - memberId = LoginUserUtil.getLoginUser().getId(); - } else { - memberId = teamListDto.getId(); - } - + public FebsResponse teamList() { + Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember mallMember = this.baseMapper.selectById(memberId); - List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId()); - MyTeamVo myTeamVo = new MyTeamVo(); - myTeamVo.setTeam(list); - BigDecimal myAchieve = this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1); - myTeamVo.setMyAchieve(myAchieve); - BigDecimal myTeamAchieve = this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2); - myTeamVo.setMyTeamAchieve(myTeamAchieve.add(myAchieve)); - myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size()); + /** + * 团队人数,只有直属两级 + */ + ArrayList<Long> memberIdList = new ArrayList<>(); + memberIdList.add(memberId); + + 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()); + } + } + } + } + BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumAmountByMemberIdAndType(memberIdList,GameFlowTypeEnum.PLAYER_CHARGE.getValue()); + + myTeamVo.setMyTeamCnt(memberIdList.size()); + myTeamVo.setMyAchieve(chargeAmount); return new FebsResponse().success().data(myTeamVo); } @Override - public FebsResponse teamFcmList(TeamListDto teamListDto) { - Long memberId = null; - if (ObjectUtil.isEmpty(teamListDto.getId())) { - memberId = LoginUserUtil.getLoginUser().getId(); - } else { - memberId = teamListDto.getId(); - } - + public FebsResponse teamFcmList() { + Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember mallMember = this.baseMapper.selectById(memberId); - MyFcmTeamVo myTeamVo = new MyFcmTeamVo(); - myTeamVo.setMemberId(mallMember.getId()); - myTeamVo.setAccountLogin(mallMember.getAccountLogin()); - myTeamVo.setIsFrozen(mallMember.getIsFrozen()); - myTeamVo.setLevelName(MemberLevelNewEnum.ZERO_LEVEL.getLevelName(mallMember.getLevel())); - BigDecimal myAchieveBuy = this.baseMapper.selectAchieveBuyByMemberId(mallMember.getInviteId(), 1); - myTeamVo.setMyAchieveBuy(myAchieveBuy); - BigDecimal myAchieveSell = this.baseMapper.selectAchieveSellByMemberId(mallMember.getInviteId(), 1); - myTeamVo.setMyAchieveSell(myAchieveSell); - BigDecimal myTeamAchieveBuy = this.baseMapper.selectAchieveBuyByMemberId(mallMember.getInviteId(), 2); - myTeamVo.setMyTeamAchieveBuy(myTeamAchieveBuy.add(myAchieveBuy)); - BigDecimal myTeamAchieveSell = this.baseMapper.selectAchieveSellByMemberId(mallMember.getInviteId(), 2); - myTeamVo.setMyTeamAchieveSell(myTeamAchieveSell.add(myAchieveSell)); - myTeamVo.setMyTeamMemberCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size()); - Integer buyCnt = this.baseMapper.selectAchieveBuyOrderCntByMemberId(mallMember.getInviteId()); - Integer sellCnt = this.baseMapper.selectAchieveSellOrderCntByMemberId(mallMember.getInviteId()); - myTeamVo.setMyTeamOrderCnt(buyCnt+sellCnt); + ArrayList<MyFcmTeamVo> myFcmTeamVos = new ArrayList<>(); + /** + * 团队人数,只有直属两级 + */ + ArrayList<Long> memberIdList = new ArrayList<>(); + memberIdList.add(memberId); - List<MallMember> mallMembersDirects = this.baseMapper.selectChildAgentListByInviteId(mallMember.getInviteId()); - List<MyFcmTeamVo> list = new ArrayList<>(); - if(CollUtil.isNotEmpty(mallMembersDirects)){ - for(MallMember mallMembersDirect : mallMembersDirects){ - MyFcmTeamVo myTeamDirectVo = new MyFcmTeamVo(); - myTeamDirectVo.setMemberId(mallMembersDirect.getId()); - myTeamDirectVo.setAccountLogin(mallMembersDirect.getAccountLogin()); - myTeamDirectVo.setIsFrozen(mallMembersDirect.getIsFrozen()); - myTeamDirectVo.setLevelName( - dataDictionaryCustomMapper.selectDicDataByTypeAndCode(mallMembersDirect.getLevel(),mallMembersDirect.getLevel()).getDescription() - ); + 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()); - BigDecimal myAchieveBuyDirect = this.baseMapper.selectAchieveBuyByMemberId(mallMembersDirect.getInviteId(), 1); - myTeamDirectVo.setMyAchieveBuy(myAchieveBuyDirect); - BigDecimal myAchieveSellDirect = this.baseMapper.selectAchieveSellByMemberId(mallMembersDirect.getInviteId(), 1); - myTeamDirectVo.setMyAchieveSell(myAchieveSellDirect); - BigDecimal myTeamAchieveBuyDirect = this.baseMapper.selectAchieveBuyByMemberId(mallMembersDirect.getInviteId(), 2); - myTeamDirectVo.setMyTeamAchieveBuy(myTeamAchieveBuyDirect.add(myAchieveBuyDirect)); - BigDecimal myTeamAchieveSellDirect = this.baseMapper.selectAchieveSellByMemberId(mallMembersDirect.getInviteId(), 2); - myTeamDirectVo.setMyTeamAchieveSell(myTeamAchieveSellDirect.add(myAchieveSellDirect)); - myTeamDirectVo.setMyTeamMemberCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMembersDirect.getInviteId()).size()); - Integer buyCntDirect = this.baseMapper.selectAchieveBuyOrderCntByMemberId(mallMembersDirect.getInviteId()); - Integer sellCntDirect = this.baseMapper.selectAchieveSellOrderCntByMemberId(mallMembersDirect.getInviteId()); - myTeamDirectVo.setMyTeamOrderCnt(buyCntDirect+sellCntDirect); - list.add(myTeamDirectVo); + 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()); + } + } } } - myTeamVo.setTeam(list); + for(Long id : memberIdList){ + MyFcmTeamVo myFcmTeamVo = new MyFcmTeamVo(); + MallMember member = this.baseMapper.selectById(id); + myFcmTeamVo.setAccountLogin(member.getAccountLogin()); + BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue()); + myFcmTeamVo.setChargeAmount(chargeAmount); - return new FebsResponse().success().data(myTeamVo); + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id); + myFcmTeamVo.setBalance(mallMemberWallet.getBalance()); + + BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue()); + myFcmTeamVo.setAmountBuy(amountBuy); + + BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue()); + BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue()); + myFcmTeamVo.setAmountPerk(amountBuy.add(playerPerk).add(ownerPerk)); + + myFcmTeamVos.add(myFcmTeamVo); + } + + return new FebsResponse().success().data(myFcmTeamVos); } @Override @@ -512,7 +400,6 @@ IPage<MoneyFlowVo> page = new Page<>(moneyFlowDto.getPageNum(), moneyFlowDto.getPageSize()); Long id = LoginUserUtil.getLoginUser().getId(); moneyFlowDto.setMemberId(id); -// IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiMoneyFlowInPage(page, moneyFlowDto); IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiFcmMoneyFlowInPage(page, moneyFlowDto); return new FebsResponse().success().data(pages); } -- Gitblit v1.9.1