| | |
| | | private final MallProductNftMapper mallProductNftMapper; |
| | | private final AgentProducer agentProducer; |
| | | private final MallMemberAmountMapper mallMemberAmountMapper; |
| | | private final IMemberProfitService iMemberProfitService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | } |
| | | } |
| | | |
| | | 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 BuyToSellV2() { |
| | | List<MallProductBuy> mallProductBuys = mallProductBuyMapper.selectListByStateAndMateState( |
| | |
| | | /** |
| | | * 如果用户是冻结,则直接销毁 |
| | | */ |
| | | iMemberProfitService.createPerk(directMember,basicPerkDirect.multiply(new BigDecimal("0.5"))); |
| | | createPerk(directMember,basicPerkDirect.multiply(new BigDecimal("0.5"))); |
| | | if(StrUtil.isNotEmpty(directMember.getReferrerId())){ |
| | | MallMember directMemberDirect = memberMapper.selectInfoByInviteId(directMember.getReferrerId()); |
| | | iMemberProfitService.createPerk(directMemberDirect,basicPerkDirect.multiply(new BigDecimal("0.5"))); |
| | | createPerk(directMemberDirect,basicPerkDirect.multiply(new BigDecimal("0.5"))); |
| | | } |
| | | } |
| | | } |