| | |
| | | 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);//取余 |
| | |
| | | * 当前时间比结束时间大 |
| | | */ |
| | | if(nowTime.compareTo(endTime) >= 0){ |
| | | List<MallProductBuyRecord> mallProductBuyRecords = mallProductBuyRecordMapper.selectByState(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue()); |
| | | List<MallProductBuyRecord> mallProductBuyRecords = mallProductBuyRecordMapper.selectByState( |
| | | ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue()); |
| | | if(CollUtil.isNotEmpty(mallProductBuyRecords)){ |
| | | for(MallProductBuyRecord mallProductBuyRecord : mallProductBuyRecords){ |
| | | /** |
| | |
| | | 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, |