diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java index 6c40d26..f8dff3f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingApplyUserGatewayImpl.java @@ -1,6 +1,7 @@ package com.zcloud.edu.gatewayimpl.training; import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway; import com.zcloud.edu.domain.model.training.TrainingApplyUserE; import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; @@ -14,6 +15,7 @@ import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -37,11 +39,21 @@ public class TrainingApplyUserGatewayImpl implements TrainingApplyUserGateway { @Override public Boolean addBatch(List trainingApplyUserEList) { - // 使用 Stream 流进行转换 + if (CollectionUtils.isEmpty(trainingApplyUserEList)) return true; + List phones = trainingApplyUserEList.stream().map(TrainingApplyUserE::getPhone).collect(Collectors.toList()); + List userDOS = trainingApplyUserRepository.getIdByPhones(phones); + Map userMap = userDOS.stream() + .collect(Collectors.toMap( + TrainingApplyUserDO::getPhone, + TrainingApplyUserDO::getUserId, + (v1, v2) -> v1 + )); List doList = trainingApplyUserEList.stream() .map(e -> { + Long userId = userMap.get(e.getPhone()); TrainingApplyUserDO d = new TrainingApplyUserDO(Tools.get32UUID()); BeanUtils.copyProperties(e, d, "trainingApplyUserId"); + d.setUserId(userId); return d; }) .collect(Collectors.toList()); diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java index f0f1e25..c65e498 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyUserMapper.java @@ -21,5 +21,10 @@ public interface TrainingApplyUserMapper extends BaseMapper */ List selectByRecordId(@Param("trainingApplyRecordId") String trainingApplyRecordId); + /** + * 根据手机号集合查询用户信息 + */ + List selectByPhoneList(@Param("phones") List phone, @Param("corpinfoId") Long corpinfoId); + } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java index a638fbb..01d1645 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyUserRepositoryImpl.java @@ -1,5 +1,7 @@ package com.zcloud.edu.persistence.repository.impl; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.repository.common.PageHelper; import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; import com.zcloud.edu.persistence.mapper.TrainingApplyUserMapper; @@ -41,5 +43,10 @@ public class TrainingApplyUserRepositoryImpl extends BaseRepositoryImpl getByRecordId(String trainingApplyRecordId) { return trainingApplyUserMapper.selectByRecordId(trainingApplyRecordId); } + + @Override + public List getIdByPhones(List phones) { + return trainingApplyUserMapper.selectByPhoneList(phones, AuthContext.getTenantId()); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java index c332271..9f207e1 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyUserRepository.java @@ -20,5 +20,10 @@ public interface TrainingApplyUserRepository extends BaseRepository getByRecordId(String trainingApplyRecordId); + + /** + * 根据批量手机号查询用户ID + */ + List getIdByPhones(List phones); } diff --git a/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml index d0be71e..49f04cb 100644 --- a/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TrainingApplyUserMapper.xml @@ -28,6 +28,27 @@ tau.create_time ASC + +