1、修改培训申请通过后新增培训人员逻辑
parent
944d980bf8
commit
8b79e9e36b
|
|
@ -21,4 +21,7 @@ public class TrainingApplyProcessNodeE {
|
|||
@ApiModelProperty(value = "时间")
|
||||
private String time;
|
||||
|
||||
@ApiModelProperty(value = "审批时间")
|
||||
private String approvalTime;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,12 +136,12 @@ public class TrainingApplyRecordE extends BaseE {
|
|||
public void addTrainingUser() {
|
||||
if (this.applyUsers == null) return;
|
||||
applyUsers.forEach(user -> {
|
||||
if (user != null && user.getApplyStatus().equals(ApplyStatusEnum.APPROVED.getCode())) {
|
||||
TrainingUserE trainingUser = new TrainingUserE();
|
||||
trainingUser.setTrainingUserId(IdUtil.simpleUUID());
|
||||
trainingUser.setPhone(user.getPhone());
|
||||
trainingUser.setApplyStatus(user.getApplyStatus());
|
||||
trainingUser.setExamineStatus(ExamineStatusEnum.PENDING.getCode());
|
||||
this.trainingUsers.add(trainingUser);
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -35,8 +36,25 @@ public class TrainingUserGatewayImpl implements TrainingUserGateway {
|
|||
|
||||
@Override
|
||||
public Boolean addBatch(List<TrainingUserE> trainingUserEList) {
|
||||
// 使用 Stream 流进行转换
|
||||
if (trainingUserEList == null || trainingUserEList.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
List<String> phones = trainingUserEList.stream()
|
||||
.map(TrainingUserE::getPhone)
|
||||
.filter(StrUtil::isNotBlank)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<TrainingUserDO> existingUsers = trainingUserRepository.lambdaQuery()
|
||||
.select(TrainingUserDO::getPhone)
|
||||
.in(TrainingUserDO::getPhone, phones)
|
||||
.list();
|
||||
Set<String> existingPhones = existingUsers.stream()
|
||||
.map(TrainingUserDO::getPhone)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
List<TrainingUserDO> doList = trainingUserEList.stream()
|
||||
.filter(e -> StrUtil.isNotBlank(e.getPhone())
|
||||
&& !existingPhones.contains(e.getPhone()))
|
||||
.map(e -> {
|
||||
TrainingUserDO d = new TrainingUserDO(Tools.get32UUID());
|
||||
BeanUtils.copyProperties(e, d, "trainingUserId");
|
||||
|
|
@ -44,7 +62,10 @@ public class TrainingUserGatewayImpl implements TrainingUserGateway {
|
|||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (!doList.isEmpty()) {
|
||||
trainingUserRepository.saveBatch(doList);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@
|
|||
tar.approval_status AS approvalStatus,
|
||||
u.username AS username,
|
||||
tap.apply_type AS applyType,
|
||||
DATE_FORMAT(tap.create_time, '%Y-%m-%d %H:%i:%s') AS time
|
||||
DATE_FORMAT(tap.create_time, '%Y-%m-%d %H:%i:%s') AS time,
|
||||
DATE_FORMAT(tap.update_time, '%Y-%m-%d %H:%i:%s') as approvalTime
|
||||
FROM
|
||||
training_apply_process tap
|
||||
LEFT JOIN
|
||||
|
|
|
|||
Loading…
Reference in New Issue