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