|
@@ -20,6 +20,7 @@ package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
|
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatusBatch;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
@@ -37,8 +38,11 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -187,6 +191,63 @@ public class WmScorePackageStatusController {
|
|
|
return R.ok(wmScorePackageStatusService.approvalStatusBatch(statusBatch));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取批量审核的校验信息
|
|
|
+ * @param ids
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping(value = "/approvalStatus/checkout")
|
|
|
+ public R approvalStatusCheckout(@RequestParam(value = "ids") String ids){
|
|
|
+
|
|
|
+ List<String> idList = StrUtil.split(ids, StrUtil.COMMA);
|
|
|
+
|
|
|
+ List<WmScorePackageStatus> wmScorePackageStatuses = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
+ .in(WmScorePackageStatus::getId, idList));
|
|
|
+
|
|
|
+
|
|
|
+ Set<String> packageIds = wmScorePackageStatuses.stream()
|
|
|
+ .map(WmScorePackageStatus::getPackageId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+
|
|
|
+ List<WmScorePackage> packageList = wmScorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
+ .in(WmScorePackage::getId, packageIds));
|
|
|
+
|
|
|
+ Map<String, Integer> userNumMap = packageList.stream()
|
|
|
+ .collect(Collectors.toMap(WmScorePackage::getId, WmScorePackage::getUserNum));
|
|
|
+
|
|
|
+
|
|
|
+ List<WmScorePackageStatus> packageStatuses = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
+ .in(WmScorePackageStatus::getPackageId, packageIds));
|
|
|
+
|
|
|
+
|
|
|
+ Map<String, List<WmScorePackageStatus>> map = packageStatuses.stream()
|
|
|
+ .collect(Collectors.groupingBy(WmScorePackageStatus::getPackageId));
|
|
|
+
|
|
|
+ int operation = 0;
|
|
|
+ int remain = 0;
|
|
|
+ for (Map.Entry<String,List<WmScorePackageStatus>>entry : map.entrySet()){
|
|
|
+
|
|
|
+ String packageId = entry.getKey();
|
|
|
+
|
|
|
+ Integer userNum = userNumMap.get(packageId) == null ? 1 : userNumMap.get(packageId);
|
|
|
+
|
|
|
+ if (entry.getValue().size() <= userNum){
|
|
|
+ operation += 1;
|
|
|
+
|
|
|
+ } else {
|
|
|
+ remain += 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Map<String, Integer> result = new HashMap<>(2);
|
|
|
+ result.put("operation", operation);
|
|
|
+ result.put("remain",remain);
|
|
|
+
|
|
|
+ return R.ok(result);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 终止接单--区分全部收回,和部分收回
|
|
|
*
|