| | |
| | | continue; |
| | | } |
| | | BigDecimal nftTotal = mallProductBuy.getNftTotal(); |
| | | BigDecimal profit = nftTotal.multiply(profitPercent.multiply(new BigDecimal(0.01))); |
| | | BigDecimal profit = nftTotal.multiply(profitPercent.multiply(new BigDecimal(0.01))).setScale(2,BigDecimal.ROUND_DOWN); |
| | | |
| | | if(totalPerk.compareTo(profit) <= 0){ |
| | | profit = totalPerk; |
| | |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId()); |
| | | mallMemberAmountMine.setTrendsNft(mallMemberAmountMine.getTrendsNft().add(profit)); |
| | | mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountMine); |
| | | |
| | | MallMemberAmount mallMemberAmountPerk = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId()); |
| | | mallMemberAmountPerk.setTotalPerk(mallMemberAmountPerk.getTotalPerk().subtract(profit)); |
| | | mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountPerk); |
| | | |
| | | |
| | | BigDecimal remainderDirect = bigDecimal.divide(new BigDecimal(String.valueOf(cycle)),0,BigDecimal.ROUND_DOWN);//取余 |
| | |
| | | queryMallMoneyFlow.eq("is_return",AppContants.MEMBER_FLOW_ING); |
| | | queryMallMoneyFlow.eq("flow_type",FlowTypeNewEnum.NFT.getValue()); |
| | | List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(queryMallMoneyFlow); |
| | | if(CollUtil.isNotEmpty(mallMoneyFlows)){ |
| | | if(CollUtil.isEmpty(mallMoneyFlows)){ |
| | | return; |
| | | } |
| | | |
| | |
| | | Long memberId = mallMoneyFlow.getMemberId(); |
| | | MallMember mallMember = memberMapper.selectById(memberId); |
| | | Integer isFrozen = mallMember.getIsFrozen(); |
| | | if(ProductEnum.MEMBER_UNFROZEN.getValue() == isFrozen){ |
| | | if(ProductEnum.MEMBER_FROZEN.getValue() == isFrozen){ |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmountMapper.updateFrozenNftById(mallMemberAmount); |
| | |
| | | AppContants.MEMBER_FLOW_ING); |
| | | |
| | | }else { |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())) >= 0){ |
| | | continue; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine); |
| | | |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(mallMoneyFlow.getAmount())); |
| | |
| | | String orderNo = MallUtils.getOrderNum("NFT"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | memberId, |
| | | mallMoneyFlow.getAmount().negate(), |
| | | mallMoneyFlow.getAmount(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_DONE.getValue(), |
| | | orderNo, |
| | | null, |
| | |
| | | queryMallMoneyFlow.eq("is_return",AppContants.MEMBER_FLOW_ING); |
| | | queryMallMoneyFlow.eq("flow_type",FlowTypeNewEnum.NFT.getValue()); |
| | | List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(queryMallMoneyFlow); |
| | | if(CollUtil.isNotEmpty(mallMoneyFlows)){ |
| | | if(CollUtil.isEmpty(mallMoneyFlows)){ |
| | | return; |
| | | } |
| | | |
| | |
| | | Long memberId = mallMoneyFlow.getMemberId(); |
| | | MallMember mallMember = memberMapper.selectById(memberId); |
| | | Integer isFrozen = mallMember.getIsFrozen(); |
| | | if(ProductEnum.MEMBER_UNFROZEN.getValue() == isFrozen){ |
| | | if(ProductEnum.MEMBER_FROZEN.getValue() == isFrozen){ |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmountMapper.updateFrozenNftById(mallMemberAmount); |
| | |
| | | AppContants.MEMBER_FLOW_ING); |
| | | |
| | | }else { |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())) >= 0){ |
| | | continue; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine); |
| | | |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(mallMoneyFlow.getAmount())); |
| | |
| | | String orderNo = MallUtils.getOrderNum("NFT"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | memberId, |
| | | mallMoneyFlow.getAmount().negate(), |
| | | mallMoneyFlow.getAmount(), |
| | | MoneyFlowTypeNewEnum.TEAM_PERK_DIRECT_DONE.getValue(), |
| | | orderNo, |
| | | null, |
| | |
| | | queryMallMoneyFlow.eq("is_return",AppContants.MEMBER_FLOW_ING); |
| | | queryMallMoneyFlow.eq("flow_type",FlowTypeNewEnum.NFT.getValue()); |
| | | List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectList(queryMallMoneyFlow); |
| | | if(CollUtil.isNotEmpty(mallMoneyFlows)){ |
| | | if(CollUtil.isEmpty(mallMoneyFlows)){ |
| | | return; |
| | | } |
| | | |
| | |
| | | Long memberId = mallMoneyFlow.getMemberId(); |
| | | MallMember mallMember = memberMapper.selectById(memberId); |
| | | Integer isFrozen = mallMember.getIsFrozen(); |
| | | if(ProductEnum.MEMBER_UNFROZEN.getValue() == isFrozen){ |
| | | if(ProductEnum.MEMBER_FROZEN.getValue() == isFrozen){ |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmountMapper.updateFrozenNftById(mallMemberAmount); |
| | |
| | | AppContants.MEMBER_FLOW_ING); |
| | | |
| | | }else { |
| | | |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())) >= 0){ |
| | | continue; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine); |
| | | |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); |
| | | mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount())); |
| | | mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(mallMoneyFlow.getAmount())); |
| | |
| | | String orderNo = MallUtils.getOrderNum("NFT"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | memberId, |
| | | mallMoneyFlow.getAmount().negate(), |
| | | mallMoneyFlow.getAmount(), |
| | | MoneyFlowTypeNewEnum.TEAM_PERK_EQUALS_DONE.getValue(), |
| | | orderNo, |
| | | null, |