diff --git a/lesingle-creation-backend/src/main/java/com/lesingle/modules/biz/contest/service/impl/ContestServiceImpl.java b/lesingle-creation-backend/src/main/java/com/lesingle/modules/biz/contest/service/impl/ContestServiceImpl.java index 1f1fd1e..2a445ed 100644 --- a/lesingle-creation-backend/src/main/java/com/lesingle/modules/biz/contest/service/impl/ContestServiceImpl.java +++ b/lesingle-creation-backend/src/main/java/com/lesingle/modules/biz/contest/service/impl/ContestServiceImpl.java @@ -21,7 +21,9 @@ import com.lesingle.modules.biz.contest.mapper.ContestMapper; import com.lesingle.modules.biz.contest.mapper.ContestRegistrationMapper; import com.lesingle.modules.biz.contest.mapper.ContestWorkMapper; import com.lesingle.modules.biz.contest.service.IContestService; +import com.lesingle.modules.biz.review.entity.BizContestReviewRule; import com.lesingle.modules.biz.review.entity.BizContestWorkJudgeAssignment; +import com.lesingle.modules.biz.review.mapper.ContestReviewRuleMapper; import com.lesingle.modules.biz.review.mapper.ContestWorkJudgeAssignmentMapper; import com.lesingle.modules.sys.entity.SysTenant; import com.lesingle.modules.sys.mapper.SysTenantMapper; @@ -46,6 +48,7 @@ public class ContestServiceImpl extends ServiceImpl i private final ContestRegistrationMapper contestRegistrationMapper; private final ContestWorkMapper contestWorkMapper; private final ContestWorkJudgeAssignmentMapper contestWorkJudgeAssignmentMapper; + private final ContestReviewRuleMapper contestReviewRuleMapper; private final SysTenantMapper sysTenantMapper; // 支持两种日期格式:ISO 格式 (T 分隔) 和空格分隔格式 @@ -302,6 +305,22 @@ public class ContestServiceImpl extends ServiceImpl i result.put("contestTenantInfos", tenantInfoList); } + // 嵌套评审规则(与评委端活动详情一致,供前端「每作品评委数」等使用) + if (contest.getReviewRuleId() != null) { + BizContestReviewRule rule = contestReviewRuleMapper.selectById(contest.getReviewRuleId()); + if (rule != null) { + Map ruleMap = new LinkedHashMap<>(); + ruleMap.put("id", rule.getId()); + ruleMap.put("tenantId", rule.getTenantId()); + ruleMap.put("ruleName", rule.getRuleName()); + ruleMap.put("ruleDescription", rule.getRuleDescription()); + ruleMap.put("judgeCount", rule.getJudgeCount()); + ruleMap.put("dimensions", rule.getDimensions()); + ruleMap.put("calculationRule", rule.getCalculationRule()); + result.put("reviewRule", ruleMap); + } + } + return result; } diff --git a/lesingle-creation-frontend/src/views/contests/components/AddJudgeDrawer.vue b/lesingle-creation-frontend/src/views/contests/components/AddJudgeDrawer.vue index caefe83..889d3a6 100644 --- a/lesingle-creation-frontend/src/views/contests/components/AddJudgeDrawer.vue +++ b/lesingle-creation-frontend/src/views/contests/components/AddJudgeDrawer.vue @@ -55,15 +55,21 @@