| | |
| | | /** |
| | | * 如果用户是冻结,则直接销毁 |
| | | */ |
| | | Integer isFrozen = directMember.getIsFrozen(); |
| | | if(ProductEnum.MEMBER_FROZEN.getValue() == isFrozen){ |
| | | |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(directMember.getId()); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)) >= 0){ |
| | | return; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)); |
| | | mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine); |
| | | //插入一条流水记录 |
| | | String orderNo = MallUtils.getOrderNum("FNFTW"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | directMember.getId(), |
| | | basicPerkDirect.negate(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_WRONG.getValue(), |
| | | orderNo, |
| | | null, |
| | | FlowTypeNewEnum.NFT.getValue(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_WRONG.getDescrition(), |
| | | AppContants.MEMBER_FLOW_ING); |
| | | |
| | | }else { |
| | | |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(directMember.getId()); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)) >= 0){ |
| | | return; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)); |
| | | mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountMine); |
| | | |
| | | MallMemberAmount mallMemberAmountNft = mallMemberAmountMapper.selectByMemberId(directMember.getId()); |
| | | mallMemberAmountNft.setTrendsNft(mallMemberAmountNft.getTrendsNft().add(basicPerkDirect)); |
| | | mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountNft); |
| | | |
| | | //插入一条流水记录 |
| | | String orderNo = MallUtils.getOrderNum("NFT"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | directMember.getId(), |
| | | basicPerkDirect, |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_DONE.getValue(), |
| | | orderNo, |
| | | null, |
| | | FlowTypeNewEnum.NFT.getValue(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_DONE.getDescrition(), |
| | | AppContants.MEMBER_FLOW_DONE); |
| | | createPerk(directMember,basicPerkDirect.multiply(new BigDecimal(0.5))); |
| | | if(StrUtil.isNotEmpty(directMember.getReferrerId())){ |
| | | MallMember directMemberDirect = mallMemberMapper.selectInfoByInviteId(directMember.getReferrerId()); |
| | | createPerk(directMemberDirect,basicPerkDirect.multiply(new BigDecimal(0.5))); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void createPerk(MallMember mallMember,BigDecimal basicPerkDirect){ |
| | | /** |
| | | * 如果用户是冻结,则直接销毁 |
| | | */ |
| | | Integer isFrozen = mallMember.getIsFrozen(); |
| | | if(ProductEnum.MEMBER_FROZEN.getValue() == isFrozen){ |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(mallMember.getId()); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)) >= 0){ |
| | | return; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)); |
| | | mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine); |
| | | //插入一条流水记录 |
| | | String orderNo = MallUtils.getOrderNum("FNFTW"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallMember.getId(), |
| | | basicPerkDirect.negate(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_WRONG.getValue(), |
| | | orderNo, |
| | | null, |
| | | FlowTypeNewEnum.NFT.getValue(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_WRONG.getDescrition(), |
| | | AppContants.MEMBER_FLOW_ING); |
| | | |
| | | }else { |
| | | MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(mallMember.getId()); |
| | | if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)) >= 0){ |
| | | return; |
| | | } |
| | | mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(basicPerkDirect)); |
| | | mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountMine); |
| | | |
| | | MallMemberAmount mallMemberAmountNft = mallMemberAmountMapper.selectByMemberId(mallMember.getId()); |
| | | mallMemberAmountNft.setTrendsNft(mallMemberAmountNft.getTrendsNft().add(basicPerkDirect)); |
| | | mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountNft); |
| | | |
| | | //插入一条流水记录 |
| | | String orderNo = MallUtils.getOrderNum("NFT"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallMember.getId(), |
| | | basicPerkDirect, |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_DONE.getValue(), |
| | | orderNo, |
| | | null, |
| | | FlowTypeNewEnum.NFT.getValue(), |
| | | MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_DONE.getDescrition(), |
| | | AppContants.MEMBER_FLOW_DONE); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void fcmOrderBuyCancelMsg(Long buyRecordId) { |
| | | MallProductBuyRecord mallProductBuyRecord = mallProductBuyRecordMapper.selectById(buyRecordId); |