|
@@ -3447,8 +3447,31 @@ public class ApiController {
|
|
|
|
|
|
List<Map<String, Object>> listMap = new ArrayList<>();
|
|
|
|
|
|
+ if (CollUtil.isEmpty(statusList)) {
|
|
|
+ return R.ok(listMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询积分包
|
|
|
+ Set<String> packageIds = statusList.stream().map(WmScorePackageStatus::getPackageId).collect(Collectors.toSet());
|
|
|
+ List<WmScorePackage> scorePackages = wmScorePackageService.listByIds(packageIds);
|
|
|
+ Map<String, WmScorePackage> scorePackageMap = scorePackages.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
|
|
|
+ // 查询任务类型count
|
|
|
+// WmScoreTaskType taskType = new WmScoreTaskType();
|
|
|
+// taskType.setTaskTypeId(type);
|
|
|
+// taskType.setScoreId(wmScorePackage.getId());
|
|
|
+// List<WmScoreTaskType> taskTypes = wmScoreTaskTypeService.
|
|
|
+// list(Wrappers.query(taskType));
|
|
|
+ List<WmScoreTaskType> taskTypes = wmScoreTaskTypeService.list(Wrappers.<WmScoreTaskType>lambdaQuery()
|
|
|
+ .eq(WmScoreTaskType::getTaskTypeId, type)
|
|
|
+ .in(WmScoreTaskType::getScoreId, packageIds)
|
|
|
+ .select(WmScoreTaskType::getId));
|
|
|
+ Map<String, List<WmScoreTaskType>> taskTypesMap = new HashMap<>();
|
|
|
+ if (CollUtil.isNotEmpty(taskTypes)) {
|
|
|
+ taskTypesMap = taskTypes.stream().collect(Collectors.groupingBy(WmScoreTaskType::getScoreId));
|
|
|
+ }
|
|
|
+
|
|
|
for (WmScorePackageStatus item : statusList) {
|
|
|
- WmScorePackage wmScorePackage = wmScorePackageService.getById(item.getPackageId());
|
|
|
+ WmScorePackage wmScorePackage = scorePackageMap.get(item.getPackageId());
|
|
|
if (null != wmScorePackage) {
|
|
|
if ("0".equals(wmScorePackage.getTaskAddFlag())) {
|
|
|
continue;
|
|
@@ -3466,12 +3489,12 @@ public class ApiController {
|
|
|
/**
|
|
|
* 过滤有效任务类型
|
|
|
*/
|
|
|
- WmScoreTaskType taskType = new WmScoreTaskType();
|
|
|
- taskType.setTaskTypeId(type);
|
|
|
- taskType.setScoreId(wmScorePackage.getId());
|
|
|
+// WmScoreTaskType taskType = new WmScoreTaskType();
|
|
|
+// taskType.setTaskTypeId(type);
|
|
|
+// taskType.setScoreId(wmScorePackage.getId());
|
|
|
// List<WmScoreTaskType> taskTypes = wmScoreTaskTypeService.
|
|
|
// list(Wrappers.query(taskType));
|
|
|
- int total = wmScoreTaskTypeService.count(Wrappers.query(taskType));
|
|
|
+ int total = taskTypesMap.getOrDefault(wmScorePackage.getId(), Collections.emptyList()).size();
|
|
|
|
|
|
if (total != 0) {
|
|
|
Map<String, Object> map = new HashMap<>();
|