| | |
| | | */ |
| | | @Override |
| | | public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto) { |
| | | List<Activeness> activenessList = remoteConfigService.listActiveness().getData(); |
| | | if (StringUtils.isNotBlank(merMemberPageDto.getMemberActiveness())) { |
| | | Activeness activeness = remoteConfigService.getActivenessByName(merMemberPageDto.getMemberActiveness()).getData(); |
| | | if (activeness != null) { |
| | | Date nowDay = DateUtils.getNowDate(); |
| | | String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); |
| | | String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); |
| | | merMemberPageDto.setActStartDate(actStartDate); |
| | | merMemberPageDto.setActEndDate(actEndDate); |
| | | if(!activenessList.isEmpty()){ |
| | | for(Activeness activeness : activenessList){ |
| | | if(activeness.getActivenessName().equals(merMemberPageDto.getMemberActiveness())){ |
| | | Date nowDay = DateUtils.getNowDate(); |
| | | String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); |
| | | String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); |
| | | merMemberPageDto.setActStartDate(actStartDate); |
| | | merMemberPageDto.setActEndDate(actEndDate); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page, merMemberPageDto); |
| | | //处理活跃度返回 |
| | | if (merMemberPageVoList != null && !merMemberPageVoList.isEmpty()) { |
| | | if (activenessList != null && !activenessList.isEmpty()) { |
| | | //生成活跃度时间段列表 |
| | | List<MgtActivenessJudgeVo> mgtActivenessJudgeVoList = new ArrayList<>(); |
| | | MgtActivenessJudgeVo mgtActivenessJudgeVo; |
| | | for (Activeness activeness : activenessList) { |
| | | mgtActivenessJudgeVo = new MgtActivenessJudgeVo(); |
| | | mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay())); |
| | | mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1)); |
| | | mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName()); |
| | | } |
| | | //活跃度赋值 |
| | | Date lastPayTime; |
| | | for (MerMemberPageVo mgtMemberPageVo : merMemberPageVoList) { |
| | | lastPayTime = mgtMemberPageVo.getLastPayTime(); |
| | | StringJoiner sj = new StringJoiner(","); |
| | | if (lastPayTime != null) { |
| | | for (MgtActivenessJudgeVo entity : mgtActivenessJudgeVoList) { |
| | | if (lastPayTime.compareTo(entity.getStartDay()) >= 0 && lastPayTime.compareTo(entity.getEndDay()) <= 0) { |
| | | sj.add(entity.getActivenessName()); |
| | | } |
| | | } |
| | | if (sj.length() > 0) { |
| | | mgtMemberPageVo.setMemberActiveness(sj.toString()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return merMemberPageVoList; |
| | | } |
| | | |