|
@@ -729,18 +729,33 @@ public class WmScorePackaeServiceImpl extends ServiceImpl<WmScorePackageMapper,
|
|
|
List<WmPackageTaskTypeQty> packageTaskTypeQtyList = packageTaskTypeQtyService.listPkgTaskTypeQtyByPkgIds(pkgIds);
|
|
|
|
|
|
if (CollUtil.isNotEmpty(packageTaskTypeQtyList)) {
|
|
|
+
|
|
|
+ // 获取子集包
|
|
|
+ List<WmScorePackage> wmScorePackages = wmScorePackageMapper.selectList(Wrappers.<WmScorePackage>lambdaQuery().in(WmScorePackage::getRelationScoreId, pkgIds));
|
|
|
+ Set<Integer> collect2 = wmScorePackages.stream().map(WmScorePackage::getId).map(Integer::valueOf).collect(Collectors.toSet());
|
|
|
+ Map<Integer, List<WmPackageTaskTypeQty>> collect3 = packageTaskTypeQtyService.listPkgTaskTypeQtyByPkgIds(collect2).stream().collect(Collectors.groupingBy(WmPackageTaskTypeQty::getTaskTypeId));
|
|
|
+
|
|
|
+
|
|
|
Map<Integer, List<WmPackageTaskTypeQty>> collect = packageTaskTypeQtyList.stream().collect(Collectors.groupingBy(WmPackageTaskTypeQty::getPackageId));
|
|
|
|
|
|
packageList.forEach(pkg -> {
|
|
|
List<WmPackageTaskTypeQty> relations = collect.get(Integer.parseInt(pkg.getId()));
|
|
|
if (CollUtil.isNotEmpty(relations)) {
|
|
|
- List<Map<String, Object>> collect1 = relations.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
|
|
|
+ List<Map<String, Object>> collect1 = relations.stream().map( rel -> {
|
|
|
+ Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rel);
|
|
|
+ List<WmPackageTaskTypeQty> qtyList = collect3.get(rel.getTaskTypeId());
|
|
|
+ stringObjectMap.put("used", CollUtil.isEmpty(qtyList) ? 0 : qtyList.stream().mapToInt(WmPackageTaskTypeQty::getQty).sum());
|
|
|
+ return stringObjectMap;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
pkg.setPkgTaskTypeQtyList(CollUtil.isNotEmpty(relations) ? collect1 : Collections.emptyList());
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
log.info("查询关联积分包值+拼装参数总耗时:{}ms", System.currentTimeMillis() - start);
|
|
|
|
|
|
return R.ok(packageList);
|