fix:添加作品编号,报名账号,评分字段
This commit is contained in:
parent
170d904081
commit
f2c10d5e32
@ -113,6 +113,7 @@ public class ContestWorkServiceImpl extends ServiceImpl<ContestWorkMapper, BizCo
|
|||||||
work.setStatus("submitted");
|
work.setStatus("submitted");
|
||||||
work.setSubmitTime(LocalDateTime.now());
|
work.setSubmitTime(LocalDateTime.now());
|
||||||
work.setSubmitterUserId(submitterId);
|
work.setSubmitterUserId(submitterId);
|
||||||
|
work.setSubmitterAccountNo(registration.getAccountNo());
|
||||||
work.setPreviewUrl(dto.getPreviewUrl());
|
work.setPreviewUrl(dto.getPreviewUrl());
|
||||||
work.setPreviewUrls(dto.getPreviewUrls());
|
work.setPreviewUrls(dto.getPreviewUrls());
|
||||||
work.setAiModelMeta(dto.getAiModelMeta());
|
work.setAiModelMeta(dto.getAiModelMeta());
|
||||||
|
|||||||
@ -6,8 +6,10 @@ import com.competition.common.enums.ErrorCode;
|
|||||||
import com.competition.common.exception.BusinessException;
|
import com.competition.common.exception.BusinessException;
|
||||||
import com.competition.common.result.PageResult;
|
import com.competition.common.result.PageResult;
|
||||||
import com.competition.modules.biz.contest.entity.BizContest;
|
import com.competition.modules.biz.contest.entity.BizContest;
|
||||||
|
import com.competition.modules.biz.contest.entity.BizContestRegistration;
|
||||||
import com.competition.modules.biz.contest.entity.BizContestWork;
|
import com.competition.modules.biz.contest.entity.BizContestWork;
|
||||||
import com.competition.modules.biz.contest.mapper.ContestMapper;
|
import com.competition.modules.biz.contest.mapper.ContestMapper;
|
||||||
|
import com.competition.modules.biz.contest.mapper.ContestRegistrationMapper;
|
||||||
import com.competition.modules.biz.contest.mapper.ContestWorkMapper;
|
import com.competition.modules.biz.contest.mapper.ContestWorkMapper;
|
||||||
import com.competition.modules.biz.review.dto.CreateScoreDto;
|
import com.competition.modules.biz.review.dto.CreateScoreDto;
|
||||||
import com.competition.modules.biz.review.entity.BizContestJudge;
|
import com.competition.modules.biz.review.entity.BizContestJudge;
|
||||||
@ -42,6 +44,7 @@ public class ContestReviewServiceImpl implements IContestReviewService {
|
|||||||
private final ContestJudgeMapper judgeMapper;
|
private final ContestJudgeMapper judgeMapper;
|
||||||
private final ContestWorkMapper workMapper;
|
private final ContestWorkMapper workMapper;
|
||||||
private final ContestMapper contestMapper;
|
private final ContestMapper contestMapper;
|
||||||
|
private final ContestRegistrationMapper registrationMapper;
|
||||||
private final ContestReviewRuleMapper reviewRuleMapper;
|
private final ContestReviewRuleMapper reviewRuleMapper;
|
||||||
private final SysUserMapper sysUserMapper;
|
private final SysUserMapper sysUserMapper;
|
||||||
|
|
||||||
@ -377,19 +380,39 @@ public class ContestReviewServiceImpl implements IContestReviewService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 批量查询报名信息,用于补充submitterAccountNo
|
||||||
|
Set<Long> registrationIds = workMap.values().stream()
|
||||||
|
.map(BizContestWork::getRegistrationId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
Map<Long, String> regAccountMap = new HashMap<>();
|
||||||
|
if (!registrationIds.isEmpty()) {
|
||||||
|
List<BizContestRegistration> registrations = registrationMapper.selectBatchIds(registrationIds);
|
||||||
|
for (BizContestRegistration r : registrations) {
|
||||||
|
regAccountMap.put(r.getId(), r.getAccountNo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 组装VO并应用筛选
|
// 组装VO并应用筛选
|
||||||
List<Map<String, Object>> voList = new ArrayList<>();
|
List<Map<String, Object>> voList = new ArrayList<>();
|
||||||
for (BizContestWorkJudgeAssignment a : assignments) {
|
for (BizContestWorkJudgeAssignment a : assignments) {
|
||||||
BizContestWork work = workMap.get(a.getWorkId());
|
BizContestWork work = workMap.get(a.getWorkId());
|
||||||
if (work == null) continue;
|
if (work == null) continue;
|
||||||
|
|
||||||
|
// 优先取作品上的账号,为空则从报名记录补充
|
||||||
|
String submitterAcc = work.getSubmitterAccountNo();
|
||||||
|
if (submitterAcc == null && work.getRegistrationId() != null) {
|
||||||
|
submitterAcc = regAccountMap.get(work.getRegistrationId());
|
||||||
|
}
|
||||||
|
|
||||||
// workNo筛选
|
// workNo筛选
|
||||||
if (StringUtils.hasText(workNo) && !work.getWorkNo().contains(workNo)) {
|
if (StringUtils.hasText(workNo) && (work.getWorkNo() == null
|
||||||
|
|| !work.getWorkNo().contains(workNo))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// accountNo筛选
|
// accountNo筛选
|
||||||
if (StringUtils.hasText(accountNo) && work.getSubmitterAccountNo() != null
|
if (StringUtils.hasText(accountNo) && (submitterAcc == null
|
||||||
&& !work.getSubmitterAccountNo().contains(accountNo)) {
|
|| !submitterAcc.contains(accountNo))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -402,7 +425,7 @@ public class ContestReviewServiceImpl implements IContestReviewService {
|
|||||||
map.put("title", work.getTitle());
|
map.put("title", work.getTitle());
|
||||||
map.put("previewUrl", work.getPreviewUrl());
|
map.put("previewUrl", work.getPreviewUrl());
|
||||||
map.put("previewUrls", work.getPreviewUrls());
|
map.put("previewUrls", work.getPreviewUrls());
|
||||||
map.put("submitterAccountNo", work.getSubmitterAccountNo());
|
map.put("submitterAccountNo", submitterAcc);
|
||||||
|
|
||||||
BizContestWorkScore scoreRecord = scoreMap.get(a.getId());
|
BizContestWorkScore scoreRecord = scoreMap.get(a.getId());
|
||||||
if (scoreRecord != null) {
|
if (scoreRecord != null) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user