Преглед изворни кода

Merge branch 'import_250116' of http://git.dayaedu.com/yonge/cooleshow into develop-new

zouxuan пре 5 месеци
родитељ
комит
6dd0175063

+ 14 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/execl/analysis/StudentImportAnalysis.java

@@ -8,6 +8,7 @@ import com.google.common.collect.Maps;
 import com.microsvc.toolkit.middleware.excel.analysis.AnalysisContext;
 import com.microsvc.toolkit.middleware.excel.analysis.DataAnalysis;
 import com.microsvc.toolkit.middleware.excel.util.DownloadManager;
+import com.yonge.cooleshow.biz.dal.entity.TenantGroup;
 import com.yonge.cooleshow.biz.dal.execl.entity.StudentImportWrapper;
 import com.yonge.cooleshow.biz.dal.execl.listener.StudentImportListener;
 import com.yonge.cooleshow.biz.dal.service.EasyExcelService;
@@ -38,7 +39,7 @@ public class StudentImportAnalysis extends DataAnalysis<StudentImportAnalysis> {
     private final Map<String, StudentImportWrapper.StudentImport> recordMap = Maps.newHashMap();
     private final Map<String, Long> subjectMap = Maps.newHashMap();
     private final Map<String, Long> tenantMap = Maps.newHashMap();
-    private final Map<String, Long> tenantGroupMap = Maps.newHashMap();
+    private final Map<String, List<TenantGroup>> tenantGroupMap = Maps.newHashMap();
     private final List<String> phones = Lists.newArrayList();
     private final List<String> existPhones = Lists.newArrayList();
     public StudentImportAnalysis(AnalysisContext context) {
@@ -154,10 +155,19 @@ public class StudentImportAnalysis extends DataAnalysis<StudentImportAnalysis> {
             if (StringUtils.isEmpty(item.getTenantGroupName())) {
                 ret.append("小组名称不能为空;");
             }else {
-                if (!tenantGroupMap.containsKey(item.getTenantName())) {
-                    ret.append("小组名称无效:").append(item.getTenantName());
+                if (!tenantGroupMap.containsKey(item.getTenantGroupName())) {
+                    ret.append("小组名称无效:").append(item.getTenantGroupName());
+                }
+                List<TenantGroup> tenantGroups = tenantGroupMap.get(item.getTenantGroupName());
+                //根据机构id和小组名称获取小组id
+                if (CollectionUtils.isNotEmpty(tenantGroups)) {
+                    TenantGroup tenantGroup = tenantGroups.stream().filter(t -> t.getTenantId().equals(item.getTenantId())).findFirst().orElse(null);
+                    if (Objects.nonNull(tenantGroup)) {
+                        item.setTenantGroupId(tenantGroup.getId());
+                    } else {
+                        ret.append("小组名称无效:").append(item.getTenantGroupName());
+                    }
                 }
-                item.setTenantGroupId(tenantGroupMap.get(item.getTenantName()));
             }
             if (StringUtils.isNotEmpty(ret)) {
                 verifyDataMap.put(item.getRowIndex(), ret.toString());

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/EasyExcelService.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.service;
 import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.TenantAccountRecord;
 import com.yonge.cooleshow.biz.dal.entity.TenantAlbum;
+import com.yonge.cooleshow.biz.dal.entity.TenantGroup;
 import com.yonge.cooleshow.biz.dal.execl.entity.EntitlementsImport;
 import com.yonge.cooleshow.biz.dal.wrapper.StudentWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
@@ -38,7 +39,7 @@ public interface EasyExcelService {
     void importEntitlements(List<EntitlementsImport> entitlementsImports,Long createId);
 
     //获取小组map
-    Map<String,Long> getTenantGroupMap();
+    Map<String,List<TenantGroup>> getTenantGroupMap();
 
     //根据手机号获取已存在的老师手机号
     List<String> getPhones(List<String> phones, String userType);

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/EasyExcelServiceImpl.java

@@ -168,9 +168,9 @@ public class EasyExcelServiceImpl implements EasyExcelService {
     }
 
     @Override
-    public Map<String, Long> getTenantGroupMap() {
+    public Map<String, List<TenantGroup>> getTenantGroupMap() {
         List<TenantGroup> list = tenantGroupService.lambdaQuery().list();
-        return CollectionUtils.isEmpty(list) ? null : list.stream().collect(Collectors.toMap(TenantGroup::getName, TenantGroup::getId));
+        return CollectionUtils.isEmpty(list) ? null : list.stream().collect(Collectors.groupingBy(TenantGroup::getName));
     }
 
     @Override