wuzhen update zsjy2

This commit is contained in:
“wuzhen” committed 2026-06-30 17:22:33 +08:00
1 parent a591a0c022
commit ba17da9dc1
1 file changed
+40 -1
@@ -16,7 +16,9 @@ import org.dromara.zsjy.domain.bo.ZsjyEnrollmentProcessBo;
import org.dromara.zsjy.domain.vo.ZsjyEnrollmentProcessVo;
import org.dromara.zsjy.domain.vo.ZsjyEnrollmentRegisterExportVo;
import org.dromara.zsjy.domain.ZsjyEnrollmentProcess;
import org.dromara.zsjy.domain.ZsjyEnrollmentInfo;
import org.dromara.zsjy.mapper.ZsjyEnrollmentProcessMapper;
import org.dromara.zsjy.mapper.ZsjyEnrollmentInfoMapper;
import org.dromara.zsjy.service.IZsjyEnrollmentProcessService;
import java.util.List;
@@ -24,6 +26,7 @@ import java.util.Collection;
import java.util.Date;
import java.util.Set;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.text.SimpleDateFormat;
/**
@@ -37,7 +40,11 @@ import java.text.SimpleDateFormat;
@Service
public class ZsjyEnrollmentProcessServiceImpl implements IZsjyEnrollmentProcessService {
/** 报名状态:待审核 */
private static final String ENROLLMENT_STATUS_PENDING = "0";
private final ZsjyEnrollmentProcessMapper baseMapper;
private final ZsjyEnrollmentInfoMapper enrollmentInfoMapper;
/**
* 查询招生录取流程状态
@@ -167,10 +174,42 @@ public class ZsjyEnrollmentProcessServiceImpl implements IZsjyEnrollmentProcessS
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (ids == null || ids.isEmpty()) {
return false;
}
if (isValid) {
// 可以添加删除前的校验逻辑
}
return baseMapper.deleteBatchIds(ids) > 0;
Set<Long> enrollmentIds = new LinkedHashSet<>();
for (Long id : ids) {
ZsjyEnrollmentProcess process = baseMapper.selectById(id);
if (process != null && process.getEnrollmentId() != null) {
enrollmentIds.add(process.getEnrollmentId());
}
}
boolean deleted = baseMapper.deleteBatchIds(ids) > 0;
if (deleted) {
for (Long enrollmentId : enrollmentIds) {
revertEnrollmentToPendingAudit(enrollmentId);
}
}
return deleted;
}
/**
* 删除流程后,将对应报名信息回退为待审核状态(不触发流程同步,避免重新创建流程)
*/
private void revertEnrollmentToPendingAudit(Long enrollmentId) {
ZsjyEnrollmentInfo enrollmentInfo = enrollmentInfoMapper.selectById(enrollmentId);
if (enrollmentInfo == null) {
log.warn("删除流程后回退报名状态失败,报名记录不存在,enrollmentId={}", enrollmentId);
return;
}
enrollmentInfo.setEnrollmentStatus(ENROLLMENT_STATUS_PENDING);
enrollmentInfoMapper.updateById(enrollmentInfo);
log.info("删除流程后已将报名ID:{} 状态回退为待审核", enrollmentId);
}
/**