Просмотр исходного кода

feat: 获取管理积分包的任务数量关系

shc 9 месяцев назад
Родитель
Сommit
7d4ad2a60d

+ 12 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmPackageTaskTypeQtyService.java

@@ -3,10 +3,22 @@ package com.qunzhixinxi.hnqz.admin.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
 
+import java.util.Collection;
+import java.util.List;
+
 /**
  * 积分包任务类型数量
+ *
  * @author jimmy
  * @date 2024-08-18 12:30
  */
 public interface WmPackageTaskTypeQtyService extends IService<WmPackageTaskTypeQty> {
+
+    /**
+     * 获取积分包的任务类型数量关系
+     *
+     * @param pkgIds 积分包ID
+     * @return 管理列表
+     */
+    List<WmPackageTaskTypeQty> listPkgTaskTypeQtyByPkgIds(Collection<Integer> pkgIds);
 }

+ 16 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmPackageTaskTypeQtyServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
 import com.qunzhixinxi.hnqz.admin.mapper.WmPackageTaskTypeQtyMapper;
@@ -8,6 +9,9 @@ import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.Collection;
+import java.util.List;
+
 /**
  * 包任务类型数量服务实现
  *
@@ -18,4 +22,16 @@ import org.springframework.stereotype.Service;
 @Service
 @AllArgsConstructor
 public class WmPackageTaskTypeQtyServiceImpl extends ServiceImpl<WmPackageTaskTypeQtyMapper, WmPackageTaskTypeQty> implements WmPackageTaskTypeQtyService {
+
+
+    /**
+     * 获取积分包的任务类型数量关系
+     *
+     * @param pkgIds 积分包ID
+     * @return 管理列表
+     */
+    @Override
+    public List<WmPackageTaskTypeQty> listPkgTaskTypeQtyByPkgIds(Collection<Integer> pkgIds) {
+        return this.list(Wrappers.<WmPackageTaskTypeQty>lambdaQuery().in(WmPackageTaskTypeQty::getPackageId, pkgIds));
+    }
 }

+ 18 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackaeServiceImpl.java

@@ -663,10 +663,8 @@ public class WmScorePackaeServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
         if (CollUtil.isNotEmpty(packageList)) {
             Set<String> packageIdSet = packageList.stream().map(WmScorePackage::getId).collect(Collectors.toSet());
-            List<WmScoreTaskType> allTaskTypelist =
-                    wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(CollUtil.join(packageIdSet, ","));
-            Map<String, List<WmScoreTaskType>> scoreTaskTypeMap = allTaskTypelist.stream()
-                    .collect(Collectors.groupingBy(WmScoreTaskType::getScoreId));
+            List<WmScoreTaskType> allTaskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(CollUtil.join(packageIdSet, ","));
+            Map<String, List<WmScoreTaskType>> scoreTaskTypeMap = allTaskTypelist.stream().collect(Collectors.groupingBy(WmScoreTaskType::getScoreId));
             for (WmScorePackage wmScorePackage1 : packageList) {
 //			List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(wmScorePackage1.getId());
                 List<WmScoreTaskType> taskTypelist = scoreTaskTypeMap.get(wmScorePackage1.getId());
@@ -712,6 +710,7 @@ public class WmScorePackaeServiceImpl extends ServiceImpl<WmScorePackageMapper,
             packageList.add(wmScorePackage1);
         }
 
+
         // 获取积分包的试卷
         List<Integer> pkgIds = packageList.stream().map(pkg -> Integer.parseInt(pkg.getId())).collect(Collectors.toList());
         List<WmPkgQuizRelation> quizRelations = pkgQuizRelationService.listQuizRelationsByPkgIds(pkgIds);
@@ -726,6 +725,21 @@ public class WmScorePackaeServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
         }
 
+        // 获取积分包的任务类型数量
+        List<WmPackageTaskTypeQty> packageTaskTypeQtyList = packageTaskTypeQtyService.listPkgTaskTypeQtyByPkgIds(pkgIds);
+
+        if (CollUtil.isNotEmpty(packageTaskTypeQtyList)) {
+            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());
+                    pkg.setPkgTaskTypeQtyList(CollUtil.isNotEmpty(relations) ? collect1 : Collections.emptyList());
+                }
+            });
+        }
+
 
         log.info("查询关联积分包值+拼装参数总耗时:{}ms", System.currentTimeMillis() - start);