|
@@ -67,6 +67,7 @@ import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
@@ -696,22 +697,17 @@ public class ApiController {
|
|
|
if (CollUtil.isNotEmpty(ids)) {
|
|
|
List<WmScorePackage> packages = wmScorePackageService.listByIds(ids);
|
|
|
|
|
|
- // 记录统计状态对应的 积分包状态
|
|
|
// 已结算
|
|
|
- List<String> paidStatuses = Collections.singletonList(PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID.getScorePackageStatus());
|
|
|
+ paid = packages.stream()
|
|
|
+ .filter(pkg -> PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID.getSettleStatus().equals(String.valueOf(pkg.getSettleStatus())))
|
|
|
+ .map(WmScorePackage::getScore)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
// 待结算
|
|
|
- List<String> unpaidStatuses = StrUtil.split(PersonalScoreRecordVO.PersonalScoreRecordStatus.UNPAID.getScorePackageStatus(), StrUtil.COMMA);
|
|
|
-
|
|
|
- Map<PersonalScoreRecordVO.PersonalScoreRecordStatus, Integer> collect = packages.stream()
|
|
|
- .filter(pkg -> paidStatuses.contains(pkg.getScorePackageStatus()) || unpaidStatuses.contains(pkg.getScorePackageStatus()))
|
|
|
- .collect(Collectors.groupingBy(wmScorePackage -> PersonalScoreRecordVO.PersonalScoreRecordStatus.getByScorePackageStatus(wmScorePackage.getScorePackageStatus())))
|
|
|
- .entrySet().stream()
|
|
|
- .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().stream().mapToInt(WmScorePackage::getScore).sum()));
|
|
|
-
|
|
|
- if (CollUtil.isNotEmpty(collect)) {
|
|
|
- paid = collect.get(PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID) != null ? collect.get(PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID) : 0;
|
|
|
- unpaid = collect.get(PersonalScoreRecordVO.PersonalScoreRecordStatus.UNPAID) != null ? collect.get(PersonalScoreRecordVO.PersonalScoreRecordStatus.UNPAID) : 0;
|
|
|
- }
|
|
|
+ unpaid = packages.stream()
|
|
|
+ .filter(pkg -> !PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID.getSettleStatus().equals(String.valueOf(pkg.getSettleStatus())))
|
|
|
+ .filter(pkg -> StrUtil.split(PersonalScoreRecordVO.PersonalScoreRecordStatus.UNPAID.getScorePackageStatus(), StrUtil.COMMA).contains(pkg.getScorePackageStatus()))
|
|
|
+ .map(WmScorePackage::getScore)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
|
|
|
}
|
|
|
mapOne.put("paid", paid);
|
|
@@ -4401,8 +4397,6 @@ public class ApiController {
|
|
|
@RequestParam(value = "status", required = true) PersonalScoreRecordVO.PersonalScoreRecordStatus status) {
|
|
|
|
|
|
Integer userId = SecurityUtils.getUser().getId();
|
|
|
- // 记录统计状态对应的 积分包状态
|
|
|
- List<String> scorePackageStatuses = StrUtil.split(status.getScorePackageStatus(), StrUtil.COMMA);
|
|
|
|
|
|
// 获取当前用户任务领包记录
|
|
|
List<WmScorePackageStatus> packageStatuses = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
@@ -4417,7 +4411,16 @@ public class ApiController {
|
|
|
List<WmScorePackage> packages = wmScorePackageService.listByIds(ids);
|
|
|
// 转为map key-积分包id,value-积分包名称
|
|
|
Map<String, String> packageMap = packages.stream()
|
|
|
- .filter(pkg -> scorePackageStatuses.contains(pkg.getScorePackageStatus()))
|
|
|
+ .filter(pkg -> StrUtil.split(status.getScorePackageStatus(), StrUtil.COMMA).contains(pkg.getScorePackageStatus()))
|
|
|
+ .filter(pkg -> {
|
|
|
+ if (PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID.getSettleStatus().equals(String.valueOf(pkg.getSettleStatus()))) {
|
|
|
+ // 如果条件是已结算,则直接返回
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ // 如果是待结算,则过滤掉对应的积分包状态
|
|
|
+ return StrUtil.split(status.getScorePackageStatus(), StrUtil.COMMA).contains(pkg.getScorePackageStatus());
|
|
|
+ }
|
|
|
+ })
|
|
|
.collect(Collectors.toMap(WmScorePackage::getId, WmScorePackage::getScorePackageName));
|
|
|
|
|
|
if (CollUtil.isEmpty(packageMap)) {
|