1、修改申请培训改为通过手机号查询userId

dev
shenzhidan 2026-01-22 15:25:20 +08:00
parent c7d4fafd1e
commit e0b278cc25
5 changed files with 51 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package com.zcloud.edu.gatewayimpl.training; package com.zcloud.edu.gatewayimpl.training;
import cn.hutool.core.util.StrUtil; 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.gateway.training.TrainingApplyUserGateway;
import com.zcloud.edu.domain.model.training.TrainingApplyUserE; import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -37,11 +39,21 @@ public class TrainingApplyUserGatewayImpl implements TrainingApplyUserGateway {
@Override @Override
public Boolean addBatch(List<TrainingApplyUserE> trainingApplyUserEList) { public Boolean addBatch(List<TrainingApplyUserE> trainingApplyUserEList) {
// 使用 Stream 流进行转换 if (CollectionUtils.isEmpty(trainingApplyUserEList)) return true;
List<String> phones = trainingApplyUserEList.stream().map(TrainingApplyUserE::getPhone).collect(Collectors.toList());
List<TrainingApplyUserDO> userDOS = trainingApplyUserRepository.getIdByPhones(phones);
Map<String, Long> userMap = userDOS.stream()
.collect(Collectors.toMap(
TrainingApplyUserDO::getPhone,
TrainingApplyUserDO::getUserId,
(v1, v2) -> v1
));
List<TrainingApplyUserDO> doList = trainingApplyUserEList.stream() List<TrainingApplyUserDO> doList = trainingApplyUserEList.stream()
.map(e -> { .map(e -> {
Long userId = userMap.get(e.getPhone());
TrainingApplyUserDO d = new TrainingApplyUserDO(Tools.get32UUID()); TrainingApplyUserDO d = new TrainingApplyUserDO(Tools.get32UUID());
BeanUtils.copyProperties(e, d, "trainingApplyUserId"); BeanUtils.copyProperties(e, d, "trainingApplyUserId");
d.setUserId(userId);
return d; return d;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());

View File

@ -21,5 +21,10 @@ public interface TrainingApplyUserMapper extends BaseMapper<TrainingApplyUserDO>
*/ */
List<TrainingApplyUserDO> selectByRecordId(@Param("trainingApplyRecordId") String trainingApplyRecordId); List<TrainingApplyUserDO> selectByRecordId(@Param("trainingApplyRecordId") String trainingApplyRecordId);
/**
*
*/
List<TrainingApplyUserDO> selectByPhoneList(@Param("phones") List<String> phone, @Param("corpinfoId") Long corpinfoId);
} }

View File

@ -1,5 +1,7 @@
package com.zcloud.edu.persistence.repository.impl; 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.jjb.saas.framework.repository.common.PageHelper;
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
import com.zcloud.edu.persistence.mapper.TrainingApplyUserMapper; import com.zcloud.edu.persistence.mapper.TrainingApplyUserMapper;
@ -41,5 +43,10 @@ public class TrainingApplyUserRepositoryImpl extends BaseRepositoryImpl<Training
public List<TrainingApplyUserDO> getByRecordId(String trainingApplyRecordId) { public List<TrainingApplyUserDO> getByRecordId(String trainingApplyRecordId) {
return trainingApplyUserMapper.selectByRecordId(trainingApplyRecordId); return trainingApplyUserMapper.selectByRecordId(trainingApplyRecordId);
} }
@Override
public List<TrainingApplyUserDO> getIdByPhones(List<String> phones) {
return trainingApplyUserMapper.selectByPhoneList(phones, AuthContext.getTenantId());
}
} }

View File

@ -20,5 +20,10 @@ public interface TrainingApplyUserRepository extends BaseRepository<TrainingAppl
* ID * ID
*/ */
List<TrainingApplyUserDO> getByRecordId(String trainingApplyRecordId); List<TrainingApplyUserDO> getByRecordId(String trainingApplyRecordId);
/**
* ID
*/
List<TrainingApplyUserDO> getIdByPhones(List<String> phones);
} }

View File

@ -28,6 +28,27 @@
tau.create_time ASC tau.create_time ASC
</select> </select>
<select id="selectByPhoneList" resultType="com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO">
SELECT
u.id as userId,
u.phone
FROM
`user` u
WHERE
u.corpinfo_id = #{corpinfoId}
<if test="phones != null and phones.size() > 0">
AND u.phone IN
<foreach collection="phones" item="phone" open="(" separator="," close=")">
#{phone}
</foreach>
</if>
<if test="phones == null or phones.size() == 0">
AND 1 = 0
</if>
</select>
</mapper> </mapper>