|
@@ -780,19 +780,28 @@ public class WmPackageManager {
|
|
|
|
|
|
List<String> packageIds = packages.stream().map(WmScorePackage::getId).collect(Collectors.toList());
|
|
List<String> packageIds = packages.stream().map(WmScorePackage::getId).collect(Collectors.toList());
|
|
|
|
|
|
- // 查询已知会信息
|
|
|
|
|
|
+ // 查询已知会信息(一阶段知会的只能二阶段看到,二阶段知会的只能三阶段看到)
|
|
List<WmPackageRedemptionNotice> redemptionNotices = packageRedemptionNoticeService.list(
|
|
List<WmPackageRedemptionNotice> redemptionNotices = packageRedemptionNoticeService.list(
|
|
Wrappers.<WmPackageRedemptionNotice>lambdaQuery().in(WmPackageRedemptionNotice::getPackageId, packageIds)
|
|
Wrappers.<WmPackageRedemptionNotice>lambdaQuery().in(WmPackageRedemptionNotice::getPackageId, packageIds)
|
|
.eq(step > 1, WmPackageRedemptionNotice::getStep, step - 1)
|
|
.eq(step > 1, WmPackageRedemptionNotice::getStep, step - 1)
|
|
|
|
+ .ne(step > 1, WmPackageRedemptionNotice::getStep, step + 1)
|
|
.notIn(WmPackageRedemptionNotice::getCheckState, CheckState.REJECTED.getState()));
|
|
.notIn(WmPackageRedemptionNotice::getCheckState, CheckState.REJECTED.getState()));
|
|
|
|
|
|
Map<Integer, List<Integer>> noticePkgMap =
|
|
Map<Integer, List<Integer>> noticePkgMap =
|
|
redemptionNotices.stream().collect(Collectors.groupingBy(WmPackageRedemptionNotice::getStep,
|
|
redemptionNotices.stream().collect(Collectors.groupingBy(WmPackageRedemptionNotice::getStep,
|
|
Collectors.mapping(WmPackageRedemptionNotice::getPackageId, Collectors.toList())));
|
|
Collectors.mapping(WmPackageRedemptionNotice::getPackageId, Collectors.toList())));
|
|
|
|
|
|
- if (step > 1) {
|
|
|
|
|
|
+ if (step == 2) {
|
|
|
|
+ List<Integer> secondNoticedPkgIds = noticePkgMap.get(2);
|
|
|
|
+ List<Integer> thirdNoticedPkgIds = noticePkgMap.get(3);
|
|
|
|
+ // 二阶段获取上一阶段已知会的包, 但不获取三阶段已知会的包
|
|
|
|
+ return packages.stream().filter(pkg -> CollUtil.isNotEmpty(secondNoticedPkgIds)
|
|
|
|
+ && secondNoticedPkgIds.contains(Integer.parseInt(pkg.getId()))
|
|
|
|
+ && (CollUtil.isEmpty(thirdNoticedPkgIds) || !thirdNoticedPkgIds.contains(Integer.parseInt(pkg.getId()))))
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ } else if (step > 2) {
|
|
List<Integer> noticedPkgIds = noticePkgMap.get(step - 1);
|
|
List<Integer> noticedPkgIds = noticePkgMap.get(step - 1);
|
|
- // 二阶段、三阶段获取上一阶段已知会的包
|
|
|
|
|
|
+ // 三阶段获取上一阶段已知会的包
|
|
return packages.stream()
|
|
return packages.stream()
|
|
.filter(
|
|
.filter(
|
|
pkg -> CollUtil.isNotEmpty(noticedPkgIds) && noticedPkgIds.contains(Integer.parseInt(pkg.getId())))
|
|
pkg -> CollUtil.isNotEmpty(noticedPkgIds) && noticedPkgIds.contains(Integer.parseInt(pkg.getId())))
|