| | |
| | | |
| | | @Scheduled(cron = "0 0/5 * * * ? ") |
| | | public void overtimeJob() { |
| | | log.info("订单超时任务执行"); |
| | | // log.info("订单超时任务执行"); |
| | | List<MallOrderInfo> orderList = orderInfoMapper.selectOrderInfoByStatus(OrderStatusEnum.WAIT_PAY.getValue()); |
| | | if (CollUtil.isNotEmpty(orderList)) { |
| | | for (MallOrderInfo orderInfo : orderList) { |
| | |
| | | DataDictionaryEnum.RETURN_PERCENT.getCode() |
| | | ); |
| | | String returnPercentStr = returnPercentDic.getValue(); |
| | | BigDecimal returnPercent = new BigDecimal(returnPercentStr).multiply(new BigDecimal(0.01)); |
| | | BigDecimal returnPercent = new BigDecimal(returnPercentStr).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); |
| | | //本次返还金额 |
| | | BigDecimal returnAmount = amount.multiply(returnPercent); |
| | | BigDecimal returnAmount = amount.multiply(returnPercent).setScale(2,BigDecimal.ROUND_DOWN); |
| | | /** |
| | | * 如果本次返还金额大于剩余返还总金额 |
| | | */ |
| | |
| | | if(BigDecimal.ZERO.compareTo(avaAmount) >= 0){ |
| | | mallMemberStarBuyMapper.updateStatusById(2,mallMemberStarBuy.getId()); |
| | | List<MallMemberStarBuy> mallMemberStarBuysIng = mallMemberStarBuyMapper.selectByStatusAndMemberId(1,memberId); |
| | | //如果没有其他生效中的记录,则更新用户的星级 |
| | | //如果没有其他生效中的记录,则更新用户的星级为普通,更新会员代理等级为代理 |
| | | if(CollUtil.isEmpty(mallMemberStarBuysIng)){ |
| | | mallMemberMapper.updateAccountLevelById(MemberAccountLevelEnum.NORMAL.getName(), memberId); |
| | | |
| | | //如果代理等级为手动设置,则跳过该会员 |
| | | int levelStatus = ObjectUtil.isEmpty(mallMember.getLevelStatus()) ? 0 : 1; |
| | | if(1 == levelStatus){ |
| | | continue; |
| | | } |
| | | mallMemberMapper.updateLevelById(MemberAgentLevelEnum.AGENT.getName(),mallMember.getId()); |
| | | } |
| | | } |
| | | } |
| | |
| | | List<MallMember> agentLevelList = mallMemberMapper.selectByAccountLevel(levelSelf); |
| | | if(CollUtil.isNotEmpty(agentLevelList)){ |
| | | for(MallMember mallMember : agentLevelList){ |
| | | //如果代理等级为手动设置,则跳过该会员 |
| | | int levelStatus = ObjectUtil.isEmpty(mallMember.getLevelStatus()) ? 0 : 1; |
| | | if(1 == levelStatus){ |
| | | continue; |
| | | } |
| | | //有星级的直推 |
| | | Integer directCnt = mallMemberMapper.selectByRefererIdAndAccountLevel(mallMember.getInviteId(),MemberAccountLevelEnum.NORMAL.getName()); |
| | | //团队中星级会员数量 |