| | |
| | | private final MallProductNftMapper mallProductNftMapper; |
| | | private final AgentProducer agentProducer; |
| | | private final MallMemberAmountMapper mallMemberAmountMapper; |
| | | private final IMemberProfitService iMemberProfitService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | DateTime dateTime = DateUtil.parseDate("2024-3-27"); |
| | | System.out.println(dateTime); |
| | | System.out.println(DateUtil.compare(DateUtil.date(),dateTime)); |
| | | if(DateUtil.compare(DateUtil.date(),dateTime)<= 0){ |
| | | System.out.println(dateTime); |
| | | } |
| | | } |
| | | // public static void main(String[] args) { |
| | | // DateTime dateTime = DateUtil.parseDate("2024-3-27"); |
| | | // System.out.println(dateTime); |
| | | // System.out.println(DateUtil.compare(DateUtil.date(),dateTime)); |
| | | // if(DateUtil.compare(DateUtil.date(),dateTime)<= 0){ |
| | | // System.out.println(dateTime); |
| | | // } |
| | | // } |
| | | @Override |
| | | public void BuyToSell() { |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | 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( |
| | |
| | | for(MallProductBuy mallProductBuy : mallProductBuys){ |
| | | MallProductNft mallProductNft = mallProductNftMapper.selectById(mallProductBuy.getProductNftId()); |
| | | //周期 |
| | | int cycle = mallProductNft.getCycle(); |
| | | int cycle = mallProductBuy.getCycle(); |
| | | //收益率 |
| | | BigDecimal profitPercent = mallProductNft.getProfit(); |
| | | BigDecimal profitPercent = mallProductBuy.getProfit(); |
| | | Date payTime = mallProductBuy.getPayTime(); |
| | | |
| | | |
| | |
| | | /** |
| | | * 如果用户是冻结,则直接销毁 |
| | | */ |
| | | 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"))); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | log.info("返利总条数:"+ fanliSize); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | DateTime payTime = DateUtil.parseDate("2024-05-24 14:17:02"); |
| | | DateTime nowTime = DateUtil.parseDate("2024-06-8 02:00:00"); |
| | | String s = String.valueOf(DateUtil.between(payTime, nowTime, DateUnit.DAY));//相差日期天数 |
| | | BigDecimal bigDecimal = new BigDecimal(s).setScale(0, BigDecimal.ROUND_DOWN);//只取整数位 |
| | | System.out.println(bigDecimal); |
| | | BigDecimal remainder = bigDecimal.remainder(new BigDecimal(String.valueOf(5)));//取余 |
| | | System.out.println(remainder); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if(ObjectUtil.isEmpty(mallMemberRef)){ |
| | | continue; |
| | | } |
| | | // if(mallMemberRef.getId() != 2366L){ |
| | | // continue; |
| | | // } |
| | | // List<MallMember> mallMembersAll = memberMapper.selectAllChildAgentListByInviteId(referrerId); |
| | | // if(ObjectUtil.isEmpty(mallMembersAll)){ |
| | | // continue; |
| | |
| | | Integer directCntLevel = teamPerkDto.getDirectCnt(); |
| | | Integer teamCnt = teamPerkDto.getTeamCnt(); |
| | | if(directCntLevel <= intersection.size()){ |
| | | List<MallMember> mallMembersAll = memberMapper.selectMemberWithLevelAndMemberId(level,mallMemberRef.getId()); |
| | | int levelCode = MemberLevelNewEnum.ZERO_LEVEL.getLevelCode(level); |
| | | |
| | | List<MallMember> mallMembersAll = new ArrayList<>(); |
| | | if(levelCode > 1){ |
| | | String levelType = MemberLevelNewEnum.ZERO_LEVEL.getLevelType(levelCode - 1); |
| | | List<MallMember> mallMembersDirects = memberMapper.selectByRefererId(mallMemberRef.getInviteId()); |
| | | for(MallMember memberDirect : mallMembersDirects){ |
| | | List<MallMember> mallMembers1 = memberMapper.selectMemberWithLevelAndMemberId(levelType, memberDirect.getInviteId()); |
| | | if(CollUtil.isEmpty(mallMembers1)){ |
| | | continue; |
| | | } |
| | | mallMembersAll.add(memberDirect); |
| | | } |
| | | }else{ |
| | | String levelType = MemberLevelNewEnum.ZERO_LEVEL.getLevelType(0); |
| | | mallMembersAll = memberMapper.selectMemberWithLevelAndMemberId(levelType,mallMemberRef.getInviteId()); |
| | | } |
| | | if(teamCnt <= (CollUtil.isEmpty(mallMembersAll) ? 0 : mallMembersAll.size())){ |
| | | mallMemberRef.setLevel(level); |
| | | memberMapper.updateById(mallMemberRef); |