| | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<CouponTemplateVO> getActivityEffectList(QueryActivityEffectCouponDTO dto) { |
| | | public List<CouponTemplateVO> getActivityEffectListWithMine(QueryActivityEffectCouponDTO dto) { |
| | | // 1.点击领取,优惠券状态变成灰色+已领取(根据web端优惠券限领次数判断) |
| | | //2.把已领取的优惠券按照领取时间排列到最下面 |
| | | List<CouponTemplateVO> list= couponTemplateMapperCustom.getActivityEffectListWithMine(dto); |
| | | |
| | | return couponTemplateMapperCustom.getActivityEffectList(dto); |
| | | // 将列表分为已经领取和未领取的,根据getYetFlag来判断,下面的所有操作都要判空 |
| | | if(CollectionUtils.isNotEmpty(list)){ |
| | | // 遍历列表,查看当前的优惠券是否已经达到领取次数,如果是则为true,不是为false |
| | | list.forEach(item->{ |
| | | if (item != null) { |
| | | item.setGetYetFlag(false); |
| | | if (null != item.getGetNum() && null != item.getGetLimit() && item.getGetNum() >= item.getGetLimit()) { |
| | | item.setGetYetFlag(true); |
| | | } |
| | | } |
| | | }); |
| | | List<CouponTemplateVO> getYetList = list.stream().filter(item->item.getGetYetFlag()).collect(Collectors.toList()); |
| | | List<CouponTemplateVO> getNotYetList = list.stream().filter(item->!item.getGetYetFlag()).collect(Collectors.toList()); |
| | | list.clear(); |
| | | if(CollectionUtils.isNotEmpty(getNotYetList)){ |
| | | // 将未领取的根据create_time 倒序排序 |
| | | getNotYetList.sort(Comparator.comparing(CouponTemplateVO::getCreateTime).reversed()); |
| | | // 将未领取和已领取的合并成新list返回 |
| | | list.addAll(getNotYetList); |
| | | } |
| | | if(CollectionUtils.isNotEmpty(getYetList)){ |
| | | // 将已经领取的根据recordCreateTime 时间正序排 |
| | | getYetList.sort(Comparator.comparing(CouponTemplateVO::getRecordCreateTime)); |
| | | list.addAll(getYetList); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | @Override |
| | | public List<CouponTemplateVO> getActivityEffectList(QueryActivityEffectCouponDTO dto) { |
| | | return couponTemplateMapperCustom.getActivityEffectListWithMine(dto); |
| | | } |
| | | |
| | | } |