|
@@ -79,6 +79,7 @@ import java.time.format.DateTimeFormatter;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.concurrent.Future;
|
|
import java.util.concurrent.Future;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.qunzhixinxi.hnqz.admin.enums.ReportEnum.REPORT_STATUS_END;
|
|
import static com.qunzhixinxi.hnqz.admin.enums.ReportEnum.REPORT_STATUS_END;
|
|
@@ -1319,9 +1320,37 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ private WmScorePackage getRemainScore(String pkgId){
|
|
|
|
+
|
|
|
|
+ List<WmScorePackage> packages = this.list(Wrappers.<WmScorePackage>lambdaQuery().eq(WmScorePackage::getDelFlag, "0").eq(WmScorePackage::getEnableFlag, "0"));
|
|
|
|
+
|
|
|
|
+ // List<WmScorePackage> allParentPkg = packages.stream().filter(p -> Objects.isNull(p.getRelationScoreId())).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ Map<String, List<WmScorePackage>> relMap = packages.stream().filter(p -> Objects.nonNull(p.getRelationScoreId())).collect(Collectors.groupingBy(WmScorePackage::getRelationScoreId));
|
|
|
|
+
|
|
|
|
+ packages.forEach(p -> {
|
|
|
|
+ List<WmScorePackage> scorePackages = relMap.get(p.getId());
|
|
|
|
+ int sum = 0;
|
|
|
|
+ if (CollUtil.isNotEmpty(scorePackages)){
|
|
|
|
+ sum = scorePackages.stream().mapToInt(WmScorePackage::getScore).sum();
|
|
|
|
+ }
|
|
|
|
+ if (Objects.nonNull(p.getScore())) {
|
|
|
|
+ p.setScore(p.getScore() - sum);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return packages.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity())).get(pkgId);
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public R getScorePackagePageById(WmScorePackage wmScorePackage) {
|
|
public R getScorePackagePageById(WmScorePackage wmScorePackage) {
|
|
- wmScorePackage = wmScorePackageMapper.getScorePackagePageById(wmScorePackage.getId());
|
|
|
|
|
|
+
|
|
|
|
+ wmScorePackage = getRemainScore( wmScorePackage.getId());
|
|
|
|
+
|
|
|
|
+ // wmScorePackage = wmScorePackageMapper.getScorePackagePageById(wmScorePackage.getId());
|
|
|
|
+ //
|
|
|
|
+
|
|
//wmScorePackage=this.getById(wmScorePackage.getId());
|
|
//wmScorePackage=this.getById(wmScorePackage.getId());
|
|
if (StringUtil.isEmpty(wmScorePackage.getRelationScoreId())) {
|
|
if (StringUtil.isEmpty(wmScorePackage.getRelationScoreId())) {
|
|
wmScorePackage.setRelationScoreId("-1");
|
|
wmScorePackage.setRelationScoreId("-1");
|